- 16 Jan, 2020 3 commits
-
-
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 3 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
-
Jonathan H. Wage authored
-
- 30 Dec, 2019 5 commits
-
-
Sergei Morozov authored
Support ForeignKeyConstraintViolationException in SQLite
-
Benjamin Morel authored
-
Sergei Morozov authored
Fix typos in SQLite
-
Benjamin Morel authored
-
Benjamin Morel authored
-
- 29 Dec, 2019 5 commits
-
-
Sergei Morozov authored
fixed unqualified table name of fk constraints when using schemas
-
Sergei Morozov authored
Remove superfluous Configuration instance
-
S38151 authored
-
Sergei Morozov authored
Document MySQL error codes
-
Benjamin Morel authored
-
- 23 Dec, 2019 2 commits
-
-
Benjamin Morel authored
-
Benjamin Morel authored
-
- 22 Dec, 2019 1 commit
-
-
Marius Ghita authored
A configuration instance is not strictly required by [DriverManager::getConnection](https://github.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/DriverManager.php#L139). As an upside, it doesn't add an extra warning for people that use Psalm/PHPmd when starting off from the documentation example. As the Configuration class has an `@internal` block those tools threat it as the other meaning for `@internal`, as in class that is [internal to the library and not for public use](https://docs.phpdoc.org/references/phpdoc/tags/internal.html).
-