- 21 Jan, 2020 2 commits
-
-
Sergei Morozov authored
Introduce From class in QueryBuilder
-
Benjamin Morel authored
-
- 20 Jan, 2020 2 commits
-
-
Sergei Morozov authored
Fix phpstan error
-
Benjamin Morel authored
-
- 18 Jan, 2020 2 commits
-
-
Sergei Morozov authored
Introduce Join class in QueryBuilder
-
Benjamin Morel authored
-
- 17 Jan, 2020 2 commits
-
-
Sergei Morozov authored
Fix phpstan errors
-
Benjamin Morel authored
-
- 16 Jan, 2020 9 commits
-
-
Sergei Morozov authored
Fix some whitelisted PHPStan errors
-
Sergei Morozov authored
Removed Connection::project()
-
Sergei Morozov authored
The methods has more limitations and caveats than provides real use: 1. It fetches all data in memory which is often inefficient (see #2718). 2. It fetches rows in memory one by one instead of using `fetchAll()`. 4. It doesn't allow to specify the statement fetch mode since it's instantiated internally. 5. It can be easily replaced with: ```php foreach ($conn->executeQuery($query, $params, $types) as $value) { yield $function($value); } ```
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
Fix phpstan errors
-
- 15 Jan, 2020 1 commit
-
-
Benjamin Morel authored
-
- 13 Jan, 2020 3 commits
-
-
Marco Pivetta authored
Removed the OCI8Connection::getExecuteMode() method
-
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).
-
Marco Pivetta authored
Made the OCI8Statement class final
-
- 12 Jan, 2020 5 commits
-
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Marco Pivetta authored
Refactored MySQLiStatement::$columnNames
-
Sergei Morozov authored
The `$columnNames` property has a too complex type `string[]|false|null` which leads to: 1. Non-trivial to understand conditions and assertions like `if ($columnNames === false)`, `if ($columnNames === true)` and `assert(is_array($columnNames))`. 2. Avoidable [false-positives](https://scrutinizer-ci.com/g/doctrine/dbal/inspections/20d1aea4-2217-4f38-8adc-5ce10fa9cf0b/issues/files/lib/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php?status=new&orderField=path&order=asc&honorSelectedPaths=0) on Scrutinizer that thinks that `$columnNames` can be TRUE.
-
Sergei Morozov authored
Make classes final where applicable.
-
- 11 Jan, 2020 2 commits
-
-
Jonathan H. Wage authored
-
Jonathan H. Wage authored
-
- 10 Jan, 2020 2 commits
-
-
Sergei Morozov authored
Fix documented return type
-
Benjamin Morel authored
-
- 08 Jan, 2020 1 commit
-
-
Sergei Morozov authored
Removed ServerInfoAwareConnection#requiresQueryForServerVersion() as implementation detail
-
- 04 Jan, 2020 3 commits
-
-
Sergei Morozov authored
Change the branch alias of master from 3.0.x-dev to 4.0.x-dev
-
Sergei Morozov authored
-
Sergei Morozov authored
Refactor FK exception tests
-
- 03 Jan, 2020 2 commits
-
-
Benjamin Morel authored
-
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.” In addition to the above, the only driver that doesn't support the platform version detection via the underlying driver API is `sqsql` which is barely supported.
-
- 02 Jan, 2020 1 commit
-
-
Sergei Morozov authored
-
- 01 Jan, 2020 1 commit
-
-
Sergei Morozov authored
Removed deprecation leftovers
-
- 31 Dec, 2019 2 commits
-
-
Sergei Morozov authored
1. `SqliteSchemaManager#_getPortableTableColumnList()` was mistakenly marked `@deprecated` instead of `#_getPortableTableIndexDefinition()` in #3565. 2. `OracleSchemaManager#_getPortableDatabaseDefinition()` was mistakenly marked `@deprecated` instead of `#_getPortableFunctionDefinition()` in #3565. 3. The deprecation message in the `OracleSchemaManager#createDatabase()` description is irrelevant as of #3565.
-
Sergei Morozov authored
Remove deprecated stuff for 3.0
-