Deprecate the usage of the legacy platforms and drivers

parent 3b0e9429
# 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.
......
...@@ -50,25 +50,25 @@ Oracle ...@@ -50,25 +50,25 @@ Oracle
Microsoft SQL Server Microsoft SQL Server
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
- ``SQLServerPlatform`` for version 2000 and above. - ``SQLServerPlatform`` for version 2000 and above (deprecated).
- ``SQLServer2005Platform`` for version 2005 and above. - ``SQLServer2005Platform`` for version 2005 and above (deprecated).
- ``SQLServer2008Platform`` for version 2008 and above. - ``SQLServer2008Platform`` for version 2008 and above (deprecated).
- ``SQLServer2012Platform`` for version 2012 and above. - ``SQLServer2012Platform`` for version 2012 and above.
PostgreSQL PostgreSQL
^^^^^^^^^^ ^^^^^^^^^^
- ``PostgreSqlPlatform`` for all versions. - ``PostgreSqlPlatform`` for version 9.0 and below (deprecated).
- ``PostgreSQL91Platform`` for version 9.1 and above. - ``PostgreSQL91Platform`` for version 9.1 and above (deprecated).
- ``PostgreSQL92Platform`` for version 9.2 and above. - ``PostgreSQL92Platform`` for version 9.2 and above (deprecated).
- ``PostgreSQL94Platform`` for version 9.4 and above. - ``PostgreSQL94Platform`` for version 9.4 and above.
SAP Sybase SQL Anywhere SAP Sybase SQL Anywhere
^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^
- ``SQLAnywherePlatform`` for version 10 and above. - ``SQLAnywherePlatform`` for version 10 and above (deprecated).
- ``SQLAnywhere11Platform`` for version 11 and above. - ``SQLAnywhere11Platform`` for version 11 and above (deprecated).
- ``SQLAnywhere12Platform`` for version 12 and above. - ``SQLAnywhere12Platform`` for version 12 and above (deprecated).
- ``SQLAnywhere16Platform`` for version 16 and above. - ``SQLAnywhere16Platform`` for version 16 and above.
SQLite SQLite
...@@ -79,7 +79,7 @@ SQLite ...@@ -79,7 +79,7 @@ SQLite
Drizzle Drizzle
^^^^^^ ^^^^^^
- ``DrizzlePlatform`` for all versions. - ``DrizzlePlatform`` for all versions (deprecated).
It is highly encouraged to use the platform class that matches your It is highly encouraged to use the platform class that matches your
database vendor and version best. Otherwise it is not guaranteed database vendor and version best. Otherwise it is not guaranteed
...@@ -113,4 +113,3 @@ all the different database vendors, for example MySQL BIGINT and ...@@ -113,4 +113,3 @@ all the different database vendors, for example MySQL BIGINT and
Oracle NUMBER should be handled as integer. Doctrine 2 offers a Oracle NUMBER should be handled as integer. Doctrine 2 offers a
powerful way to abstract the database to php and back conversion, powerful way to abstract the database to php and back conversion,
which is described in the next section. which is described in the next section.
...@@ -5,6 +5,9 @@ namespace Doctrine\DBAL\Driver\DrizzlePDOMySql; ...@@ -5,6 +5,9 @@ namespace Doctrine\DBAL\Driver\DrizzlePDOMySql;
use Doctrine\DBAL\Driver\PDOConnection; use Doctrine\DBAL\Driver\PDOConnection;
use Doctrine\DBAL\ParameterType; use Doctrine\DBAL\ParameterType;
/**
* @deprecated
*/
class Connection extends PDOConnection class Connection extends PDOConnection
{ {
/** /**
......
...@@ -7,6 +7,8 @@ use Doctrine\DBAL\Schema\DrizzleSchemaManager; ...@@ -7,6 +7,8 @@ use Doctrine\DBAL\Schema\DrizzleSchemaManager;
/** /**
* Drizzle driver using PDO MySql. * Drizzle driver using PDO MySql.
*
* @deprecated
*/ */
class Driver extends \Doctrine\DBAL\Driver\PDOMySql\Driver class Driver extends \Doctrine\DBAL\Driver\PDOMySql\Driver
{ {
......
...@@ -7,6 +7,8 @@ use Doctrine\DBAL\Driver\PDOConnection; ...@@ -7,6 +7,8 @@ use Doctrine\DBAL\Driver\PDOConnection;
/** /**
* Driver for the PDO IBM extension. * Driver for the PDO IBM extension.
*
* @deprecated Use the driver based on the ibm_db2 extension instead.
*/ */
class Driver extends AbstractDB2Driver class Driver extends AbstractDB2Driver
{ {
......
...@@ -23,6 +23,8 @@ use function trim; ...@@ -23,6 +23,8 @@ use function trim;
/** /**
* Drizzle platform * Drizzle platform
*
* @deprecated
*/ */
class DrizzlePlatform extends AbstractPlatform class DrizzlePlatform extends AbstractPlatform
{ {
......
...@@ -6,6 +6,8 @@ use function explode; ...@@ -6,6 +6,8 @@ use function explode;
/** /**
* Provides the behavior, features and SQL dialect of the PostgreSQL 9.1 database platform. * Provides the behavior, features and SQL dialect of the PostgreSQL 9.1 database platform.
*
* @deprecated Use PostgreSQL 9.4 or newer
*/ */
class PostgreSQL91Platform extends PostgreSqlPlatform class PostgreSQL91Platform extends PostgreSqlPlatform
{ {
......
...@@ -7,6 +7,8 @@ use function sprintf; ...@@ -7,6 +7,8 @@ use function sprintf;
/** /**
* Provides the behavior, features and SQL dialect of the PostgreSQL 9.2 database platform. * Provides the behavior, features and SQL dialect of the PostgreSQL 9.2 database platform.
*
* @deprecated Use PostgreSQL 9.4 or newer
*/ */
class PostgreSQL92Platform extends PostgreSQL91Platform class PostgreSQL92Platform extends PostgreSQL91Platform
{ {
......
...@@ -35,6 +35,8 @@ use function trim; ...@@ -35,6 +35,8 @@ use function trim;
/** /**
* PostgreSqlPlatform. * PostgreSqlPlatform.
* *
* @deprecated Use PostgreSQL 9.4 or newer
*
* @todo Rename: PostgreSQLPlatform * @todo Rename: PostgreSQLPlatform
*/ */
class PostgreSqlPlatform extends AbstractPlatform class PostgreSqlPlatform extends AbstractPlatform
......
...@@ -5,6 +5,8 @@ namespace Doctrine\DBAL\Platforms; ...@@ -5,6 +5,8 @@ namespace Doctrine\DBAL\Platforms;
/** /**
* The SQLAnywhere11Platform provides the behavior, features and SQL dialect of the * The SQLAnywhere11Platform provides the behavior, features and SQL dialect of the
* SAP Sybase SQL Anywhere 11 database platform. * SAP Sybase SQL Anywhere 11 database platform.
*
* @deprecated Use SQLAnywhere 16 or newer
*/ */
class SQLAnywhere11Platform extends SQLAnywherePlatform class SQLAnywhere11Platform extends SQLAnywherePlatform
{ {
......
...@@ -8,6 +8,8 @@ use Doctrine\DBAL\Schema\Sequence; ...@@ -8,6 +8,8 @@ use Doctrine\DBAL\Schema\Sequence;
/** /**
* The SQLAnywhere12Platform provides the behavior, features and SQL dialect of the * The SQLAnywhere12Platform provides the behavior, features and SQL dialect of the
* SAP Sybase SQL Anywhere 12 database platform. * SAP Sybase SQL Anywhere 12 database platform.
*
* @deprecated Use SQLAnywhere 16 or newer
*/ */
class SQLAnywhere12Platform extends SQLAnywhere11Platform class SQLAnywhere12Platform extends SQLAnywhere11Platform
{ {
......
...@@ -33,6 +33,8 @@ use function substr; ...@@ -33,6 +33,8 @@ use function substr;
/** /**
* The SQLAnywherePlatform provides the behavior, features and SQL dialect of the * The SQLAnywherePlatform provides the behavior, features and SQL dialect of the
* SAP Sybase SQL Anywhere 10 database platform. * SAP Sybase SQL Anywhere 10 database platform.
*
* @deprecated Use SQLAnywhere 16 or newer
*/ */
class SQLAnywherePlatform extends AbstractPlatform class SQLAnywherePlatform extends AbstractPlatform
{ {
......
...@@ -10,6 +10,8 @@ use Doctrine\DBAL\Schema\Table; ...@@ -10,6 +10,8 @@ use Doctrine\DBAL\Schema\Table;
* On top of SQL Server 2008 the following functionality is added: * On top of SQL Server 2008 the following functionality is added:
* *
* - Create tables with the FEDERATED ON syntax. * - Create tables with the FEDERATED ON syntax.
*
* @deprecated
*/ */
class SQLAzurePlatform extends SQLServer2008Platform class SQLAzurePlatform extends SQLServer2008Platform
{ {
......
...@@ -15,6 +15,8 @@ namespace Doctrine\DBAL\Platforms; ...@@ -15,6 +15,8 @@ namespace Doctrine\DBAL\Platforms;
* NVARCHAR(max) replace the old TEXT, NTEXT and IMAGE types. See * NVARCHAR(max) replace the old TEXT, NTEXT and IMAGE types. See
* {@link http://www.sql-server-helper.com/faq/sql-server-2005-varchar-max-p01.aspx} * {@link http://www.sql-server-helper.com/faq/sql-server-2005-varchar-max-p01.aspx}
* for more information. * for more information.
*
* @deprecated Use SQL Server 2012 or newer
*/ */
class SQLServer2005Platform extends SQLServerPlatform class SQLServer2005Platform extends SQLServerPlatform
{ {
......
...@@ -7,6 +7,8 @@ namespace Doctrine\DBAL\Platforms; ...@@ -7,6 +7,8 @@ namespace Doctrine\DBAL\Platforms;
* *
* Differences to SQL Server 2005 and before are that a new DATETIME2 type was * Differences to SQL Server 2005 and before are that a new DATETIME2 type was
* introduced that has a higher precision. * introduced that has a higher precision.
*
* @deprecated Use SQL Server 2012 or newer
*/ */
class SQLServer2008Platform extends SQLServer2005Platform class SQLServer2008Platform extends SQLServer2005Platform
{ {
......
...@@ -38,6 +38,8 @@ use function substr_count; ...@@ -38,6 +38,8 @@ use function substr_count;
/** /**
* The SQLServerPlatform provides the behavior, features and SQL dialect of the * The SQLServerPlatform provides the behavior, features and SQL dialect of the
* Microsoft SQL Server database platform. * Microsoft SQL Server database platform.
*
* @deprecated Use SQL Server 2012 or newer
*/ */
class SQLServerPlatform extends AbstractPlatform class SQLServerPlatform extends AbstractPlatform
{ {
......
...@@ -32,6 +32,8 @@ use function is_string; ...@@ -32,6 +32,8 @@ use function is_string;
* *
* Instantiation through the DriverManager looks like: * Instantiation through the DriverManager looks like:
* *
* @deprecated
*
* @example * @example
* *
* $conn = DriverManager::getConnection(array( * $conn = DriverManager::getConnection(array(
......
...@@ -7,6 +7,8 @@ use RuntimeException; ...@@ -7,6 +7,8 @@ use RuntimeException;
/** /**
* Shard Manager for the Connection Pooling Shard Strategy * Shard Manager for the Connection Pooling Shard Strategy
*
* @deprecated
*/ */
class PoolingShardManager implements ShardManager class PoolingShardManager implements ShardManager
{ {
......
...@@ -20,6 +20,8 @@ use function array_merge; ...@@ -20,6 +20,8 @@ use function array_merge;
* by partitioning the passed schema into subschemas for the federation and the * by partitioning the passed schema into subschemas for the federation and the
* global database and then applying the operations step by step using the * global database and then applying the operations step by step using the
* {@see \Doctrine\DBAL\Schema\Synchronizer\SingleDatabaseSynchronizer}. * {@see \Doctrine\DBAL\Schema\Synchronizer\SingleDatabaseSynchronizer}.
*
* @deprecated
*/ */
class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer class SQLAzureFederationsSynchronizer extends AbstractSchemaSynchronizer
{ {
......
...@@ -11,6 +11,8 @@ use function sprintf; ...@@ -11,6 +11,8 @@ use function sprintf;
/** /**
* Sharding using the SQL Azure Federations support. * Sharding using the SQL Azure Federations support.
*
* @deprecated
*/ */
class SQLAzureShardManager implements ShardManager class SQLAzureShardManager implements ShardManager
{ {
......
...@@ -30,6 +30,8 @@ use function in_array; ...@@ -30,6 +30,8 @@ use function in_array;
* (otherwise they will affect the same-id rows from other tenants as well). * (otherwise they will affect the same-id rows from other tenants as well).
* SQLAzure throws errors when you try to create IDENTIY columns on federated * SQLAzure throws errors when you try to create IDENTIY columns on federated
* tables. * tables.
*
* @deprecated
*/ */
class MultiTenantVisitor implements Visitor class MultiTenantVisitor implements Visitor
{ {
......
...@@ -7,6 +7,8 @@ use Doctrine\DBAL\Sharding\PoolingShardConnection; ...@@ -7,6 +7,8 @@ use Doctrine\DBAL\Sharding\PoolingShardConnection;
/** /**
* The MultiTenant Shard choser assumes that the distribution value directly * The MultiTenant Shard choser assumes that the distribution value directly
* maps to the shard id. * maps to the shard id.
*
* @deprecated
*/ */
class MultiTenantShardChoser implements ShardChoser class MultiTenantShardChoser implements ShardChoser
{ {
......
...@@ -7,6 +7,8 @@ use Doctrine\DBAL\Sharding\PoolingShardConnection; ...@@ -7,6 +7,8 @@ use Doctrine\DBAL\Sharding\PoolingShardConnection;
/** /**
* Given a distribution value this shard-choser strategy will pick the shard to * Given a distribution value this shard-choser strategy will pick the shard to
* connect to for retrieving rows with the distribution value. * connect to for retrieving rows with the distribution value.
*
* @deprecated
*/ */
interface ShardChoser interface ShardChoser
{ {
......
...@@ -17,6 +17,8 @@ namespace Doctrine\DBAL\Sharding; ...@@ -17,6 +17,8 @@ namespace Doctrine\DBAL\Sharding;
* executed against the last shard that was selected. If a query is created for * executed against the last shard that was selected. If a query is created for
* a shard Y but then a shard X is selected when its actually executed you * a shard Y but then a shard X is selected when its actually executed you
* will hit the wrong shard. * will hit the wrong shard.
*
* @deprecated
*/ */
interface ShardManager interface ShardManager
{ {
......
...@@ -6,6 +6,8 @@ use Doctrine\DBAL\DBALException; ...@@ -6,6 +6,8 @@ use Doctrine\DBAL\DBALException;
/** /**
* Sharding related Exceptions * Sharding related Exceptions
*
* @deprecated
*/ */
class ShardingException extends DBALException class ShardingException extends DBALException
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment