a:14:{s:7:"attribs";a:2:{s:5:"xmlns";s:36:"http://pear.php.net/dtd/rest.release";s:18:"xsi:schemaLocation";s:81:"http://pear.php.net/dtd/rest.release http://pear.php.net/dtd/rest.release.xsd";}s:1:"p";a:2:{s:7:"attribs";a:1:{s:10:"xlink:href";s:12:"/rest/p/mdb2";}s:8:"_content";s:4:"MDB2";}s:1:"c";s:12:"pear.php.net";s:1:"v";s:5:"2.1.0";s:2:"st";s:6:"stable";s:1:"l";s:11:"BSD License";s:1:"m";s:6:"lsmith";s:1:"s";s:26:"database abstraction layer";s:1:"d";s:1242:"PEAR MDB2 is a merge of the PEAR DB and Metabase php database abstraction layers. It provides a common API for all supported RDBMS. The main difference to most other DB abstraction packages is that MDB2 goes much further to ensure portability. Among other things MDB2 features: * An OO-style query API * A DSN (data source name) or array format for specifying database servers * Datatype abstraction and on demand datatype conversion * Various optional fetch modes to fix portability issues * Portable error codes * Sequential and non sequential row fetching as well as bulk fetching * Ability to make buffered and unbuffered queries * Ordered array and associative array for the fetched rows * Prepare/execute (bind) emulation * Sequence emulation * Replace emulation * Limited sub select emulation * Row limit support * Transactions support * Large Object support * Index/Unique Key/Primary Key support * Autoincrement emulation * Module framework to load advanced functionality on demand * Ability to read the information schema * RDBMS management methods (creating, dropping, altering) * Reverse engineering schemas from an existing DB * SQL function call abstraction * Full integration into the PEAR Framework * PHPDoc API documentation";s:2:"da";s:19:"2006-06-15 08:42:16";s:1:"n";s:1721:"- removed bogus code from execute() - new test case for floats/decimals and locale - reworked fix for float/decimal handling - expanded scientific notation handling - fixed several minor issues with the datatype tests - removed use of "*" in all places in the test suite that are followed by a fetch - tweaked handling of free() for prepared statements - return error if a prepared statement is attempted to be free'ed or executed again - added result_wrap_class param to limitQuery() - added parameter to not quote return value of getBeforeId() - added setCharset() - enable transactions by default - added decimal reverse engineering test - fixed parameter order in assertions in reverse engineering fields tests - generalized quoteIdentifier() with a property - switched most array_key_exists() calls to !empty() to improve readability and performance - fixed a few edge cases and potential warnings - added ability to rewrite queries for query(), exec() and prepare() using a debug handler callback - added 'datatype_map' option (Request #7797) - added reverse parameter to getColumnNames() - added 'datatype_map_callback' option - added getValidTypes() method to handle additional types from the 'datatype_map' option - set last_query in _execute() to prepared statement (Bug #7856) - adding random function emulation to generate a float between 0 and 1 - explicitly fetch row id = 1 in LOB tests - cosmetic fix to prepare() (Bug #7883) - bumped PHP dependency to 4.3.2 because of LOB stream support open todo items: - handle autoincrement fields in alterTable() - add support for ADODB style "smart transactions": http://phplens.com/lens/adodb/docs-adodb.htm#ex11 - add length handling to LOB reverse engineering";s:1:"f";s:5:"90119";s:1:"g";s:34:"http://pear.php.net/get/MDB2-2.1.0";s:1:"x";a:1:{s:7:"attribs";a:1:{s:10:"xlink:href";s:17:"package.2.1.0.xml";}}}