dbal

Doctrine Database Abstraction Layer

MIT License

Downloads
442M
Stars
9.4K
Committers
601

Bot releases are visible (Hide)

dbal - Release v2.10.1

Published by morozov almost 5 years ago

Build Status

This release fixes regressions introduced in release v2.10.0, implements some CI/testing improvements and introduces updates in the documentation.

  • Total issues resolved: 2
  • Total pull requests resolved: 9
  • Total contributors: 9

Regressions:

CI improvements and maintenance:

Test suite improvements:

Documentation updates:

dbal - Release v2.10.0

Published by morozov almost 5 years ago

Release v2.10.0

Build Status

This is a minor release of Doctrine DBAL that aggregates over 70 fixes and improvements developed by 25 contributors over the last year.

This release focuses on internal code quality improvement and deprecating the functionality identified for removal in the next major release.

Note that PHP 7.2 is now the minimum supported PHP version.

Backwards Compatibility Breaks

This release introduces a minor BC break. Default column values are no longer handled as SQL expressions. They are converted to SQL literals (e.g. escaped). The previous behavior was not portable and was never by design.

Clients must now specify default values in their initial form, not in the form of an SQL literal (e.g. escaped).

Before:

$column->setDefault('Foo\\\\Bar\\\\Baz');

After:

$column->setDefault('Foo\\Bar\\Baz');

Deprecations

  • The usage of the getDriver(), getDatabasePlatform() and getSchemaManager() methods of the ConnectionEventArgs class has been deprecated.
  • The usage of the getDatabasePlatform() method of the SchemaColumnDefinitionEventArgs class has been deprecated.
  • The usage of the getHost(), getPort(), getUsername() and getPassword() methods of the Connection class has been deprecated.
  • Passing multiple SQL statements as an array to SchemaAlterTableAddColumnEventArgs::addSql() and the same method in other SchemaEventArgs-based classes is deprecated.
  • Calling AbstractSchemaManager::tablesExist() with a string argument is deprecated.
  • Calling OracleSchemaManager::createDatabase() without an argument or by passing NULL is deprecated.
  • Unused schema manager methods are deprecated.
    • AbstractSchemaManager::_getPortableFunctionsList(),
    • AbstractSchemaManager::_getPortableFunctionDefinition(),
    • OracleSchemaManager::_getPortableFunctionDefinition(),
    • SqliteSchemaManager::_getPortableTableIndexDefinition().
  • The usage of NULL to indicate empty $username or $password when calling Doctrine\DBAL\Driver::connect() is deprecated.
  • Method Doctrine\DBAL\Platforms::_getAlterTableIndexForeignKeySQL() has been deprecated as no longer used.
  • Property Doctrine\DBAL\Driver\OCI8\OCI8Statement::$_PARAM has been deprecated as not used.
  • Method Doctrine\DBAL\Driver::getName() is deprecated.
  • The usage of user-provided PDO instance is deprecated.
  • Type::* constants are deprecated.
  • The Doctrine\DBAL\Driver\SQLSrv\SQLSrvStatement::LAST_INSERT_ID_SQL constant has been deprecated.
  • The constants in Doctrine\DBAL\SQLParserUtils have been deprecated.
  • The Doctrine\DBAL\Logging\LoggerChain::addLogger method has been deprecated.

Please see the details in the UPGRADE.md documentation.

New Features and Improvements

MySQL-related changes:

Driver level changes:

Schema management:

Types improvements:

Compatibility with Symfony 5:

Query Builder:

Logging:

Code quality improvements:

Test suite improvements:

Documentation improvements:

CI improvements:

Deprecations:

dbal - Release v2.9.3

Published by morozov almost 5 years ago

Release v2.9.3

Build Status

This release fixes regressions introduced in previous releases and other bugs.

  • Total issues resolved: 5
  • Total pull requests resolved: 14
  • Total contributors: 9

Regressions

Other bugs

CI improvements and maintenance

PHP 7.4 support

dbal - Release v2.9.2

Published by morozov almost 6 years ago

Release v2.9.2

Build Status

This release fixes regressions introduced in v2.9.1.

  • Total issues resolved: 2

MySQL, Schema Introspection:

MySQL, Schema Comparison:

dbal - Release v2.9.1

Published by morozov almost 6 years ago

Release v2.9.1

Build Status

This release fixes regressions introduced in v2.9.0 and issues specific to the SQL Anywhere platform.

  • Total issues resolved: 11

MySQL, Schema Introspection:

SQL Anywhere:

Schema Comparison:

Connections:

Cache:

Documentation:

dbal - Release v2.8.1

Published by morozov almost 6 years ago

Release v2.8.1

Build Status

This release backports the bug fixes implemented in newer DBAL versions.

  • Total issues resolved: 7

PostgreSQL:

Oracle:

SQL Anywhere:

Continuous Integration:

dbal - Release v2.9.0

Published by morozov almost 6 years ago

Release v2.9.0

Build Status

This is a minor release of Doctrine DBAL that aggregates over 40 fixes and improvements developed by 18 contributors over the last 5 months.

This release includes all changes of the 2.8.x series, as well as feature additions and improvements that couldn't land in patch releases.

Backwards Compatibility Breaks

This doesn't contain any intentional Backwards Compatibility (BC) breaks.

Deprecations

  • The usage of NULL to specify the absence of an offset in LIMITed queries is deprecated. Use 0 instead.
  • It's not recommended to rely on the default length specified by implementations of Type. These values are not used by the library and will be removed.
  • It's not recommended to rely on the string representation of Type objects.
  • Regular-expression based asset filters are deprecated in favor of callback-based as more extensible.
  • Calling Statement::fetchColumn() with an invalid column index is deprecated.
  • The dbal:import CLI command is deprecated. Please use other database client applications for import.

Please see details in the UPGRADE.md documentation.

New Features

  • Added support for MariaDB 10.3.
  • Added support for Windows authentication for SQL Server.
  • Added support for column length in index definitions on MySQL.

Improvements and Fixes

  • Implemented handling BLOB objects represented as streams in the MySQL (mysqli) driver.
  • Implemented handling BLOB objects represented as streams in the IBM DB2 driver.
  • DBAL is now continuously tested with the PDO driver for Oracle.
  • Implemented handling of URLs in master-slave and pooling-shard connection configuration.
  • The codebase is now fully compatible with the Doctrine Coding Standard v5.0.

Total issues resolved: 45

Deprecations:

New Features:

Bug Fixes:

Improvements:

Documentation Improvements:

Code Quality Improvements:

Continuous Integration Improvements:

dbal - Release v2.7.2

Published by morozov over 6 years ago

Release v2.7.2

Build Status

This release backports the bug fixes implemented in newer DBAL versions.

Total issues resolved: 7

Platforms:

Schema Comparison:

Performance:

Documentation:

dbal - Release v2.8.0

Published by morozov over 6 years ago

Release v2.8.0

Build Status

This is a minor release of Doctrine DBAL that aggregates over 30 fixes and improvements developed over the last 3 months.

This release includes all changes of the 2.7.x series, as well as feature additions and improvements that couldn’t land in patch releases.

Backwards Compatibility Breaks

This doesn't contain any intentional Backwards Compatibility (BC) breaks.

Dependency Changes

Please see details in the UPGRADE.md documentation.

Deprecations

  • The usage of binary fields whose length exceeds the maximum field size on a given platform is deprecated. Please use binary fields of a size which fits all target platforms, or use blob explicitly instead.
  • The usage of DB-generated UUIDs is deprecated. Their format is inconsistent across supported platforms and therefore the feature is not portable. Use a PHP library (e.g. ramsey/uuid) to generate UUIDs on the application side.

New features

  • Initial support of MySQL 8.
  • Initial support of PostgreSQL 11.
  • Ability to evaluate arbitrary SQL expressions via AbstractPlatform::getDummySelectSQL().

Improvements and Fixes

  • Improved support of binary fields on Oracle and IBM DB2.
  • Improved SQL Server configuration capabilities via both sqlsrv and pdo_sqlsrv.
  • Improved handling of AUTOINCREMENTed primary keys in SQLite.
  • Integration tests are run against IBM DB2 on Travis CI.
  • Code coverage is collected for the Oracle platform on continuousphp.

Total issues resolved: 33

Deprecations:

New Features:

Bug Fixes:

Improvements:

Documentation Improvements:

Code Quality Improvements:

Continuous Integration Improvements:

Dependencies

dbal - v2.7.1

Published by morozov over 6 years ago

Release v2.7.1

Build Status

This release fixes unintentional BC breaks:

  1. It was impossible to use deprecated fetch modes with PDO-based drivers.
  2. An unsupported option passed to the Column object prevented subsequent options from being applied.
  3. Date interval values stored prior to upgrade to v2.7.0 were reported as invalid.

Total issues resolved: 10

Backwards Compatibility Fixes:

Documentation Improvements:

Continuous Integration Improvements:

dbal - v2.7.0

Published by morozov over 6 years ago

Build Status

This is a minor release of Doctrine DBAL that aggregates over 80 fixes and improvements developed over the last 8 months.

This release includes all changes of the 2.6.x series, as well as feature additions and improvements that couldn't land in patch releases.

Backwards Compatibility Breaks

This release comes with one potential Backwards Compatibility (BC) break that is to be considered during upgrade.
Please see the details below.

Dependency requirement changes

There are no changes in requirements to runtime dependencies.

Deprecations

  • Direct usage of PDO:: constants in calls to DBAL API is deprecated.
  • Calls to \PDOStatement methods on a \Doctrine\DBAL\Driver\PDOStatement instance are deprecated.
  • A series of enum-like constants are deprecated.
  • Setting unsupported options on a schema column object is deprecated.

Please see details in the UPGRADE.md documentation.

New features

This release introduces the following major additions:

  • MariaDB 10.2 platform support
  • PostgreSQL 10 platform support

Improvements and Fixes

This release comes with a few bug fixes and a significant set of improvements in continuous integration processes, code style and documentation:

  • The code is continuously tested on all supported versions of SQL Server on Windows and Linux.
  • The code is tested with lowest compatible versions of dependencies.
  • New improved code style requirements have been introduced.
  • The codebase has been cleaned up from the fragments required to support the older PHP versions and uses the full power of the PHP 7.1.
  • All pull requests are validated for compliance with the coding standards before getting accepted.
  • Handling of platform-specific features has been improved.

A detailed list of fixes can be found below.

Total issues resolved: 81

BC Breaks:

Deprecations:

New Features:

Bug Fixes:

Improvements:

Documentation Improvements:

Continuous Integration Improvements:

Code Style Improvements:

Chore:

dbal - v2.6.3

Published by lcobucci almost 7 years ago

Build Status

This release fixes the generation of default values of immutable date/datetime
times, default values of PostgreSQL's SERIAL types, and the required arguments
for SSL connections using MySQLi.

Also includes a fix for a BC-break related to json types comparison.

Total issues resolved: 11

dbal - v2.6.2

Published by Ocramius about 7 years ago

Build Status

This release fixes an incorrect optimisation in
Doctrine\DBAL\Query\Expression\CompositeExpression which
could have led to dropping query expression components.

Also, DBAL was ignoring some important platform settings
when determining which cache keys to use when looking for
result caches: that could have led to sharing caches for
results produced by different DB connections.

Total issues resolved: 2

dbal - v2.6.1

Published by Ocramius about 7 years ago

Build Status

This release fixes an unintentional BC break that
prevented using DateTimeImmutable interfaces
in the pre-existing date-related types.

Users are still encouraged to migrate to the newly
introduced immutable date types.

Total issues resolved: 2

dbal - v2.6.0

Published by Ocramius about 7 years ago

Build Status

This is a minor release of Doctrine DBAL that aggregates over 200 fixes
and improvements that we have tested, checked, reviewed and stabilised
over the last year.

This release includes all changes of the 2.5.x series, as well as
feature additions and improvements that couldn't land in patch releases.

Backwards Compatibility Breaks

This release comes with few potential Backwards Compatibility (BC)
breaks that, while unlikely affecting consumers of the library, are
to be considered.
Please take some time to read the UPGRADE.md documentation.
The issues related to these BC breaks are listed below.

Dependency requirement changes

The dependency requirements for DBAL 2.6.0 onwards have also changed:

  • HHVM is no longer officially supported
  • PHP 7.1.0 is the minimum supported PHP version
  • The PDO extension is now a required dependency

Deprecations

  • The json_array type is now to be considered deprecated
  • The Doctrine\DBAL\Schema\Table#renameColumn() API is deprecated
    and disabled
  • The Doctrine\DBAL\Connection#getDatabasePlatform() may
    now trigger database connections, if a platform version
    isn't provided upfront

New features

This release introduces a few major additions:

  • PostgreSQL 9.4+ platform support
  • MySQL 5.7.9 (GA) platform support
  • A JsonType that maps to JSON column types when supported
    by the underlying RDBMS
  • DateIntervalType
  • DateTimeImmutableType
  • DateTimeTzImmutableType
  • DateImmutableType
  • TimeImmutableType
  • PDO::FETCH_OBJ emulation for mysqli and oci8
    statements
  • SSL root certificate configuration support for pdo_pgsql
  • SSL support for mysqli

Improvements and Fixes

This release comes with a myriad of improvements and
bug-fixes that should improve both compatibility with
exotic database engines and overall performance.
We focused on stability and reliability of
existing features, and improved the overall consistency
of cross-platform behavior of the library.

A detailed list of fixes can be found below.

Total issues resolved: 224

BC Breaks:

Deprecations:

New Features:

Bug Fixes:

Improvements:

Documentation Improvements:

Chore:

dbal - v2.5.13

Published by Ocramius about 7 years ago

Build Status

This release fixes a number of issues around the PostgreSQL,
OracleDB and MySQL platforms database introspection.

Connection DSN generation fixes were applied for the
SQLAnywhere driver.

Corrections on how record fetching mode have been applied to
the DB2 driver.

Fixes were applied to the handling of cursors and result
caching with pdo_sqlsrv.

Total issues resolved: 16

dbal - v2.5.12

Published by Ocramius over 7 years ago

Build Status

This release fixes some regressions introduced in OracleDB support in 2.5.11.
Specifically, closing a cursor caused an ORA-01002 exception to be raised
in some scenarios.

Further fixes include:

  • support for dropping "in use" databases in OracleDB and SQL Server (must disconnect first)
  • corrections in how the last insert ID is fetched on SQL Server
  • re-use of parameters bound to an sqlsrv statement via bindValue()

Total issues resolved: 8

dbal - v2.5.10

Published by Ocramius over 7 years ago

Build Status

This release fixes:

  • some PHP 5.3 compatibility issues that caused the test suite to fail
    for the previous release
  • index renaming for indexes that had particular assigned options, and
    that were being added rather than renamed or recreated under a different
    name
  • date and datetimetz OracleDB type introspection: these two types
    were incorrectly recognized as datetime

Total issues resolved: 4

dbal - v2.5.9

Published by Ocramius over 7 years ago

Build Status

This release fixes an issue with type information passed to Connection#update(),
which was incorrectly handled if the updated columns and the identifier columns
had equivalent keys.

Also, the generated current date and time SQL expressions for SQL Server were fixed.

Total issues resolved: 4