73 lines
2.8 KiB
Plaintext
73 lines
2.8 KiB
Plaintext
|
# Upgrade to 2.2
|
||
|
|
||
|
## Doctrine\DBAL\Connection#insert and Doctrine\DBAL\Connnection#update
|
||
|
|
||
|
Both methods now accept an optional last parameter $types with binding types of the values passed.
|
||
|
This can potentially break child classes that have overwritten one of these methods.
|
||
|
|
||
|
## Doctrine\DBAL\Connection#executeQuery
|
||
|
|
||
|
Doctrine\DBAL\Connection#executeQuery() got a new last parameter "QueryCacheProfile $qcp"
|
||
|
|
||
|
## Doctrine\DBAL\Driver\Statement split
|
||
|
|
||
|
The Driver statement was split into a ResultStatement and the normal statement extending from it.
|
||
|
This seperates the configuration and the retrieval API from a statement.
|
||
|
|
||
|
## MsSql Platform/SchemaManager renamed
|
||
|
|
||
|
The MsSqlPlatform was renamed to SQLServerPlatform, the MsSqlSchemaManager was renamed
|
||
|
to SQLServerSchemaManager.
|
||
|
|
||
|
## Cleanup SQLServer Platform version mess
|
||
|
|
||
|
DBAL 2.1 and before were actually only compatible to SQL Server 2008, not earlier versions.
|
||
|
Still other parts of the platform did use old features instead of newly introduced datatypes
|
||
|
in SQL Server 2005. Starting with DBAL 2.2 you can pick the Doctrine abstraction exactly
|
||
|
matching your SQL Server version.
|
||
|
|
||
|
The PDO SqlSrv driver now uses the new `SQLServer2008Platform` as default platform.
|
||
|
This platform uses new features of SQL Server as of version 2008. This also includes a switch
|
||
|
in the used fields for "text" and "blob" field types to:
|
||
|
|
||
|
"text" => "VARCHAR(MAX)"
|
||
|
"blob" => "VARBINARY(MAX)"
|
||
|
|
||
|
Additionally `SQLServerPlatform` in DBAL 2.1 and before used "DATE", "TIME" and "DATETIME2" for dates.
|
||
|
This types are only available since version 2008 and the introduction of an explicit
|
||
|
SQLServer 2008 platform makes this dependency explicit.
|
||
|
|
||
|
An `SQLServer2005Platform` was also introduced to differentiate the features between
|
||
|
versions 2003, earlier and 2005.
|
||
|
|
||
|
With this change the `SQLServerPlatform` now throws an exception for using limit queries
|
||
|
with an offset, since SQLServer 2003 and lower do not support this feature.
|
||
|
|
||
|
To use the old SQL Server Platform, because you are using SQL Server 2003 and below use
|
||
|
the following configuration code:
|
||
|
|
||
|
use Doctrine\DBAL\DriverManager;
|
||
|
use Doctrine\DBAL\Platforms\SQLServerPlatform;
|
||
|
use Doctrine\DBAL\Platforms\SQLServer2005Platform;
|
||
|
|
||
|
// You are using SQL Server 2003 or earlier
|
||
|
$conn = DriverManager::getConnection(array(
|
||
|
'driver' => 'pdo_sqlsrv',
|
||
|
'platform' => new SQLServerPlatform()
|
||
|
// .. additional parameters
|
||
|
));
|
||
|
|
||
|
// You are using SQL Server 2005
|
||
|
$conn = DriverManager::getConnection(array(
|
||
|
'driver' => 'pdo_sqlsrv',
|
||
|
'platform' => new SQLServer2005Platform()
|
||
|
// .. additional parameters
|
||
|
));
|
||
|
|
||
|
// You are using SQL Server 2008
|
||
|
$conn = DriverManager::getConnection(array(
|
||
|
'driver' => 'pdo_sqlsrv',
|
||
|
// 2008 is default platform
|
||
|
// .. additional parameters
|
||
|
));
|