- 27 Jun, 2020 2 commits
-
-
Sergei Morozov authored
Remove ServerInfoAwareConnection#requiresQueryForServerVersion() as an implementation detail
-
Sergei Morozov authored
Testing the implementations of this method requires partial mocking of the implementing class which makes it impossible to make them `final` (#3590). Additionally, this API breaks the encapsulation of the driver layer: instead of exposing the fact of whether the connection will perform a query to detect the server version, the driver should just instantiate a platform corresponding to a connection. The rationale behind introducing this method (#487) is really questionable: > This is also required for drivers that cannot return the database server version without an additional query (performance reasons). 1. There's no evidence that an underlying driver that exposes the server version via its API doesn't make a request of any kind to the server. 2. For an application that works with any realistic database, a query like `SELECT VERSION()` wouldn't be a performance bottleneck. 3. Even if it was, it's always possible to specify the platform version upfront. Otherwise, the current logic of falling back to a default platform may cause undefined behavior of the application (we don't test the compatibility of the lowest level of the DBAL platform with all supported server versions). Remember, “If it doesn’t work, it doesn’t matter how fast it doesn’t work.”
-
- 26 Jun, 2020 3 commits
-
-
Sergei Morozov authored
Preparation to marking OCI8 driver classes final
-
Sergei Morozov authored
Remove DriverException::getErrorCode()
-
Sergei Morozov authored
-
- 25 Jun, 2020 5 commits
-
-
Sergei Morozov authored
-
Sergei Morozov authored
The existing relationship between the connection and its statement violate the ISP principle. Instead of having access only to the execution mode of the connection, statements have access to the entire connection API. Having a method which is not defined in the driver connection interface makes it impossible to mark the method `final` (#3590).
-
Sergei Morozov authored
Remove the suppressed errors that PHPStan no longer reports
-
Sergei Morozov authored
-
Sergei Morozov authored
-
- 24 Jun, 2020 5 commits
-
-
Sergei Morozov authored
Deprecate inconsistently and ambiguously named driver-level classes
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
- 23 Jun, 2020 4 commits
-
-
Sergei Morozov authored
-
Sergei Morozov authored
Update PHPStan to 0.12.30
-
Sergei Morozov authored
-
Sergei Morozov authored
-
- 21 Jun, 2020 2 commits
-
-
Sergei Morozov authored
-
Sergei Morozov authored
-
- 20 Jun, 2020 18 commits
-
-
Sergei Morozov authored
-
Sergei Morozov authored
The test forward-incompatible statement must be a wrapper statement, not just implement the driver-level interface
-
Sergei Morozov authored
-
Grégoire Paris authored
Bump Psalm level to 5
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
- 19 Jun, 2020 1 commit
-
-
Sergei Morozov authored
Make the $database argument of OracleSchemaManager::createDatabase() mandatory
-