• Feb 8, 2017


    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**
    - [2634: Fix fetching last insert ID for sequences on SQL Server](doctrine#2634)
    - [2635: Fix date diff test](doctrine#2635)
    - [2636: Fix dropping in use databases on SQL Server and Oracle](doctrine#2636)
    - [2637: ORA-01002: fetch out of sequence](doctrine#2637)
    - [2638: Tear down active transactions in functional test cases](doctrine#2638)
    - [2639: Update Version.php](doctrine#2639)
    - [2645: [DBAL-2637\ Fix closing prepared statement cursor with LOB column on Oracle](doctrine#2645)
    - [2646: Fix the reuse of a statement on sqlsrv with explicit bindValue()](doctrine#2646)-----BEGIN PGP SIGNATURE-----
    Comment: GPGTools - https://gpgtools.org
    -----END PGP SIGNATURE-----
  • Feb 4, 2017


    This release fixes a number of inconsistencies around prepared statem…
    when `closeCursor()` is called, or when a prepared statement is re-used
    multiple times.
    Total issues resolved: **5**
    - [2487: Store results of subsequents statement executions same as of the first one](doctrine#2487)
    - [2489: Rebind row values to the statement after freeing result](doctrine#2489)
    - [2536: Bind result variables after each execution in order to prevent string truncation](doctrine#2536)
    - [2546: Prepared statements become unusable after calling closeCursor() on IBM DB2, Oracle and MS SQL Server.](doctrine#2546)
    - [2557: Inconsistent semantics of close cursor](doctrine#2557)
  • Jan 23, 2017


    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
     * `date` and `datetimetz` OracleDB type introspection: these two types
       were incorrectly recognized as `datetime`
    Total issues resolved: **4**
    - [2508: Renaming index does not rename the index, but creates new one](doctrine#2508)
    - [2555: schema generation maps oracledb `DATE` fields to `datetime`](doctrine#2555)
    - [2611: #2508 Pass through index options when renaming index on table](doctrine#2611)
    - [2612: #2555 Fix `date` and `datetimetz` type mapping on Oracle](doctrine#2612)-----BEGIN PGP SIGNATURE-----
    Comment: GPGTools - https://gpgtools.org
    -----END PGP SIGNATURE-----
  • Jan 19, 2017


    This release fixes an issue with type information passed to `Connecti…
    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**
    - [2511: DBAL Connection::update() - types list does not match the parameter list if fields are used in SET and WHERE clause](doctrine#2511)
    - [2586: SQL_Server : issue on getCurrentDateSql()](doctrine#2586)
    - [2608: [DBAL-2586\ Fix current date and time SQL generation on SQL Server](doctrine#2608)
    - [2609: [DBAL-2511\ Fix type list extraction in connection update method](doctrine#2609)
  • Jan 17, 2017


    This release fixes some issues around LIMIT/OFFSET handling in DB2, O…
    …racleDB, SQL Server:
     * Allowing LIMIT/OFFSET modification without LIMIT on OracleDB
     * Allowing LIMIT/OFFSET modification with OFFSET = 0 on DB2
     * Avoiding an accidental infinite loop in LIMIT/OFFSET modification on SQL Server
    Total issues resolved: **4**
    - [2408: Hotfix 2313 infinite loop](doctrine#2408)
    - [2463: IBM_DB2 platform doesn't handle offset without limit](doctrine#2463)
    - [2509: Oracle platform ignores OFFSET in case if LIMIT is not specified](doctrine#2509)
    - [2602: Backport #2408](doctrine#2602)
  • Jan 14, 2017


    This release fixes some OracleDB and PostgreSQL specific issues.
     * Introspecting table columns on OracleDB when using a non-default schema caused SQL error ORA-01427
     * SQL parameter expansion was broken when using the `ARRAY[]` expression on PostgreSQL
    Total issues resolved: **9**
    - [2496: Fix parameter list expansion inside PostgreSQL arrays](doctrine#2496)
    - [2515: PHP Warning when listing table columns in Oracle](doctrine#2515)
    - [2516: #2515 fix schema listing when having identical tables in databases](doctrine#2516)
    - [2517: ORA-01427 when listing table columns](doctrine#2517)
    - [2518: Fixed ORA-01427 when listing columns](doctrine#2518)
    - [2522: OraclePlatform - ORA-01427: single-row subquery returns more than one row](doctrine#2522)
    - [2549: Oracle column metadata import fix](doctrine#2549)
    - [2584: Doctrine:Schema:Validate leeds to ORA-01427(single-row subquery returns more than one row)](doctrine#2584)
    - [2585: OraclePlatform : Add an owner condition to the list table column comment subquery](doctrine#2585)
  • Jan 12, 2017


    Total issues resolved: **1**
    - [2569: Allow doctrine/common 2.7](doctrine#2569)
  • Sep 9, 2016


    Total issues resolved: **40**
    - [842: Fixed incorrect handling of single quotes in SQL-Strings](doctrine#842)
    - [856: MySQL getListTableForeignKeysSQL: use current database if null passed](doctrine#856)
    - [861: Check for foreign table name on removed tables foreign key](doctrine#861)
    - [862: Quote table and constraint names in drop foreign key / drop constraint SQL](doctrine#862)
    - [863: Strip leading slash of databasename from URL](doctrine#863)
    - [925: Fixing the command when option is CURRENT_SCHEMA](doctrine#925)
    - [1054: DBAL-1114: Problem with drop database on PostgreSQL](doctrine#1054)
    - [1106: DBAL-1164: Creating SQLite Connections via a URL Does Not Work](doctrine#1106)
    - [1151: DBAL-1205: getPlaceholderPositions finds placeholders which are actually no placeholder if string contains single quotes](doctrine#1151)
    - [1183: DBAL-1234: Additional slash in dbname when providing settings as URL without scheme](doctrine#1183)
    - [2182: DBAL-939: schema update doesnt detect boolean type correctly](doctrine#2182)
    - [2261: OCI8 - bindValue overwrite previous values](doctrine#2261)
    - [2262: Issue #2261 - OCI8 Driver PHP 7 - Fix bindValue overwriting other params. ](doctrine#2262)
    - [2267: Pass "path" to pdo-sqlite drivers from DriverManager instead of "dbname"](doctrine#2267)
    - [2270: SqlitePlatform does not escape table name on truncate](doctrine#2270)
    - [2275: Quote reserved keywords in TRUNCATE TABLE SQL](doctrine#2275)
    - [2277: [DBAL-939\ Fix reverse engineering boolean type columns on DB2](doctrine#2277)
    - [2279: Stop using template1 as default database for postgres drivers](doctrine#2279)
    - [2286: Fix list foreign keys SQL database parameter evaluation](doctrine#2286)
    - [2287: Fix parsing schemeless connection URLs](doctrine#2287)
    - [2288: Preserve quotation of old column name in ColumnDiff](doctrine#2288)
    - [2291: The QueryBuilder::getSQLForSelect() always appends a FROM clause for select queries](doctrine#2291)
    - [2292: Do not generate FROM clause in QueryBuilder if no tables specified](doctrine#2292)
    - [2302: when use \Doctrine\DBAL\Schema\Comparator to compare two table schema, has a problem](doctrine#2302)
    - [2303: Fix another primary key alteration with autoincrement column case on MySQL](doctrine#2303)
    - [2310: [DB2\ Move row number to the end of the field list in query limit/offset modification](doctrine#2310)
    - [2318: [Oracle\ Fix list table columns when using external or OS authentication with Oracle](doctrine#2318)
    - [2384: Fluent methods in QueryBuilder are now documented as returning `$this`](doctrine#2384)
    - [2386: Fix oci driver bindValue overwrite with php7](doctrine#2386)
    - [2390: Catch Throwable in Connection::transactional()](doctrine#2390)
    - [2403: fix grammar in DBALException messages](doctrine#2403)
    - [2428: Modify Limit Query on SQLServer2012 with newline before `ORDER BY`](doctrine#2428)
    - [2434: Keep references to bound parameter values in oci8 driver](doctrine#2434)
    - [2436: MySqlPlatform::getListTableColumnsSQL() is not escaping names](doctrine#2436)
    - [2440: No parameters passed to logger when executing statement using bindParam](doctrine#2440)
    - [2442: Escape identifiers in metadata SQL properly when used as string literal](doctrine#2442)
    - [2443: Track the Values & Types Passed to Statement::bindParam](doctrine#2443)
    - [2484: Allow usage of symfony/console ^3.0 in dev dependencies](doctrine#2484)
    - [2497: ResultStatement::fetch() returns null instead of false with mysqli](doctrine#2497)
    - [2500: Making sure that fetch returns false if nothing is found](doctrine#2500)
  • Jan 5, 2016


    Total issues resolved: **3**
    - [2249: Compatibility mis-match? PGSQL_ATTR_DISABLE_PREPARES in v2.5.2 (in a PHP 5.6.16 envt)](doctrine#2249)
    - [2272: [DBAL-1779\ Fix string column type declarations with whitespace on SQLite](doctrine#2272)
    - [2273: Fix usage of PDO::PGSQL_ATTR_DISABLE_PREPARES for edge case pdo_pgsql setups](doctrine#2273)-----BEGIN PGP SIGNATURE-----
    Comment: GPGTools - https://gpgtools.org
    -----END PGP SIGNATURE-----
  • Jan 5, 2016


    Total issues resolved: **7**
    - [1069: DBAL-1128: [GH-782\ Fix: SQLite offset with no limit support](doctrine#1069)
    - [1074: DBAL-1132: [GH-786\ Fix removing autoincrement column from a primary key](doctrine#1074)
    - [1079: DBAL-1137: Infinite recursion on non-unique table/join alias in QueryBuilder](doctrine#1079)
    - [1124: DBAL-1181: [GH-822\ Fix for bad profiling data, showing an indefinitely long query](doctrine#1124)
    - [1129: DBAL-1186: [GH-826\ fix incorrect ordering of columns in clustered indexes on sql server](doctrine#1129)
    - [1141: DBAL-1197: [GH-835\ backport bugfix to avoid fatal error in array_merge during generating the table creation SQL](doctrine#1141)
    - [1162: DBAL-1215: [GH-844\ template1 as default database for PostgreSQL](doctrine#1162)-----BEGIN PGP SIGNATURE-----
    Comment: GPGTools - https://gpgtools.org
    -----END PGP SIGNATURE-----