2.5.0b3 2010-08-29 12:27 UTC
Changelog:
- fixed bug #15912: MDB2::loadClass can return MDB2_OK without loading class
- fixed bug #16020: unable to set params via dsn string in parseDSN()
- fixed bug #16508: reusing var name + return by ref [rix0r]
- fixed bug #16727: quote(url, 'clob')) fetches URL even if
lob_allow_url_include option is false
- fixed unreported bug in parseDSN() and oracle's Easy Connect syntax
- fixed bug #16973 and #17039: Wrong _skipDelimitedStrings behavior with
escaped quotes
- fixed bug #16994: incompatible declaration of setTransactionIsolation() in
some drivers
- dropped PHP 4 support
- PHP 5.3 compatibility fixes
- performance tweaks (reduced number of internal function calls)
- added new sqlsrv driver (native SQL Server driver) [Chris Pucci, Mike Ketcham]
- added new ODBC experimental driver [pschellhaas]
- Switched test suite to PHPUnit 3.5
open todo items:
- handle autoincrement fields in alterTable()
- add length handling to LOB reverse engineering
- add EXPLAIN abstraction
- add cursor support along the lines of PDO (Request #3660 etc.)
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)
- add support to export/import in CSV format
- add more functions to the Function module (MD5(), IFNULL(), etc.)
- add support for database/table/row LOCKs
- add support for CHECK (ENUM as possible mysql fallback) constraints
- generate STATUS file from test suite results and allow users to submit test
results
- add support for full text index creation and querying
- add tests to check if the RDBMS specific handling with portability options
disabled behaves as expected
- handle implicit commits (like for DDL) in any affected driver (mysql,
sqlite..)
- add a getTableFieldsDefinitions() method to be used in tableInfo()
- drop ILIKE from matchPattern() and instead add a second parameter to handle
case sensitivity with arbitrary operators
- handle LOBs in buffered result sets (Request #8793)
2.5.0b2
- fixed bug #12117: disconnect() does not work as documented
- fixed bug #12912: replace() documentation
- fixed bug #13811: _skipDelimitedStrings() fails on empty strings
- fixed bug #13898: more tolerant check for 'new_link' DSN option
- request #13929: added 'default_fk_action_ondelete' and 'default_fk_action_onupdate'
options for default FOREIGN KEY constraints actions
- fixed bug #14124: _skipDelimitedStrings() and prepare() fail with sql comments
inside quoted strings
- fixed bug #14179: declaration of MDB2_Driver_Common::raiseError() must be
compatible with that of PEAR::raiseError()
- fixed doc bug #14290: connect should mention the type of object returned
- fixed bug #14831: $ignores in _skipDelimitedStrings() [patch by Aleksander Machniak]
2.5.0b1
- request #12731: added truncateTable() in the Manager module
- request #12732: added vacuum() in the Manager module for OPTIMIZE/VACUUM TABLE abstraction
- request #12800: added alterDatabase() in the Manager module [afz]
- fixed bug #12924: correctly handle internal expected errors even with custom error handling
- fixed bug #12991: new error code in errorInfo() [afz]
- added databaseExists() method [afz]
- request #13106: added unixtimestamp() in the Function module
- added max_identifiers_length option
2.5.0a2
- fixed bug #12358: E_STRICT changes in latest alpha broke PHP4 compatibility
- fixed bug #12351: wrong case for function PEAR::isError() in the Reverse module
[was: IsError()]
- fixed bug #12530: MDB2_Extended::autoPrepare() gives error if $types is null
- request #12012: added charset/collation support in createDatabase() for the
drivers that support this feature
- added bindname_format option (this is the regexp used to recognize named
placeholders in prepared statements)
2.5.0a1
- fixed bug #10024: Security fix for LOBs. Added an option to turn lob_allow_url_include off by default
- fixed bug #11179: prepared statements with named placeholders fail if extra values are provided
- request #11297: added support for "schema.table" (or "owner.table") notation in the Reverse module
- initial support for FOREIGN KEY and CHECK constraints in the Reverse and Manager modules
- fixed bug #11428: propagate quote() errors with invalid data types
- added new test cases in the test suite
- added LENGTH() function in the Function module
- fixed bug #11612: raiseError() must be compatible with PEAR::raiseError() [PHP6]
- fixed bug #11790: avoid array_diff() because it has a memory leak in PHP 5.1.x
- fixed bug #11906: quoteIdentifier fails for names with dots
- fixed bug #11975: Extended::autoExecute() does not work with Oracle when using LOBs
(patch by Pieter Meulen, van der)
- fixed some E_STRICT errors with PHP5
- fixed bug #12083: createTable() in the Manager module now returns MDB2_OK on success,
as documented
- fixed bug #12246: wrong check in MDB2::isStatement() (thanks to zaa@zaa.pp.ru)
other DB abstraction packages is that MDB2 goes much further to ensure
portability. MDB2 provides most of its many features optionally that
can be used to construct portable SQL statements.