@@ -30,22 +30,6 @@ The statement implementations no longer detect whether `$params` is a zero- or o
...
@@ -30,22 +30,6 @@ The statement implementations no longer detect whether `$params` is a zero- or o
The `ServerInfoAwareConnection::requiresQueryForServerVersion()` method has been removed as an implementation detail which is the same for almost all supported drivers.
The `ServerInfoAwareConnection::requiresQueryForServerVersion()` method has been removed as an implementation detail which is the same for almost all supported drivers.
## BC BREAK: Removed support for PostgreSQL 9.3 and older
DBAL now requires PostgeSQL 9.4 or newer, support for unmaintained versions has been dropped.
If you are using any of the legacy versions, you have to upgrade to newer PostgreSQL version (9.6+ is recommended).
`Doctrine\DBAL\Platforms\PostgreSqlPlatform` and `Doctrine\DBAL\Platforms\Keywords\PostgreSQLKeywords` now represent the PostgreSQL 9.4.
## BC BREAK: Removed support for MariaDB 10.0 and older
The Doctrine\DBAL\Version class is no longer available: please refrain from checking the DBAL version at runtime.
DBAL now requires MariaDB 10.1 or newer, support for unmaintained versions has been dropped.
If you are using any of the legacy versions, you have to upgrade to a newer MariaDB version (10.1+ is recommended).
## BC BREAK: Removed Drizzle support
## BC BREAK: PingableConnection and ServerInfoAwareConnection interfaces now extend Connection
The Drizzle project is abandoned and is therefore not supported by Doctrine DBAL anymore.
All implementations of the `PingableConnection` and `ServerInfoAwareConnection` interfaces have to implement the methods defined in the `Connection` interface as well.
## BC BREAK: SQLLogger changes
## BC BREAK: VersionAwarePlatformDriver interface now extends Driver
- The `SQLLogger` interface has changed; the methods are the same but use scalar type hints, return types, and non-nullable arrays.
All implementations of the `VersionAwarePlatformDriver` interface have to implement the methods defined in the `Driver` interface as well.
-`SQLLogger` implementations: `DebugStack`, `EchoSQLLogger`, `LoggerChain` are now final.
-`Configuration::getSQLLogger()` does not return `null` anymore, but a `NullLogger` implementation.
-`Configuration::setSQLLogger()` does not allow `null` anymore.
## BC BREAK: Changes to handling binary fields
## BC BREAK: Removed MsSQLKeywords class
- Binary fields whose length exceeds the maximum field size on a given platform are no longer represented as `BLOB`s.
The `Doctrine\DBAL\Platforms\MsSQLKeywords` class has been removed.
Use binary fields of a size which fits all target platforms, or use blob explicitly instead.
Please use `Doctrine\DBAL\Platforms\SQLServerPlatform `instead.
- Binary fields are no longer represented as streams in PHP. They are represented as strings.
# Upgrade to 3.0
## BC BREAK: Removed PDO DB2 driver
## BC BREAK: PingableConnection and ServerInfoAwareConnection interfaces now extend Connection
This PDO-based IBM DB2 driver (built on top of `pdo_ibm` extension) has already been unsupported as of 2.5, it has been now removed.
All implementations of the `PingableConnection` and `ServerInfoAwareConnection` interfaces have to implement the methods defined in the `Connection` interface as well.
The following class has been removed:
## BC BREAK: VersionAwarePlatformDriver interface now extends Driver
*`Doctrine\DBAL\Driver\PDOIbm\Driver`
All implementations of the `VersionAwarePlatformDriver` interface have to implement the methods defined in the `Driver` interface as well.
## BC BREAK: Removed support for SQL Server 2008 and older
DBAL now requires SQL Server 2012 or newer, support for unmaintained versions has been dropped.
If you are using any of the legacy versions, you have to upgrade to a newer SQL Server version.
The `AbstractSQLServerDriver` class and its subclasses no longer implement the `VersionAwarePlatformDriver` interface.
## BC BREAK: Removed Doctrine\DBAL\Version
## BC BREAK: Removed Doctrine\DBAL\Version
...
@@ -396,6 +380,10 @@ After:
...
@@ -396,6 +380,10 @@ After:
$stmt->bindValue(1, 1, ParameterType::INTEGER);
$stmt->bindValue(1, 1, ParameterType::INTEGER);
$stmt->fetchAll(FetchMode::COLUMN);
$stmt->fetchAll(FetchMode::COLUMN);
## BC BREAK: Removed Drizzle support
The Drizzle project is abandoned and is therefore not supported by Doctrine DBAL anymore.
## BC BREAK: Removed dbal:import CLI command
## BC BREAK: Removed dbal:import CLI command
The `dbal:import` CLI command has been removed since it only worked with PDO-based drivers by relying on a non-documented behavior of the extension, and it was impossible to make it work with other drivers.
The `dbal:import` CLI command has been removed since it only worked with PDO-based drivers by relying on a non-documented behavior of the extension, and it was impossible to make it work with other drivers.
...
@@ -407,6 +395,24 @@ Please use other database client applications for import, e.g.:
...
@@ -407,6 +395,24 @@ Please use other database client applications for import, e.g.:
# Upgrade to 2.11
# Upgrade to 2.11
## Deprecated database platforms:
1. PostgreSQL 9.3 and older
2. MariaDB 10.0 and older
3. SQL Server 2008 and older
4. SQL Anywhere 12 and older
5. Drizzle
6. Azure SQL Database
## Deprecated database drivers:
1. PDO-based IBM DB2 driver
2. Drizzle MySQL driver
## Deprecated `Doctrine\DBAL\Sharding` package
The sharding functionality in DBAL has been effectively unmaintained for a long time.
## Deprecated `Doctrine\DBAL\Version` class
## Deprecated `Doctrine\DBAL\Version` class
The usage of the `Doctrine\DBAL\Version` class is deprecated as internal implementation detail. Please refrain from checking the DBAL version at runtime.
The usage of the `Doctrine\DBAL\Version` class is deprecated as internal implementation detail. Please refrain from checking the DBAL version at runtime.