- 21 Mar, 2020 1 commit
-
-
Sergei Morozov authored
-
- 26 Jan, 2020 1 commit
-
-
Sergei Morozov authored
-
- 25 Jan, 2020 1 commit
-
-
Benjamin Morel authored
-
- 22 Jan, 2020 1 commit
-
-
Sergei Morozov authored
-
- 17 Jan, 2020 1 commit
-
-
Benjamin Morel authored
-
- 16 Jan, 2020 1 commit
-
-
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); } ```
-
- 15 Jan, 2020 1 commit
-
-
Benjamin Morel authored
-
- 03 Jan, 2020 1 commit
-
-
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.
-
- 30 Dec, 2019 3 commits
-
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
- 02 Nov, 2019 18 commits
-
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Michael Moravec authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Michael Moravec authored
Extract Doctrine\DBAL\DBALException::notSupported() Extract Doctrine\DBAL\DBALException::invalidPlatformVersionSpecified() Extract Doctrine\DBAL\DBALException::invalidPdoInstance() Extract Doctrine\DBAL\DBALException::invalidWrapperClass() Extract Doctrine\DBAL\DBALException::invalidDriverClass() Extract Doctrine\DBAL\DBALException::invalidTableName() Extract Doctrine\DBAL\DBALException::noColumnsSpecifiedForTable() Extract Doctrine\DBAL\DBALException::typeExists() Extract Doctrine\DBAL\DBALException::typeAlreadyRegistered() Extract Doctrine\DBAL\DBALException::typeNotRegistered() Extract Doctrine\DBAL\DBALException::unknownColumnType() Extract Doctrine\DBAL\DBALException::typeNotFound() Extract Doctrine\DBAL\DBALException::invalidPlatformType() Extract Doctrine\DBAL\DBALException::driverRequired() Extract Doctrine\DBAL\DBALException::unknownDriver() Extract Doctrine\DBAL\DBALException::invalidColumnIndex() Extract Doctrine\DBAL\Exception\ConnectionException::commitFailedRollbackOnly() Extract Doctrine\DBAL\Exception\ConnectionException::noActiveTransaction() Extract Doctrine\DBAL\Exception\ConnectionException::savepointsNotSupported() Extract Doctrine\DBAL\Exception\ConnectionException::mayNotAlterNestedTransactionWithSavepointsInTransaction() Extract Doctrine\DBAL\Exception\InvalidArgumentException::fromEmptyCriteria() Extract Doctrine\DBAL\Type\ConversionException::conversionFailed() Extract Doctrine\DBAL\Type\ConversionException::conversionFailedFormat() Extract Doctrine\DBAL\Type\ConversionException::conversionFailedInvalidType() Extract Doctrine\DBAL\Type\ConversionException::conversionFailedSerialization() Extract Doctrine\DBAL\Query\QueryException::unknownAlias() Extract Doctrine\DBAL\Query\QueryException::nonUniqueAlias() Extract Doctrine\DBAL\Sharding\ShardingException::notImplemented() Extract Doctrine\DBAL\Sharding\ShardingException::missingDefaultFederationName() Extract Doctrine\DBAL\Sharding\ShardingException::missingDefaultDistributionKey() Extract Doctrine\DBAL\Sharding\ShardingException::activeTransaction() Extract Doctrine\DBAL\Sharding\ShardingException::noShardDistributionValue() Extract Doctrine\DBAL\Sharding\ShardingException::missingDistributionType() Extract Doctrine\DBAL\Cache\CacheException::noCacheKey() Extract Doctrine\DBAL\Cache\CacheException::noResultDriverConfigured() Extract Doctrine\DBAL\Schema\SchemaException::tableDoesNotExist() Extract Doctrine\DBAL\Schema\SchemaException::indexNameInvalid() Extract Doctrine\DBAL\Schema\SchemaException::indexDoesNotExist() Extract Doctrine\DBAL\Schema\SchemaException::indexAlreadyExists() Extract Doctrine\DBAL\Schema\SchemaException::columnDoesNotExist() Extract Doctrine\DBAL\Schema\SchemaException::namespaceAlreadyExists() Extract Doctrine\DBAL\Schema\SchemaException::tableAlreadyExists() Extract Doctrine\DBAL\Schema\SchemaException::columnAlreadyExists() Extract Doctrine\DBAL\Schema\SchemaException::sequenceAlreadyExists() Extract Doctrine\DBAL\Schema\SchemaException::sequenceDoesNotExist() Extract Doctrine\DBAL\Schema\SchemaException::uniqueConstraintDoesNotExist() Extract Doctrine\DBAL\Schema\SchemaException::foreignKeyDoesNotExist() Extract Doctrine\DBAL\Schema\SchemaException::namedForeignKeyRequired() Extract Doctrine\DBAL\SQLParserUtilsException::missingParam() Extract Doctrine\DBAL\SQLParserUtilsException::missingType() Drop Doctrine\DBAL\DBALException::invalidPlatformSpecified() Drop Doctrine\DBAL\DBALException::limitOffsetInvalid() Drop Doctrine\DBAL\Schema\SchemaException::alterTableChangeNotSupported()
-
Sergei Morozov authored
-
Michael Moravec authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Michael Moravec authored
-
Sergei Morozov authored
-
Sergei Morozov authored
-
Benjamin Morel authored
-
Benjamin Morel authored
-
- 31 Oct, 2019 1 commit
-
-
Sergei Morozov authored
-
- 14 Oct, 2019 1 commit
-
-
Konstantin Kalinin authored
When the connection is lost or is closed, subsequent transaction will no longer be nested because they started in a brand new session. Our internal representation of the nesting shold take this into account
-
- 26 Jun, 2019 1 commit
-
-
Andrej Hudec authored
-
- 22 May, 2019 1 commit
-
-
Sergei Morozov authored
-
- 17 Apr, 2019 1 commit
-
-
Jonathan H. Wage authored
using params in query cache key generation.
-
- 17 Mar, 2019 1 commit
-
-
Ahmed Abdou authored
-
- 03 Feb, 2019 1 commit
-
-
Sergei Morozov authored
-
- 29 Jan, 2019 1 commit
-
-
Sergei Morozov authored
-
- 22 Jan, 2019 1 commit
-
-
Sergei Morozov authored
-
- 20 Jan, 2019 1 commit
-
-
Sergei Morozov authored
-
- 07 Oct, 2018 1 commit
-
-
Sergei Morozov authored
-