<?xml version="1.0" encoding="iso-8859-1"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://purl.org/rss/1.0/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
>
    <channel rdf:about="http://pear.php.net/">
    <link>http://pear.php.net/</link>
    <dc:creator>pear-webmaster@lists.php.net</dc:creator>
    <dc:publisher>pear-webmaster@lists.php.net</dc:publisher>
    <dc:language>en-us</dc:language><items>
<rdf:Seq><rdf:li rdf:resource="http://pear.php.net/package/MDB2/download/2.5.0b1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2/download/2.5.0a2/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2/download/2.5.0a1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2/download/2.4.1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2/download/2.4.0/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2/download/2.3.0/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2/download/2.2.2/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2/download/2.2.1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2/download/2.2.0/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2/download/2.1.0/"/>
</rdf:Seq>
</items>

<title>PEAR: Latest releases for pgc</title>
<description>The latest releases for the PEAR developer pgc (Paul Cooper)</description>
</channel>

<item rdf:about="http://pear.php.net/package/MDB2/download/2.5.0b1/">
 <title>MDB2 2.5.0b1</title>
 <link>http://pear.php.net/package/MDB2/download/2.5.0b1/</link>
 <content:encoded>- request #12731: added truncateTable() in the Manager module&lt;br /&gt;
- request #12732: added vacuum() in the Manager module for OPTIMIZE/VACUUM TABLE abstraction&lt;br /&gt;
- request #12800: added alterDatabase() in the Manager module [afz]&lt;br /&gt;
- fixed bug #12924: correctly handle internal expected errors even with custom error handling&lt;br /&gt;
- fixed bug #12991: new error code in errorInfo() [afz]&lt;br /&gt;
- added databaseExists() method [afz]&lt;br /&gt;
- request #13106: added unixtimestamp() in the Function module&lt;br /&gt;
- added max_identifiers_length option&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- handle autoincrement fields in alterTable()&lt;br /&gt;
- add length handling to LOB reverse engineering&lt;br /&gt;
- add EXPLAIN abstraction&lt;br /&gt;
- add cursor support along the lines of PDO (Request #3660 etc.)&lt;br /&gt;
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)&lt;br /&gt;
- add support to export/import in CSV format&lt;br /&gt;
- add more functions to the Function module (MD5(), IFNULL(), etc.)&lt;br /&gt;
- add support for database/table/row LOCKs&lt;br /&gt;
- add support for CHECK (ENUM as possible mysql fallback) constraints&lt;br /&gt;
- generate STATUS file from test suite results and allow users to submit test results&lt;br /&gt;
- add support for full text index creation and querying&lt;br /&gt;
- add tests to check if the RDBMS specific handling with portability options&lt;br /&gt;
  disabled behaves as expected&lt;br /&gt;
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)&lt;br /&gt;
- add a getTableFieldsDefinitions() method to be used in tableInfo()&lt;br /&gt;
- drop ILIKE from matchPattern() and instead add a second parameter to&lt;br /&gt;
  handle case sensitivity with arbitrary operators&lt;br /&gt;
- handle LOBs in buffered result sets (Request #8793)
 </content:encoded>
 <dc:date>2008-03-15T04:27:39-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2/download/2.5.0a2/">
 <title>MDB2 2.5.0a2</title>
 <link>http://pear.php.net/package/MDB2/download/2.5.0a2/</link>
 <content:encoded>- fixed bug #12358: E_STRICT changes in latest alpha broke PHP4 compatibility&lt;br /&gt;
- fixed bug #12351: wrong case for function PEAR::isError() in the Reverse module&lt;br /&gt;
  [was: IsError()]&lt;br /&gt;
- fixed bug #12530: MDB2_Extended::autoPrepare() gives error if $types is null&lt;br /&gt;
- request #12012: added charset/collation support in createDatabase() for the&lt;br /&gt;
  drivers that support this feature&lt;br /&gt;
- added bindname_format option (this is the regexp used to recognize named&lt;br /&gt;
  placeholders in prepared statements)&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- handle autoincrement fields in alterTable()&lt;br /&gt;
- add length handling to LOB reverse engineering&lt;br /&gt;
- add EXPLAIN abstraction&lt;br /&gt;
- add cursor support along the lines of PDO (Request #3660 etc.)&lt;br /&gt;
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)&lt;br /&gt;
- add support to export/import in CSV format&lt;br /&gt;
- add more functions to the Function module (MD5(), IFNULL(), etc.)&lt;br /&gt;
- add support for database/table/row LOCKs&lt;br /&gt;
- add support for CHECK (ENUM as possible mysql fallback) constraints&lt;br /&gt;
- generate STATUS file from test suite results and allow users to submit test results&lt;br /&gt;
- add support for full text index creation and querying&lt;br /&gt;
- add tests to check if the RDBMS specific handling with portability options&lt;br /&gt;
  disabled behaves as expected&lt;br /&gt;
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)&lt;br /&gt;
- add a getTableFieldsDefinitions() method to be used in tableInfo()&lt;br /&gt;
- drop ILIKE from matchPattern() and instead add a second parameter to&lt;br /&gt;
  handle case sensitivity with arbitrary operators&lt;br /&gt;
- handle LOBs in buffered result sets (Request #8793)
 </content:encoded>
 <dc:date>2007-12-06T15:15:09-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2/download/2.5.0a1/">
 <title>MDB2 2.5.0a1</title>
 <link>http://pear.php.net/package/MDB2/download/2.5.0a1/</link>
 <content:encoded>- fixed bug #10024: Security fix for LOBs. Added an option to turn lob_allow_url_include off by default&lt;br /&gt;
- fixed bug #11179: prepared statements with named placeholders fail if extra values are provided&lt;br /&gt;
- request #11297: added support for &quot;schema.table&quot; (or &quot;owner.table&quot;) notation in the Reverse module&lt;br /&gt;
- initial support for FOREIGN KEY and CHECK constraints in the Reverse and Manager modules&lt;br /&gt;
- fixed bug #11428: propagate quote() errors with invalid data types&lt;br /&gt;
- added new test cases in the test suite&lt;br /&gt;
- added LENGTH() function in the Function module&lt;br /&gt;
- fixed bug #11612: raiseError() must be compatible with PEAR::raiseError() [PHP6]&lt;br /&gt;
- fixed bug #11790: avoid array_diff() because it has a memory leak in PHP 5.1.x&lt;br /&gt;
- fixed bug #11906: quoteIdentifier fails for names with dots&lt;br /&gt;
- fixed bug #11975: Extended::autoExecute() does not work with Oracle when using LOBs&lt;br /&gt;
  (patch by Pieter Meulen, van der)&lt;br /&gt;
- fixed some E_STRICT errors with PHP5&lt;br /&gt;
- fixed bug #12083: createTable() in the Manager module now returns MDB2_OK on success,&lt;br /&gt;
  as documented&lt;br /&gt;
- fixed bug #12246: wrong check in MDB2::isStatement() (thanks to zaa@zaa.pp.ru)&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- handle autoincrement fields in alterTable()&lt;br /&gt;
- add length handling to LOB reverse engineering&lt;br /&gt;
- add EXPLAIN abstraction&lt;br /&gt;
- add cursor support along the lines of PDO (Request #3660 etc.)&lt;br /&gt;
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)&lt;br /&gt;
- add support to export/import in CSV format&lt;br /&gt;
- add more functions to the Function module (MD5(), IFNULL(), etc.)&lt;br /&gt;
- add support for database/table/row LOCKs&lt;br /&gt;
- add support for CHECK (ENUM as possible mysql fallback) constraints&lt;br /&gt;
- generate STATUS file from test suite results and allow users to submit test results&lt;br /&gt;
- add support for full text index creation and querying&lt;br /&gt;
- add tests to check if the RDBMS specific handling with portability options&lt;br /&gt;
  disabled behaves as expected&lt;br /&gt;
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)&lt;br /&gt;
- add a getTableFieldsDefinitions() method to be used in tableInfo()&lt;br /&gt;
- drop ILIKE from matchPattern() and instead add a second parameter to&lt;br /&gt;
  handle case sensitivity with arbitrary operators&lt;br /&gt;
- add charset and collation support to field declaration in all drivers&lt;br /&gt;
- handle LOBs in buffered result sets (Request #8793)
 </content:encoded>
 <dc:date>2007-10-28T15:25:58-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2/download/2.4.1/">
 <title>MDB2 2.4.1</title>
 <link>http://pear.php.net/package/MDB2/download/2.4.1/</link>
 <content:encoded>- fixed bug #10407: propagate errors in MDB2_Statement_Common::execute()&lt;br /&gt;
- fixed bug #10452: error in getDeclaration() with custom datatype_map and no&lt;br /&gt;
  datatype_map_callback function&lt;br /&gt;
- fixed bug #10521: quote($val,'decimal') and quote($val,'float') pass unsafe characters&lt;br /&gt;
- return length as &quot;precision,scale&quot; for NUMERIC and DECIMAL fields in mapNativeDatatype()&lt;br /&gt;
- fixed bug #10537: safer check for valid MDB2 connection in singleton() [fornax]&lt;br /&gt;
- fixed bug #10598: MDB2::singleton() not working in some rare conditions [fornax]&lt;br /&gt;
- in getTableIndexDefinition() and getTableConstraintDefinition() in the Reverse&lt;br /&gt;
  module, also return the field position in the index/constraint&lt;br /&gt;
- exec() now returns a reference instead of a copy to prevent memory leaks&lt;br /&gt;
- request #10787: MDB2_Driver_Common::$phptype and $dbsyntax properties are now public&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- handle autoincrement fields in alterTable()&lt;br /&gt;
- add length handling to LOB reverse engineering&lt;br /&gt;
- add EXPLAIN abstraction&lt;br /&gt;
- add cursor support along the lines of PDO (Request #3660 etc.)&lt;br /&gt;
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)&lt;br /&gt;
- add support to export/import in CSV format&lt;br /&gt;
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)&lt;br /&gt;
- add support for database/table/row LOCKs&lt;br /&gt;
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints&lt;br /&gt;
- generate STATUS file from test suite results and allow users to submit test results&lt;br /&gt;
- add support for full text index creation and querying&lt;br /&gt;
- add tests to check if the RDBMS specific handling with portability options&lt;br /&gt;
  disabled behaves as expected&lt;br /&gt;
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)&lt;br /&gt;
- add a getTableFieldsDefinitions() method to be used in tableInfo()&lt;br /&gt;
- drop ILIKE from matchPattern() and instead add a second parameter to&lt;br /&gt;
  handle case sensitivity with arbitrary operators&lt;br /&gt;
- add charset and collation support to field declaration in all drivers&lt;br /&gt;
- handle LOBs in buffered result sets (Request #8793)
 </content:encoded>
 <dc:date>2007-05-03T14:55:12-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2/download/2.4.0/">
 <title>MDB2 2.4.0</title>
 <link>http://pear.php.net/package/MDB2/download/2.4.0/</link>
 <content:encoded>- propagate errors in getTableFieldDefinition() in the Reverse module&lt;br /&gt;
- internally use MDB2::classExists() wrapper instead of directly calling class_exists()&lt;br /&gt;
- fixed bug #9502: query result misbehaves when the number of returned columns&lt;br /&gt;
  is greater than the number of passed types&lt;br /&gt;
- fixed bug #9748: Table name is not quoted in Extended.php buildManipSQL()&lt;br /&gt;
- fixed bug #9800: when the php extension for the driver fails to load, the&lt;br /&gt;
  error is not propagated correctly and the script dies&lt;br /&gt;
- propagate errors in the Datatype module&lt;br /&gt;
- implemented guid() in the Function module [globally unique identifier]&lt;br /&gt;
  (thanks to mario dot adam at schaeffler dot com)&lt;br /&gt;
- fixed bug #4854: Oracle Easy Connect syntax only works with array DSN&lt;br /&gt;
- fixed bug #10105: inTransaction() was returning an incorrect value after a call&lt;br /&gt;
  to disconnect() or __destruct()&lt;br /&gt;
- implemented a fallback mechanism within getTableIndexDefinition() and&lt;br /&gt;
  getTableConstraintDefinition() in the Reverse module to ignore the 'idxname_format'&lt;br /&gt;
  option and use the index name as provided in case of failure before returning&lt;br /&gt;
  an error&lt;br /&gt;
- added a 'nativetype_map_callback' option to map native data declarations back to&lt;br /&gt;
  custom data types (thanks to Andrew Hill).&lt;br /&gt;
- fixed bug #10234 and bug #10233: MDB2_Driver_Datatype_Common::mapNativeDatatype()&lt;br /&gt;
  must ensure that it returns the correct length value, or null&lt;br /&gt;
- added support for TEMPORARY tables (patch by Andrew Hill)&lt;br /&gt;
- phpdoc fixes&lt;br /&gt;
- fixed tests to be compatible with PHP4&lt;br /&gt;
- added new tests, including some MDB2 internals tests by Andrew Hill and Monique Szpak&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- handle autoincrement fields in alterTable()&lt;br /&gt;
- add length handling to LOB reverse engineering&lt;br /&gt;
- add EXPLAIN abstraction&lt;br /&gt;
- add cursor support along the lines of PDO (Request #3660 etc.)&lt;br /&gt;
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)&lt;br /&gt;
- add support to export/import in CSV format&lt;br /&gt;
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)&lt;br /&gt;
- add support for database/table/row LOCKs&lt;br /&gt;
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints&lt;br /&gt;
- generate STATUS file from test suite results and allow users to submit test results&lt;br /&gt;
- add support for full text index creation and querying&lt;br /&gt;
- add tests to check if the RDBMS specific handling with portability options&lt;br /&gt;
  disabled behaves as expected&lt;br /&gt;
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)&lt;br /&gt;
- add a getTableFieldsDefinitions() method to be used in tableInfo()&lt;br /&gt;
- drop ILIKE from matchPattern() and instead add a second parameter to&lt;br /&gt;
  handle case sensitivity with arbitrary operators&lt;br /&gt;
- add charset and collation support to field declaration in all drivers&lt;br /&gt;
- handle LOBs in buffered result sets (Request #8793)
 </content:encoded>
 <dc:date>2007-03-13T16:53:44-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2/download/2.3.0/">
 <title>MDB2 2.3.0</title>
 <link>http://pear.php.net/package/MDB2/download/2.3.0/</link>
 <content:encoded>- added charset and collation support to field declaration&lt;br /&gt;
- added SQL comments and quoted identifier handling inside prepared statement parser&lt;br /&gt;
- expanded length/scale support for numeric types (Request #7170)&lt;br /&gt;
- added statement_format option to make it possible to define the name used for&lt;br /&gt;
  native statements if supported&lt;br /&gt;
- fixed bug when setting MDB2_PREPARE_RESULT in autoExecute()&lt;br /&gt;
- fixed notice in exec() call in autoExecute()&lt;br /&gt;
- reversed if logic in MDB2::fileExists checking to be more fool proof with&lt;br /&gt;
  safe_mode restrictions (Bug #8296)&lt;br /&gt;
- moved CREATE TABLE query generation in a separate method for reuse in the drivers&lt;br /&gt;
- added testLOBRead to test multiple LOB reads&lt;br /&gt;
- fixed getColumnNames() optional parameter handling (Bug #8857)&lt;br /&gt;
- phpdoc fix for fetchCol/fetchAll&lt;br /&gt;
- added an extra if in the autoExecute method of the Extended driver (Bug #8878)&lt;br /&gt;
- expanded tableInfo() tests&lt;br /&gt;
- expanded prepare() tests&lt;br /&gt;
- fix the incorrect use of currID() for lastInsertID() emulation (Bug #9107)&lt;br /&gt;
- add test for lastInsertID()&lt;br /&gt;
- also output php version in test results&lt;br /&gt;
- added supported 'new_link'&lt;br /&gt;
- dropped use of track_errors because 5.2.0 causes php_errormsg to not get&lt;br /&gt;
  populated if a custom error handler is set and it was causing issues for&lt;br /&gt;
  safe_mode users anyways&lt;br /&gt;
- added some error handling into the bindValues()/bindParams() methods (Bug #9133)&lt;br /&gt;
- bindValue() does not need values by reference&lt;br /&gt;
- fix issue in execute() when parameter is a scalar integer of 0 (Bug #9158)&lt;br /&gt;
- implemented stream_stat() method (Bug #9092)&lt;br /&gt;
- better deal with non scalar arguments in test helper function as 5.2.0 explodes otherwise&lt;br /&gt;
- extracted _skipDelimitedStrings() method from prepare()&lt;br /&gt;
- added test for _skipDelimitedStrings() method&lt;br /&gt;
- migrated to package.xml version 2&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- handle autoincrement fields in alterTable()&lt;br /&gt;
- add length handling to LOB reverse engineering&lt;br /&gt;
- expand charset support in schema management and result set handling (Request #4666)&lt;br /&gt;
- add EXPLAIN abstraction&lt;br /&gt;
- add cursor support along the lines of PDO (Request #3660 etc.)&lt;br /&gt;
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)&lt;br /&gt;
- add support to export/import in CSV format&lt;br /&gt;
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)&lt;br /&gt;
- add support for database/table/row LOCKs&lt;br /&gt;
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints&lt;br /&gt;
- generate STATUS file from test suite results and allow users to submit test results&lt;br /&gt;
- explore use of install groups (pear install MDB2#mysql)&lt;br /&gt;
- add support for full text index creation and querying&lt;br /&gt;
- add tests to check if the RDBMS specific handling with portability options&lt;br /&gt;
  disabled behaves as expected&lt;br /&gt;
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)&lt;br /&gt;
- add a getTableFieldsDefinitions() method to be used in tableInfo()&lt;br /&gt;
- drop ILIKE from matchPattern() and instead add a second parameter to&lt;br /&gt;
  handle case sensitivity with arbitrary operators&lt;br /&gt;
- add charset and collation support to field declaration in all drivers&lt;br /&gt;
- handle LOBs in buffered result sets (Request #8793)
 </content:encoded>
 <dc:date>2006-11-03T08:12:14-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2/download/2.2.2/">
 <title>MDB2 2.2.2</title>
 <link>http://pear.php.net/package/MDB2/download/2.2.2/</link>
 <content:encoded>- flip positions property array in prepared statement objects to make it&lt;br /&gt;
  possible to optionally use the same named placeholder in multiple places&lt;br /&gt;
  inside a single prepared statement&lt;br /&gt;
- expanded prepare tests to cover more edge cases&lt;br /&gt;
- renamed valid_types property to valid_default_values in the Datatype module&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- handle autoincrement fields in alterTable()&lt;br /&gt;
- add length handling to LOB reverse engineering&lt;br /&gt;
- expand charset support in schema management and result set handling (Request #4666)&lt;br /&gt;
- add EXPLAIN abstraction&lt;br /&gt;
- add cursor support along the lines of PDO (Request #3660 etc.)&lt;br /&gt;
- expand length/scale support for numeric types (Request #7170)&lt;br /&gt;
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)&lt;br /&gt;
- add support to export/import in CSV format&lt;br /&gt;
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)&lt;br /&gt;
- add support for database/table/row LOCKs&lt;br /&gt;
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints&lt;br /&gt;
- generate STATUS file from test suite results and allow users to submit test results&lt;br /&gt;
- add a package2.xml and explore use of install groups (pear install MDB2#mysql)&lt;br /&gt;
- add support for full text index creation and querying&lt;br /&gt;
- add tests to check if the RDBMS specific handling with portability options&lt;br /&gt;
  disabled behaves as expected&lt;br /&gt;
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)
 </content:encoded>
 <dc:date>2006-09-03T03:03:24-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2/download/2.2.1/">
 <title>MDB2 2.2.1</title>
 <link>http://pear.php.net/package/MDB2/download/2.2.1/</link>
 <content:encoded>- fixed missing code in tableInfo() (Bug #8289)&lt;br /&gt;
- fixed handling of indexes and constraints and types in tableInfo() (fixes BC break)&lt;br /&gt;
- do not set nested transaction error if error is expected&lt;br /&gt;
- explictly default to NULL when the column is NULLable and no default is set&lt;br /&gt;
  (related to Bug #8359)&lt;br /&gt;
- added support for case insensitive matching via ILIKE in matchPattern()&lt;br /&gt;
- added getAsKeyword() for generating &quot;AS&quot; keyword as required by the RDBMS&lt;br /&gt;
- return an error if a named placeholder name is used twice inside a single statement&lt;br /&gt;
- add support for multi column PRIMARY KEYs in createTable()&lt;br /&gt;
- added lower() and upper() to the function module&lt;br /&gt;
- moved escaping tests to datatype tests&lt;br /&gt;
- added summary at the end of a test run for each RDBMS&lt;br /&gt;
- explicitly pass the php_type var in all internal loadModule() calls&lt;br /&gt;
- added support for 'primary' option in createTable()&lt;br /&gt;
- expanded NULL tests&lt;br /&gt;
- fixed handling return values when disable_query is set in _doQuery() and _execute()&lt;br /&gt;
- check if safe_mode is enabled in fileExists() to determine what algo to use (Bug #8296)&lt;br /&gt;
- added a test case for updating LOBs&lt;br /&gt;
- added rtrim test case for LOBs&lt;br /&gt;
- if result types are specified only rtrim() type 'text' fields (otherwise&lt;br /&gt;
  it will mean that for some drivers LOB's would get rtrimmed)&lt;br /&gt;
- phpdoc fixes to the convertResult*() methods&lt;br /&gt;
- added execParam() method and code tweaks for get*() methods in the Extended module&lt;br /&gt;
- removed redundant assertions when testing if a given feature is unsupported&lt;br /&gt;
- removed tests of portability off (users should just set the given portability&lt;br /&gt;
  setting they want to test in their test_setup.php)&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- handle autoincrement fields in alterTable()&lt;br /&gt;
- add length handling to LOB reverse engineering&lt;br /&gt;
- expand charset support in schema management and result set handling (Request #4666)&lt;br /&gt;
- add EXPLAIN abstraction&lt;br /&gt;
- add cursor support along the lines of PDO (Request #3660 etc.)&lt;br /&gt;
- expand length/scale support for numeric types (Request #7170)&lt;br /&gt;
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)&lt;br /&gt;
- add support to export/import in CSV format&lt;br /&gt;
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)&lt;br /&gt;
- add support for database/table/row LOCKs&lt;br /&gt;
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints&lt;br /&gt;
- generate STATUS file from test suite results and allow users to submit test results&lt;br /&gt;
- add a package2.xml and explore use of install groups (pear install MDB2#mysql)&lt;br /&gt;
- add support for full text index creation and querying&lt;br /&gt;
- add tests to check if the RDBMS specific handling with portability options&lt;br /&gt;
  disabled behaves as expected
 </content:encoded>
 <dc:date>2006-08-21T14:23:26-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2/download/2.2.0/">
 <title>MDB2 2.2.0</title>
 <link>http://pear.php.net/package/MDB2/download/2.2.0/</link>
 <content:encoded>- added MDB2_AUTOQUERY_SELECT (Request #7817)&lt;br /&gt;
- added nested transaction support (inspired by ADODB's smart transactions) but&lt;br /&gt;
  expanded to optionally use SAVEPOINTs *EXPERIMENTAL*&lt;br /&gt;
  beginNestedTransaction(), completeNestedTransaction(),&lt;br /&gt;
  failNestedTransaction(), getNestedTransactionError()&lt;br /&gt;
- inTransaction() will now return an integer with the nested transaction depth&lt;br /&gt;
  if a nested transaction has been started&lt;br /&gt;
- added setTransactionIsolation()&lt;br /&gt;
- added savepoint support to beginTransaction(), commit() and rollback()&lt;br /&gt;
- added Native base class for consistency&lt;br /&gt;
- added missing colnum parameter to queryOne() [used by getOne()]&lt;br /&gt;
- added new tests for get*() Extended module methods&lt;br /&gt;
- fixed missing db variable from getValidTypes()&lt;br /&gt;
- added testing of a prepared statement with no parameters&lt;br /&gt;
- added handling of empty result sets to result set verification in the test suite&lt;br /&gt;
- oci8 and ibase (and possibly other rdbms) do not like freeing the statement&lt;br /&gt;
  before reading the result set (Bug #8068):&lt;br /&gt;
  * moved statement freeing after reading the result set in get*() Extended methods&lt;br /&gt;
  * bypass prepared statement API for queries without parameters in autoExecute()&lt;br /&gt;
  (this means you cannot use parameters with SELECT statements in autoExecute()&lt;br /&gt;
  on the above mentioned platforms)&lt;br /&gt;
- use data type callback in getValidTypes()&lt;br /&gt;
- fixed identifier quoting in buildManipSQL() for SELECT statements (thx Kailoran)&lt;br /&gt;
- phpdoc and cosmetic fixes in limitQuery()&lt;br /&gt;
- added matchPattern() and patternEscapeString(), escapePattern() *EXPERIMENTAL*&lt;br /&gt;
- added ability to escape wildcard characters in escape() and quote()&lt;br /&gt;
- added debug() call at the end of a query/prepare/execute calling (Request #7933)&lt;br /&gt;
- added context array parameter to debug() and make use of it whereever sensible&lt;br /&gt;
- added optional method name parameter to raiseError() and use whereever possible&lt;br /&gt;
- added a new option &quot;debug_expanded_output&quot; which needs to be set to true to&lt;br /&gt;
  get additional context information and to get &quot;post&quot; callback calls&lt;br /&gt;
- added testPortabilityOptions()&lt;br /&gt;
- set length of 8 and fixed for user_password in the test suite&lt;br /&gt;
- reworked tableInfo() to use a common implementation based on getTableFieldDefinition()&lt;br /&gt;
  when a table name is passed (Bug #8124)&lt;br /&gt;
- disconnect after changing database/DSN (otherwise transactions may be left open)&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- handle autoincrement fields in alterTable()&lt;br /&gt;
- add length handling to LOB reverse engineering&lt;br /&gt;
- expand charset support in schema management and result set handling (Request #4666)&lt;br /&gt;
- add EXPLAIN abstraction&lt;br /&gt;
- add cursor support along the lines of PDO (Request #3660 etc.)&lt;br /&gt;
- expand length/scale support for numeric types (Request #7170)&lt;br /&gt;
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)&lt;br /&gt;
- add support to export/import in CSV format&lt;br /&gt;
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)&lt;br /&gt;
- add support to generating &quot;AS&quot; keyword if required&lt;br /&gt;
- add support for database/table/row LOCKs&lt;br /&gt;
- add ActiveRecord implementation (probably as a separate package)&lt;br /&gt;
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints&lt;br /&gt;
- extended to support for case insensitive matching via ILIKE/collate in matchPattern()&lt;br /&gt;
- generate STATUS file from test suite results and allow users to submit test results
 </content:encoded>
 <dc:date>2006-07-23T03:16:35-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2/download/2.1.0/">
 <title>MDB2 2.1.0</title>
 <link>http://pear.php.net/package/MDB2/download/2.1.0/</link>
 <content:encoded>- removed bogus code from execute()&lt;br /&gt;
- new test case for floats/decimals and locale&lt;br /&gt;
- reworked fix for float/decimal handling&lt;br /&gt;
- expanded scientific notation handling&lt;br /&gt;
- fixed several minor issues with the datatype tests&lt;br /&gt;
- removed use of &quot;*&quot; in all places in the test suite that are followed by a fetch&lt;br /&gt;
- tweaked handling of free() for prepared statements&lt;br /&gt;
- return error if a prepared statement is attempted to be free'ed or executed again&lt;br /&gt;
- added result_wrap_class param to limitQuery()&lt;br /&gt;
- added parameter to not quote return value of getBeforeId()&lt;br /&gt;
- added setCharset()&lt;br /&gt;
- enable transactions by default&lt;br /&gt;
- added decimal reverse engineering test&lt;br /&gt;
- fixed parameter order in assertions in reverse engineering fields tests&lt;br /&gt;
- generalized quoteIdentifier() with a property&lt;br /&gt;
- switched most array_key_exists() calls to !empty() to improve readability and performance&lt;br /&gt;
- fixed a few edge cases and potential warnings&lt;br /&gt;
- added ability to rewrite queries for query(), exec() and prepare() using a debug handler callback&lt;br /&gt;
- added 'datatype_map' option (Request #7797)&lt;br /&gt;
- added reverse parameter to getColumnNames()&lt;br /&gt;
- added 'datatype_map_callback' option&lt;br /&gt;
- added getValidTypes() method to handle additional types from the 'datatype_map' option&lt;br /&gt;
- set last_query in _execute() to prepared statement (Bug #7856)&lt;br /&gt;
- adding random function emulation to generate a float between 0 and 1&lt;br /&gt;
- explicitly fetch row id = 1 in LOB tests&lt;br /&gt;
- cosmetic fix to prepare() (Bug #7883)&lt;br /&gt;
- bumped PHP dependency to 4.3.2 because of LOB stream support&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- handle autoincrement fields in alterTable()&lt;br /&gt;
- add support for ADODB style &quot;smart transactions&quot;:&lt;br /&gt;
  http://phplens.com/lens/adodb/docs-adodb.htm#ex11&lt;br /&gt;
- add length handling to LOB reverse engineering
 </content:encoded>
 <dc:date>2006-06-15T08:42:16-05:00</dc:date>
</item>

</rdf:RDF>