| 1 |
lars |
1 |
a:25:{s:7:"attribs";a:6:{s:15:"packagerversion";s:5:"1.5.3";s:7:"version";s:3:"2.0";s:5:"xmlns";s:35:"http://pear.php.net/dtd/package-2.0";s:11:"xmlns:tasks";s:33:"http://pear.php.net/dtd/tasks-1.0";s:9:"xmlns:xsi";s:41:"http://www.w3.org/2001/XMLSchema-instance";s:18:"xsi:schemaLocation";s:147:"http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd";}s:4:"name";s:4:"MDB2";s:7:"channel";s:12:"pear.php.net";s:7:"extends";s:3:"MDB";s:7:"summary";s:26:"database abstraction layer";s:11:"description";s:1379:"PEAR MDB2 is a merge of the PEAR DB and Metabase php database abstraction layers.
|
|
|
2 |
|
|
|
3 |
It provides a common API for all supported RDBMS. The main difference to most
|
|
|
4 |
other DB abstraction packages is that MDB2 goes much further to ensure
|
|
|
5 |
portability. MDB2 provides most of its many features optionally that
|
|
|
6 |
can be used to construct portable SQL statements:
|
|
|
7 |
* Object-Oriented API
|
|
|
8 |
* A DSN (data source name) or array format for specifying database servers
|
|
|
9 |
* Datatype abstraction and on demand datatype conversion
|
|
|
10 |
* Various optional fetch modes to fix portability issues
|
|
|
11 |
* Portable error codes
|
|
|
12 |
* Sequential and non sequential row fetching as well as bulk fetching
|
|
|
13 |
* Ability to make buffered and unbuffered queries
|
|
|
14 |
* Ordered array and associative array for the fetched rows
|
|
|
15 |
* Prepare/execute (bind) named and unnamed placeholder emulation
|
|
|
16 |
* Sequence/autoincrement emulation
|
|
|
17 |
* Replace emulation
|
|
|
18 |
* Limited sub select emulation
|
|
|
19 |
* Row limit emulation
|
|
|
20 |
* Transactions/savepoint support
|
|
|
21 |
* Large Object support
|
|
|
22 |
* Index/Unique Key/Primary Key support
|
|
|
23 |
* Pattern matching abstraction
|
|
|
24 |
* Module framework to load advanced functionality on demand
|
|
|
25 |
* Ability to read the information schema
|
|
|
26 |
* RDBMS management methods (creating, dropping, altering)
|
|
|
27 |
* Reverse engineering schemas from an existing database
|
|
|
28 |
* SQL function call abstraction
|
|
|
29 |
* Full integration into the PEAR Framework
|
|
|
30 |
* PHPDoc API documentation";s:4:"lead";a:2:{i:0;a:4:{s:4:"name";s:17:"Lukas Kahwe Smith";s:4:"user";s:6:"lsmith";s:5:"email";s:20:"smith@pooteeweet.org";s:6:"active";s:2:"no";}i:1;a:4:{s:4:"name";s:16:"Lorenzo Alberton";s:4:"user";s:5:"quipo";s:5:"email";s:19:"l.alberton@quipo.it";s:6:"active";s:3:"yes";}}s:11:"contributor";a:4:{s:4:"name";s:11:"Paul Cooper";s:4:"user";s:3:"pgc";s:5:"email";s:14:"pgc@ucecom.com";s:6:"active";s:2:"no";}s:6:"helper";a:2:{i:0;a:4:{s:4:"name";s:16:"Daniel Convissor";s:4:"user";s:7:"danielc";s:5:"email";s:15:"danielc@php.net";s:6:"active";s:3:"yes";}i:1;a:4:{s:4:"name";s:14:"David Coallier";s:4:"user";s:6:"davidc";s:5:"email";s:17:"david@jaws.com.mx";s:6:"active";s:3:"yes";}}s:4:"date";s:10:"2007-05-03";s:4:"time";s:8:"20:58:15";s:7:"version";a:2:{s:7:"release";s:5:"2.4.1";s:3:"api";s:5:"2.4.1";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:7:"license";s:11:"BSD License";s:5:"notes";s:2022:"- fixed bug #10407: propagate errors in MDB2_Statement_Common::execute()
|
|
|
31 |
- fixed bug #10452: error in getDeclaration() with custom datatype_map and no
|
|
|
32 |
datatype_map_callback function
|
|
|
33 |
- fixed bug #10521: quote($val,'decimal') and quote($val,'float') pass unsafe characters
|
|
|
34 |
- return length as "precision,scale" for NUMERIC and DECIMAL fields in mapNativeDatatype()
|
|
|
35 |
- fixed bug #10537: safer check for valid MDB2 connection in singleton() [fornax]
|
|
|
36 |
- fixed bug #10598: MDB2::singleton() not working in some rare conditions [fornax]
|
|
|
37 |
- in getTableIndexDefinition() and getTableConstraintDefinition() in the Reverse
|
|
|
38 |
module, also return the field position in the index/constraint
|
|
|
39 |
- exec() now returns a reference instead of a copy to prevent memory leaks
|
|
|
40 |
- request #10787: MDB2_Driver_Common::$phptype and $dbsyntax properties are now public
|
|
|
41 |
|
|
|
42 |
open todo items:
|
|
|
43 |
- handle autoincrement fields in alterTable()
|
|
|
44 |
- add length handling to LOB reverse engineering
|
|
|
45 |
- add EXPLAIN abstraction
|
|
|
46 |
- add cursor support along the lines of PDO (Request #3660 etc.)
|
|
|
47 |
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)
|
|
|
48 |
- add support to export/import in CSV format
|
|
|
49 |
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)
|
|
|
50 |
- add support for database/table/row LOCKs
|
|
|
51 |
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints
|
|
|
52 |
- generate STATUS file from test suite results and allow users to submit test results
|
|
|
53 |
- add support for full text index creation and querying
|
|
|
54 |
- add tests to check if the RDBMS specific handling with portability options
|
|
|
55 |
disabled behaves as expected
|
|
|
56 |
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)
|
|
|
57 |
- add a getTableFieldsDefinitions() method to be used in tableInfo()
|
|
|
58 |
- drop ILIKE from matchPattern() and instead add a second parameter to
|
|
|
59 |
handle case sensitivity with arbitrary operators
|
|
|
60 |
- add charset and collation support to field declaration in all drivers
|
|
|
61 |
- handle LOBs in buffered result sets (Request #8793)";s:8:"contents";a:1:{s:3:"dir";a:2:{s:7:"attribs";a:2:{s:14:"baseinstalldir";s:1:"/";s:4:"name";s:1:"/";}s:4:"file";a:53:{i:0;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"b5cd8d01a36258caa0c4eb7e3478c219";s:4:"name";s:25:"docs/examples/example.php";s:4:"role";s:3:"doc";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:1;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"dd25c9a1d24d945ef0c3cb2fc889a070";s:4:"name";s:30:"docs/examples/example_php5.php";s:4:"role";s:3:"doc";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:2;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"74b2bb45de61eccbffed7d75d5268af9";s:4:"name";s:37:"docs/examples/metapear_test_db.schema";s:4:"role";s:3:"doc";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:3;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"a253b37e185622112acfef6c94b79aef";s:4:"name";s:17:"docs/CONTRIBUTORS";s:4:"role";s:3:"doc";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:4;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"cc1befe78146094be02f89bbb201b4ab";s:4:"name";s:19:"docs/datatypes.html";s:4:"role";s:3:"doc";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:5;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"a70b17bcd8e56911f74a4dff61a3ff8d";s:4:"name";s:16:"docs/MAINTAINERS";s:4:"role";s:3:"doc";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:6;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"c7b68ea23aa2ae6d91913703a2246f15";s:4:"name";s:11:"docs/README";s:4:"role";s:3:"doc";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:7;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"f9858c9327499e60db66621a817c66a4";s:4:"name";s:11:"docs/STATUS";s:4:"role";s:3:"doc";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:8;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"ec0c4383ddfd3af69d577344d0d5b4dd";s:4:"name";s:9:"docs/TODO";s:4:"role";s:3:"doc";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:9;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"0c87967f991c8dd76240735e4244d0c9";s:4:"name";s:31:"MDB2/Driver/Datatype/Common.php";s:4:"role";s:3:"php";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:10;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"7302578a918db5a4465891c754d167da";s:4:"name";s:31:"MDB2/Driver/Function/Common.php";s:4:"role";s:3:"php";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:11;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"459831f86db78b16887d138207250fd9";s:4:"name";s:30:"MDB2/Driver/Manager/Common.php";s:4:"role";s:3:"php";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:12;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"005901a0e84f6ff717e0847f0a3faf14";s:4:"name";s:29:"MDB2/Driver/Native/Common.php";s:4:"role";s:3:"php";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:13;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"edf3e1b0c845dedf7473960e632c8c21";s:4:"name";s:30:"MDB2/Driver/Reverse/Common.php";s:4:"role";s:3:"php";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:14;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"af81dd360b2d2d09f8c978214b06a553";s:4:"name";s:13:"MDB2/Date.php";s:4:"role";s:3:"php";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:15;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"0aad199da225ee0eabe9eb16e7ef8e72";s:4:"name";s:17:"MDB2/Extended.php";s:4:"role";s:3:"php";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:16;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"023c4bda6db2d8f277d8d3c76dc8f850";s:4:"name";s:17:"MDB2/Iterator.php";s:4:"role";s:3:"php";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:17;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"bd83458d9b7a044cb44956244a584849";s:4:"name";s:12:"MDB2/LOB.php";s:4:"role";s:3:"php";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:18;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"01d41e566bdb62c7bcb432c8039dda9a";s:4:"name";s:16:"tests/basic.phpt";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:19;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"d67ccf96fabd2e95fa57a7ea76549349";s:4:"name";s:17:"tests/clitest.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:20;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"c90cdd55233d9ef470150c06a946d213";s:4:"name";s:16:"tests/config.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:21;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"2a2c534ab4afb0c05ca9d7ca47815bf5";s:4:"name";s:30:"tests/Console_TestListener.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:22;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"19ef782cc5be7de11c369889a74044d5";s:4:"name";s:28:"tests/driver_test.schema.xml";s:4:"role";s:4:"test";}}i:23;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"d46a8f267dbd54f0c7ff55e479d33e7e";s:4:"name";s:27:"tests/HTML_TestListener.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:24;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"ff346ecb984d644ec23584ddb02527b5";s:4:"name";s:23:"tests/import.schema.php";s:4:"role";s:4:"test";}}i:25;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"b56138622fdae4c539b7be33fb7d957e";s:4:"name";s:27:"tests/MDB2_api_testcase.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:26;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"9ddc66748dd375105b4ffda677f57e41";s:4:"name";s:28:"tests/MDB2_bugs_testcase.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:27;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"f8534befe37efc7f35beb0897b75f951";s:4:"name";s:27:"tests/MDB2_Connect_Test.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:28;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"73383f476c1788a49831fcf5daeef744";s:4:"name";s:32:"tests/MDB2_datatype_testcase.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:29;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"52612ab88c430f08e108d146b46a57d2";s:4:"name";s:32:"tests/MDB2_extended_testcase.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:30;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"ca4ad92dd091bc59b0f0be14b8cfdc0c";s:4:"name";s:32:"tests/MDB2_function_testcase.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:31;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"e063e6c063d963de546c3bd90cb25283";s:4:"name";s:33:"tests/MDB2_internals_testcase.php";s:4:"role";s:4:"test";}}i:32;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"802fce3b33dfff70dbe2ca20c2671409";s:4:"name";s:31:"tests/MDB2_manager_testcase.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:33;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"22be0efc5b2b81bd6cd6ebe31747445e";s:4:"name";s:30:"tests/MDB2_native_testcase.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:34;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"92fcbe9e6c2efc8290437d3c87507583";s:4:"name";s:26:"tests/MDB2_nonstandard.php";s:4:"role";s:4:"test";}}i:35;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"32504b5dd5ff479da628abd6f96753c3";s:4:"name";s:32:"tests/MDB2_nonstandard_ibase.php";s:4:"role";s:4:"test";}}i:36;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"dee3b6f3069fe286c304ca32b77dbe99";s:4:"name";s:32:"tests/MDB2_nonstandard_mssql.php";s:4:"role";s:4:"test";}}i:37;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"1766c43f50ce08418b524a6047462e4d";s:4:"name";s:32:"tests/MDB2_nonstandard_mysql.php";s:4:"role";s:4:"test";}}i:38;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"14f12bd33f7212d51b400e0a3ea9dff9";s:4:"name";s:33:"tests/MDB2_nonstandard_mysqli.php";s:4:"role";s:4:"test";}}i:39;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"d8c9287b3614da53d818ef86bfc9ef86";s:4:"name";s:31:"tests/MDB2_nonstandard_oci8.php";s:4:"role";s:4:"test";}}i:40;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"3e790ed8bf0b3b91ec518cdab9eba271";s:4:"name";s:32:"tests/MDB2_nonstandard_pgsql.php";s:4:"role";s:4:"test";}}i:41;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"54882586bf87e9f3b5d5ab9a20e3e5f7";s:4:"name";s:33:"tests/MDB2_nonstandard_sqlite.php";s:4:"role";s:4:"test";}}i:42;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"b29a49619cf11ba7f531bb806b25619b";s:4:"name";s:31:"tests/MDB2_reverse_testcase.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:43;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"2925fd7431313d5df54e068544f8982f";s:4:"name";s:23:"tests/MDB2_testcase.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:44;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"d56f2bd9b951bab6646f00ceeb4fd986";s:4:"name";s:29:"tests/MDB2_usage_testcase.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:45;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"ca453d042076964cbd3350902ad25fa6";s:4:"name";s:12:"tests/README";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:46;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"a2c50ccea24f7bdd5439b366608d59d5";s:4:"name";s:14:"tests/test.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:47;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"dc05c6cc4540981d350ccac2005c2578";s:4:"name";s:20:"tests/testchoose.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:48;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"3c4d2c9d89398c5692d36299d98f9c6e";s:4:"name";s:15:"tests/tests.css";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:49;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"841447ae8672a6779166791d0bf6ec03";s:4:"name";s:19:"tests/testUtils.php";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:50;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"c30bfb476b678d53c7f5e158bde7d9a9";s:4:"name";s:25:"tests/test_setup.php.dist";s:4:"role";s:4:"test";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}i:51;a:1:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"a5019765abfd14334f25231c61c568ef";s:4:"name";s:7:"LICENSE";s:4:"role";s:4:"data";}}i:52;a:2:{s:7:"attribs";a:4:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"0d4093f6d7db5ec64434116b700e9a82";s:4:"name";s:8:"MDB2.php";s:4:"role";s:3:"php";}s:13:"tasks:replace";a:1:{s:7:"attribs";a:3:{s:4:"from";s:17:"@package_version@";s:2:"to";s:7:"version";s:4:"type";s:12:"package-info";}}}}}}s:12:"dependencies";a:2:{s:8:"required";a:3:{s:3:"php";a:1:{s:3:"min";s:5:"4.3.2";}s:13:"pearinstaller";a:1:{s:3:"min";s:7:"1.4.0b1";}s:7:"package";a:3:{s:4:"name";s:4:"PEAR";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:5:"1.3.6";}}s:5:"group";a:9:{i:0;a:2:{s:7:"attribs";a:2:{s:4:"hint";s:29:"Frontbase SQL driver for MDB2";s:4:"name";s:5:"fbsql";}s:10:"subpackage";a:3:{s:4:"name";s:17:"MDB2_Driver_fbsql";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:5:"0.3.0";}}i:1;a:2:{s:7:"attribs";a:2:{s:4:"hint";s:34:"Interbase/Firebird driver for MDB2";s:4:"name";s:5:"ibase";}s:10:"subpackage";a:3:{s:4:"name";s:17:"MDB2_Driver_ibase";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:5:"1.4.1";}}i:2;a:2:{s:7:"attribs";a:2:{s:4:"hint";s:21:"MySQL driver for MDB2";s:4:"name";s:5:"mysql";}s:10:"subpackage";a:3:{s:4:"name";s:17:"MDB2_Driver_mysql";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:5:"1.4.1";}}i:3;a:2:{s:7:"attribs";a:2:{s:4:"hint";s:22:"MySQLi driver for MDB2";s:4:"name";s:6:"mysqli";}s:10:"subpackage";a:3:{s:4:"name";s:18:"MDB2_Driver_mysqli";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:5:"1.4.1";}}i:4;a:2:{s:7:"attribs";a:2:{s:4:"hint";s:29:"MS SQL Server driver for MDB2";s:4:"name";s:5:"mssql";}s:10:"subpackage";a:3:{s:4:"name";s:17:"MDB2_Driver_mssql";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:5:"1.2.1";}}i:5;a:2:{s:7:"attribs";a:2:{s:4:"hint";s:22:"Oracle driver for MDB2";s:4:"name";s:4:"oci8";}s:10:"subpackage";a:3:{s:4:"name";s:16:"MDB2_Driver_oci8";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:5:"1.4.1";}}i:6;a:2:{s:7:"attribs";a:2:{s:4:"hint";s:26:"PostgreSQL driver for MDB2";s:4:"name";s:5:"pgsql";}s:10:"subpackage";a:3:{s:4:"name";s:17:"MDB2_Driver_pgsql";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:5:"1.4.1";}}i:7;a:2:{s:7:"attribs";a:2:{s:4:"hint";s:24:"Querysim driver for MDB2";s:4:"name";s:8:"querysim";}s:10:"subpackage";a:3:{s:4:"name";s:20:"MDB2_Driver_querysim";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:5:"0.6.0";}}i:8;a:2:{s:7:"attribs";a:2:{s:4:"hint";s:23:"SQLite2 driver for MDB2";s:4:"name";s:6:"sqlite";}s:10:"subpackage";a:3:{s:4:"name";s:18:"MDB2_Driver_sqlite";s:7:"channel";s:12:"pear.php.net";s:3:"min";s:5:"1.4.1";}}}}s:10:"phprelease";s:0:"";s:9:"changelog";a:1:{s:7:"release";a:23:{i:0;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"2.4.1";s:3:"api";s:5:"2.4.1";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2007-05-03";s:7:"license";s:11:"BSD License";s:5:"notes";s:2022:"- fixed bug #10407: propagate errors in MDB2_Statement_Common::execute()
|
|
|
62 |
- fixed bug #10452: error in getDeclaration() with custom datatype_map and no
|
|
|
63 |
datatype_map_callback function
|
|
|
64 |
- fixed bug #10521: quote($val,'decimal') and quote($val,'float') pass unsafe characters
|
|
|
65 |
- return length as "precision,scale" for NUMERIC and DECIMAL fields in mapNativeDatatype()
|
|
|
66 |
- fixed bug #10537: safer check for valid MDB2 connection in singleton() [fornax]
|
|
|
67 |
- fixed bug #10598: MDB2::singleton() not working in some rare conditions [fornax]
|
|
|
68 |
- in getTableIndexDefinition() and getTableConstraintDefinition() in the Reverse
|
|
|
69 |
module, also return the field position in the index/constraint
|
|
|
70 |
- exec() now returns a reference instead of a copy to prevent memory leaks
|
|
|
71 |
- request #10787: MDB2_Driver_Common::$phptype and $dbsyntax properties are now public
|
|
|
72 |
|
|
|
73 |
open todo items:
|
|
|
74 |
- handle autoincrement fields in alterTable()
|
|
|
75 |
- add length handling to LOB reverse engineering
|
|
|
76 |
- add EXPLAIN abstraction
|
|
|
77 |
- add cursor support along the lines of PDO (Request #3660 etc.)
|
|
|
78 |
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)
|
|
|
79 |
- add support to export/import in CSV format
|
|
|
80 |
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)
|
|
|
81 |
- add support for database/table/row LOCKs
|
|
|
82 |
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints
|
|
|
83 |
- generate STATUS file from test suite results and allow users to submit test results
|
|
|
84 |
- add support for full text index creation and querying
|
|
|
85 |
- add tests to check if the RDBMS specific handling with portability options
|
|
|
86 |
disabled behaves as expected
|
|
|
87 |
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)
|
|
|
88 |
- add a getTableFieldsDefinitions() method to be used in tableInfo()
|
|
|
89 |
- drop ILIKE from matchPattern() and instead add a second parameter to
|
|
|
90 |
handle case sensitivity with arbitrary operators
|
|
|
91 |
- add charset and collation support to field declaration in all drivers
|
|
|
92 |
- handle LOBs in buffered result sets (Request #8793)";}i:1;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"2.4.0";s:3:"api";s:5:"2.4.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2007-03-13";s:7:"license";s:11:"BSD License";s:5:"notes";s:2758:"- propagate errors in getTableFieldDefinition() in the Reverse module
|
|
|
93 |
- internally use MDB2::classExists() wrapper instead of directly calling class_exists()
|
|
|
94 |
- fixed bug #9502: query result misbehaves when the number of returned columns
|
|
|
95 |
is greater than the number of passed types
|
|
|
96 |
- fixed bug #9748: Table name is not quoted in Extended.php buildManipSQL()
|
|
|
97 |
- fixed bug #9800: when the php extension for the driver fails to load, the
|
|
|
98 |
error is not propagated correctly and the script dies
|
|
|
99 |
- propagate errors in the Datatype module
|
|
|
100 |
- implemented guid() in the Function module [globally unique identifier]
|
|
|
101 |
(thanks to mario dot adam at schaeffler dot com)
|
|
|
102 |
- fixed bug #4854: Oracle Easy Connect syntax only works with array DSN
|
|
|
103 |
- fixed bug #10105: inTransaction() was returning an incorrect value after a call
|
|
|
104 |
to disconnect() or __destruct()
|
|
|
105 |
- implemented a fallback mechanism within getTableIndexDefinition() and
|
|
|
106 |
getTableConstraintDefinition() in the Reverse module to ignore the 'idxname_format'
|
|
|
107 |
option and use the index name as provided in case of failure before returning
|
|
|
108 |
an error
|
|
|
109 |
- added a 'nativetype_map_callback' option to map native data declarations back to
|
|
|
110 |
custom data types (thanks to Andrew Hill).
|
|
|
111 |
- fixed bug #10234 and bug #10233: MDB2_Driver_Datatype_Common::mapNativeDatatype()
|
|
|
112 |
must ensure that it returns the correct length value, or null
|
|
|
113 |
- added support for TEMPORARY tables (patch by Andrew Hill)
|
|
|
114 |
- phpdoc fixes
|
|
|
115 |
- fixed tests to be compatible with PHP4
|
|
|
116 |
- added new tests, including some MDB2 internals tests by Andrew Hill and Monique Szpak
|
|
|
117 |
|
|
|
118 |
open todo items:
|
|
|
119 |
- handle autoincrement fields in alterTable()
|
|
|
120 |
- add length handling to LOB reverse engineering
|
|
|
121 |
- add EXPLAIN abstraction
|
|
|
122 |
- add cursor support along the lines of PDO (Request #3660 etc.)
|
|
|
123 |
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)
|
|
|
124 |
- add support to export/import in CSV format
|
|
|
125 |
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)
|
|
|
126 |
- add support for database/table/row LOCKs
|
|
|
127 |
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints
|
|
|
128 |
- generate STATUS file from test suite results and allow users to submit test results
|
|
|
129 |
- add support for full text index creation and querying
|
|
|
130 |
- add tests to check if the RDBMS specific handling with portability options
|
|
|
131 |
disabled behaves as expected
|
|
|
132 |
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)
|
|
|
133 |
- add a getTableFieldsDefinitions() method to be used in tableInfo()
|
|
|
134 |
- drop ILIKE from matchPattern() and instead add a second parameter to
|
|
|
135 |
handle case sensitivity with arbitrary operators
|
|
|
136 |
- add charset and collation support to field declaration in all drivers
|
|
|
137 |
- handle LOBs in buffered result sets (Request #8793)";}i:2;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"2.3.0";s:3:"api";s:5:"2.3.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2006-11-03";s:7:"license";s:11:"BSD License";s:5:"notes";s:3085:"- added charset and collation support to field declaration
|
|
|
138 |
- added SQL comments and quoted identifier handling inside prepared statement parser
|
|
|
139 |
- expanded length/scale support for numeric types (Request #7170)
|
|
|
140 |
- added statement_format option to make it possible to define the name used for
|
|
|
141 |
native statements if supported
|
|
|
142 |
- fixed bug when setting MDB2_PREPARE_RESULT in autoExecute()
|
|
|
143 |
- fixed notice in exec() call in autoExecute()
|
|
|
144 |
- reversed if logic in MDB2::fileExists checking to be more fool proof with
|
|
|
145 |
safe_mode restrictions (Bug #8296)
|
|
|
146 |
- moved CREATE TABLE query generation in a separate method for reuse in the drivers
|
|
|
147 |
- added testLOBRead to test multiple LOB reads
|
|
|
148 |
- fixed getColumnNames() optional parameter handling (Bug #8857)
|
|
|
149 |
- phpdoc fix for fetchCol/fetchAll
|
|
|
150 |
- added an extra if in the autoExecute method of the Extended driver (Bug #8878)
|
|
|
151 |
- expanded tableInfo() tests
|
|
|
152 |
- expanded prepare() tests
|
|
|
153 |
- fix the incorrect use of currID() for lastInsertID() emulation (Bug #9107)
|
|
|
154 |
- add test for lastInsertID()
|
|
|
155 |
- also output php version in test results
|
|
|
156 |
- added supported 'new_link'
|
|
|
157 |
- dropped use of track_errors because 5.2.0 causes php_errormsg to not get
|
|
|
158 |
populated if a custom error handler is set and it was causing issues for
|
|
|
159 |
safe_mode users anyways
|
|
|
160 |
- added some error handling into the bindValues()/bindParams() methods (Bug #9133)
|
|
|
161 |
- bindValue() does not need values by reference
|
|
|
162 |
- fix issue in execute() when parameter is a scalar integer of 0 (Bug #9158)
|
|
|
163 |
- implemented stream_stat() method (Bug #9092)
|
|
|
164 |
- better deal with non scalar arguments in test helper function as 5.2.0 explodes otherwise
|
|
|
165 |
- extracted _skipDelimitedStrings() method from prepare()
|
|
|
166 |
- added test for _skipDelimitedStrings() method
|
|
|
167 |
- migrated to package.xml version 2
|
|
|
168 |
|
|
|
169 |
open todo items:
|
|
|
170 |
- handle autoincrement fields in alterTable()
|
|
|
171 |
- add length handling to LOB reverse engineering
|
|
|
172 |
- expand charset support in schema management and result set handling (Request #4666)
|
|
|
173 |
- add EXPLAIN abstraction
|
|
|
174 |
- add cursor support along the lines of PDO (Request #3660 etc.)
|
|
|
175 |
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)
|
|
|
176 |
- add support to export/import in CSV format
|
|
|
177 |
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)
|
|
|
178 |
- add support for database/table/row LOCKs
|
|
|
179 |
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints
|
|
|
180 |
- generate STATUS file from test suite results and allow users to submit test results
|
|
|
181 |
- explore use of install groups (pear install MDB2#mysql)
|
|
|
182 |
- add support for full text index creation and querying
|
|
|
183 |
- add tests to check if the RDBMS specific handling with portability options
|
|
|
184 |
disabled behaves as expected
|
|
|
185 |
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)
|
|
|
186 |
- add a getTableFieldsDefinitions() method to be used in tableInfo()
|
|
|
187 |
- drop ILIKE from matchPattern() and instead add a second parameter to
|
|
|
188 |
handle case sensitivity with arbitrary operators
|
|
|
189 |
- add charset and collation support to field declaration in all drivers
|
|
|
190 |
- handle LOBs in buffered result sets (Request #8793)";}i:3;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"2.2.2";s:3:"api";s:5:"2.2.2";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2006-09-03";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:1412:"- flip positions property array in prepared statement objects to make it
|
|
|
191 |
possible to optionally use the same named placeholder in multiple places
|
|
|
192 |
inside a single prepared statement
|
|
|
193 |
- expanded prepare tests to cover more edge cases
|
|
|
194 |
- renamed valid_types property to valid_default_values in the Datatype module
|
|
|
195 |
|
|
|
196 |
open todo items:
|
|
|
197 |
- handle autoincrement fields in alterTable()
|
|
|
198 |
- add length handling to LOB reverse engineering
|
|
|
199 |
- expand charset support in schema management and result set handling (Request #4666)
|
|
|
200 |
- add EXPLAIN abstraction
|
|
|
201 |
- add cursor support along the lines of PDO (Request #3660 etc.)
|
|
|
202 |
- expand length/scale support for numeric types (Request #7170)
|
|
|
203 |
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)
|
|
|
204 |
- add support to export/import in CSV format
|
|
|
205 |
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)
|
|
|
206 |
- add support for database/table/row LOCKs
|
|
|
207 |
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints
|
|
|
208 |
- generate STATUS file from test suite results and allow users to submit test results
|
|
|
209 |
- add a package2.xml and explore use of install groups (pear install MDB2#mysql)
|
|
|
210 |
- add support for full text index creation and querying
|
|
|
211 |
- add tests to check if the RDBMS specific handling with portability options
|
|
|
212 |
disabled behaves as expected
|
|
|
213 |
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)";}i:4;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"2.2.1";s:3:"api";s:5:"2.2.1";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2006-08-21";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:2632:"- fixed missing code in tableInfo() (Bug #8289)
|
|
|
214 |
- fixed handling of indexes and constraints and types in tableInfo() (fixes BC break)
|
|
|
215 |
- do not set nested transaction error if error is expected
|
|
|
216 |
- explictly default to NULL when the column is NULLable and no default is set
|
|
|
217 |
(related to Bug #8359)
|
|
|
218 |
- added support for case insensitive matching via ILIKE in matchPattern()
|
|
|
219 |
- added getAsKeyword() for generating "AS" keyword as required by the RDBMS
|
|
|
220 |
- return an error if a named placeholder name is used twice inside a single statement
|
|
|
221 |
- add support for multi column PRIMARY KEYs in createTable()
|
|
|
222 |
- added lower() and upper() to the function module
|
|
|
223 |
- moved escaping tests to datatype tests
|
|
|
224 |
- added summary at the end of a test run for each RDBMS
|
|
|
225 |
- explicitly pass the php_type var in all internal loadModule() calls
|
|
|
226 |
- added support for 'primary' option in createTable()
|
|
|
227 |
- expanded NULL tests
|
|
|
228 |
- fixed handling return values when disable_query is set in _doQuery() and _execute()
|
|
|
229 |
- check if safe_mode is enabled in fileExists() to determine what algo to use (Bug #8296)
|
|
|
230 |
- added a test case for updating LOBs
|
|
|
231 |
- added rtrim test case for LOBs
|
|
|
232 |
- if result types are specified only rtrim() type 'text' fields (otherwise
|
|
|
233 |
it will mean that for some drivers LOB's would get rtrimmed)
|
|
|
234 |
- phpdoc fixes to the convertResult*() methods
|
|
|
235 |
- added execParam() method and code tweaks for get*() methods in the Extended module
|
|
|
236 |
- removed redundant assertions when testing if a given feature is unsupported
|
|
|
237 |
- removed tests of portability off (users should just set the given portability
|
|
|
238 |
setting they want to test in their test_setup.php)
|
|
|
239 |
|
|
|
240 |
open todo items:
|
|
|
241 |
- handle autoincrement fields in alterTable()
|
|
|
242 |
- add length handling to LOB reverse engineering
|
|
|
243 |
- expand charset support in schema management and result set handling (Request #4666)
|
|
|
244 |
- add EXPLAIN abstraction
|
|
|
245 |
- add cursor support along the lines of PDO (Request #3660 etc.)
|
|
|
246 |
- expand length/scale support for numeric types (Request #7170)
|
|
|
247 |
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)
|
|
|
248 |
- add support to export/import in CSV format
|
|
|
249 |
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)
|
|
|
250 |
- add support for database/table/row LOCKs
|
|
|
251 |
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints
|
|
|
252 |
- generate STATUS file from test suite results and allow users to submit test results
|
|
|
253 |
- add a package2.xml and explore use of install groups (pear install MDB2#mysql)
|
|
|
254 |
- add support for full text index creation and querying
|
|
|
255 |
- add tests to check if the RDBMS specific handling with portability options
|
|
|
256 |
disabled behaves as expected";}i:5;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"2.2.0";s:3:"api";s:5:"2.2.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2006-07-23";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:3286:"- added MDB2_AUTOQUERY_SELECT (Request #7817)
|
|
|
257 |
- added nested transaction support (inspired by ADODB's smart transactions) but
|
|
|
258 |
expanded to optionally use SAVEPOINTs *EXPERIMENTAL*
|
|
|
259 |
beginNestedTransaction(), completeNestedTransaction(),
|
|
|
260 |
failNestedTransaction(), getNestedTransactionError()
|
|
|
261 |
- inTransaction() will now return an integer with the nested transaction depth
|
|
|
262 |
if a nested transaction has been started
|
|
|
263 |
- added setTransactionIsolation()
|
|
|
264 |
- added savepoint support to beginTransaction(), commit() and rollback()
|
|
|
265 |
- added Native base class for consistency
|
|
|
266 |
- added missing colnum parameter to queryOne() [used by getOne()]
|
|
|
267 |
- added new tests for get*() Extended module methods
|
|
|
268 |
- fixed missing db variable from getValidTypes()
|
|
|
269 |
- added testing of a prepared statement with no parameters
|
|
|
270 |
- added handling of empty result sets to result set verification in the test suite
|
|
|
271 |
- oci8 and ibase (and possibly other rdbms) do not like freeing the statement
|
|
|
272 |
before reading the result set (Bug #8068):
|
|
|
273 |
* moved statement freeing after reading the result set in get*() Extended methods
|
|
|
274 |
* bypass prepared statement API for queries without parameters in autoExecute()
|
|
|
275 |
(this means you cannot use parameters with SELECT statements in autoExecute()
|
|
|
276 |
on the above mentioned platforms)
|
|
|
277 |
- use data type callback in getValidTypes()
|
|
|
278 |
- fixed identifier quoting in buildManipSQL() for SELECT statements (thx Kailoran)
|
|
|
279 |
- phpdoc and cosmetic fixes in limitQuery()
|
|
|
280 |
- added matchPattern() and patternEscapeString(), escapePattern() *EXPERIMENTAL*
|
|
|
281 |
- added ability to escape wildcard characters in escape() and quote()
|
|
|
282 |
- added debug() call at the end of a query/prepare/execute calling (Request #7933)
|
|
|
283 |
- added context array parameter to debug() and make use of it whereever sensible
|
|
|
284 |
- added optional method name parameter to raiseError() and use whereever possible
|
|
|
285 |
- added a new option "debug_expanded_output" which needs to be set to true to
|
|
|
286 |
get additional context information and to get "post" callback calls
|
|
|
287 |
- added testPortabilityOptions()
|
|
|
288 |
- set length of 8 and fixed for user_password in the test suite
|
|
|
289 |
- reworked tableInfo() to use a common implementation based on getTableFieldDefinition()
|
|
|
290 |
when a table name is passed (Bug #8124)
|
|
|
291 |
- disconnect after changing database/DSN (otherwise transactions may be left open)
|
|
|
292 |
|
|
|
293 |
open todo items:
|
|
|
294 |
- handle autoincrement fields in alterTable()
|
|
|
295 |
- add length handling to LOB reverse engineering
|
|
|
296 |
- expand charset support in schema management and result set handling (Request #4666)
|
|
|
297 |
- add EXPLAIN abstraction
|
|
|
298 |
- add cursor support along the lines of PDO (Request #3660 etc.)
|
|
|
299 |
- expand length/scale support for numeric types (Request #7170)
|
|
|
300 |
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)
|
|
|
301 |
- add support to export/import in CSV format
|
|
|
302 |
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)
|
|
|
303 |
- add support to generating "AS" keyword if required
|
|
|
304 |
- add support for database/table/row LOCKs
|
|
|
305 |
- add ActiveRecord implementation (probably as a separate package)
|
|
|
306 |
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints
|
|
|
307 |
- extended to support for case insensitive matching via ILIKE/collate in matchPattern()
|
|
|
308 |
- generate STATUS file from test suite results and allow users to submit test results";}i:6;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"2.1.0";s:3:"api";s:5:"2.1.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2006-06-15";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:1721:"- removed bogus code from execute()
|
|
|
309 |
- new test case for floats/decimals and locale
|
|
|
310 |
- reworked fix for float/decimal handling
|
|
|
311 |
- expanded scientific notation handling
|
|
|
312 |
- fixed several minor issues with the datatype tests
|
|
|
313 |
- removed use of "*" in all places in the test suite that are followed by a fetch
|
|
|
314 |
- tweaked handling of free() for prepared statements
|
|
|
315 |
- return error if a prepared statement is attempted to be free'ed or executed again
|
|
|
316 |
- added result_wrap_class param to limitQuery()
|
|
|
317 |
- added parameter to not quote return value of getBeforeId()
|
|
|
318 |
- added setCharset()
|
|
|
319 |
- enable transactions by default
|
|
|
320 |
- added decimal reverse engineering test
|
|
|
321 |
- fixed parameter order in assertions in reverse engineering fields tests
|
|
|
322 |
- generalized quoteIdentifier() with a property
|
|
|
323 |
- switched most array_key_exists() calls to !empty() to improve readability and performance
|
|
|
324 |
- fixed a few edge cases and potential warnings
|
|
|
325 |
- added ability to rewrite queries for query(), exec() and prepare() using a debug handler callback
|
|
|
326 |
- added 'datatype_map' option (Request #7797)
|
|
|
327 |
- added reverse parameter to getColumnNames()
|
|
|
328 |
- added 'datatype_map_callback' option
|
|
|
329 |
- added getValidTypes() method to handle additional types from the 'datatype_map' option
|
|
|
330 |
- set last_query in _execute() to prepared statement (Bug #7856)
|
|
|
331 |
- adding random function emulation to generate a float between 0 and 1
|
|
|
332 |
- explicitly fetch row id = 1 in LOB tests
|
|
|
333 |
- cosmetic fix to prepare() (Bug #7883)
|
|
|
334 |
- bumped PHP dependency to 4.3.2 because of LOB stream support
|
|
|
335 |
|
|
|
336 |
open todo items:
|
|
|
337 |
- handle autoincrement fields in alterTable()
|
|
|
338 |
- add support for ADODB style "smart transactions":
|
|
|
339 |
http://phplens.com/lens/adodb/docs-adodb.htm#ex11
|
|
|
340 |
- add length handling to LOB reverse engineering";}i:7;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"2.0.3";s:3:"api";s:5:"2.0.3";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2006-05-22";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:633:"- fix float/decimal handling (Request #3021)
|
|
|
341 |
- default to decimal for double (instead of float)
|
|
|
342 |
- serialize arrays when no type is explicitly given
|
|
|
343 |
- phpdoc fixes
|
|
|
344 |
- expanded FLOAT test
|
|
|
345 |
- added support for identifier quoting (Request #7671)
|
|
|
346 |
- added test class for the Extended module
|
|
|
347 |
- added support for DELETE in auto*() methods (Request #5345)
|
|
|
348 |
- added "emulate_prepared" option to force prepared statement emulation
|
|
|
349 |
|
|
|
350 |
open todo items:
|
|
|
351 |
- handle autoincrement fields in alterTable()
|
|
|
352 |
- add support for ADODB style "smart transactions":
|
|
|
353 |
http://phplens.com/lens/adodb/docs-adodb.htm#ex11
|
|
|
354 |
- add length handling to LOB reverse engineering";}i:8;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"2.0.2";s:3:"api";s:5:"2.0.2";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2006-05-14";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:2298:"- phpdoc and folding mark fixes (thx Laurent and Stoyan)
|
|
|
355 |
- added getTriggerDefinition() in the Reverse module
|
|
|
356 |
- added listTableViews() in the Manager module
|
|
|
357 |
- explicitly set is_manip parameter to false for transaction debug calls
|
|
|
358 |
- various minor tweaks to error messages, phpdoc and adding stub methods to the
|
|
|
359 |
common driver
|
|
|
360 |
- added row seeking support to fetchOne()
|
|
|
361 |
- added ability to hint that a constraint is a primary key in dropConstraint()
|
|
|
362 |
- since we no longer complain about primary keys not being called primary we can
|
|
|
363 |
remove the necessary hacks in the test suite
|
|
|
364 |
- improved LOB tests in the test suite
|
|
|
365 |
- do not require Manager module for core API tests
|
|
|
366 |
- added support for fixed and variable types for 'text' in declarations,
|
|
|
367 |
as well as in reverse engineering (Request #1523)
|
|
|
368 |
- updated MAINTAINERS to current status
|
|
|
369 |
- readded STATUS document, still needs to be filled with content
|
|
|
370 |
- tweaked handling of error objects inside raiseError()
|
|
|
371 |
- made _doQuery() return a reference
|
|
|
372 |
- added userinfo's to all raiseError calls that previously had none
|
|
|
373 |
- added bindValueArray()
|
|
|
374 |
- use bindValueArray() instead of bindParamArray() in all internal calls
|
|
|
375 |
- removed the skeleton drivers, since its too much work to maintain them
|
|
|
376 |
and there are plenty of sample drivers to look at
|
|
|
377 |
- fixed example due to API change in MDB2_Schema (Bug #7575)
|
|
|
378 |
- added 'prepared_statements' supported meta data setting
|
|
|
379 |
- do not retrieve lob in the stream constructor and streams_eof()
|
|
|
380 |
- strip of file:// prefix in writeLOBToFile()
|
|
|
381 |
- typo fix ressource/resource in LOB array
|
|
|
382 |
- removed lob property from the LOB streams wrapper (references are always
|
|
|
383 |
shaky business in PHP so lets use them as little as possible)
|
|
|
384 |
- fixed _destroyLOB() API to match other private LOB methods
|
|
|
385 |
- fixed phpdoc comments of all private LOB methods
|
|
|
386 |
- typo fix in autoincrement test
|
|
|
387 |
- reworked index/constraint creation to not affected unnecessary reverse tests
|
|
|
388 |
|
|
|
389 |
Note: Due to changes in generation of declaration statements you may need to
|
|
|
390 |
update your test databases (for example by rerunning the MDB2_Schema
|
|
|
391 |
installation using the CVS version or a release greater than 0.5.0)
|
|
|
392 |
|
|
|
393 |
open todo items:
|
|
|
394 |
- handle autoincrement fields in alterTable()
|
|
|
395 |
- add support for ADODB style "smart transactions":
|
|
|
396 |
http://phplens.com/lens/adodb/docs-adodb.htm#ex11";}i:9;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"2.0.1";s:3:"api";s:5:"2.0.1";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2006-04-16";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:1609:"- added new comprehensive tests for the Reverse module
|
|
|
397 |
- fixed testcases to pass for mysql[i] (needs pk's to be called "primary") ..
|
|
|
398 |
sqlite is probably severely broken for these tests
|
|
|
399 |
- added ability to specify port number when using unix sockets in
|
|
|
400 |
MDB2::parseDSN() (bug #5982)
|
|
|
401 |
- added test for multi_query option
|
|
|
402 |
- typo fix in get constraint test
|
|
|
403 |
- use ugly fopen() hack in fileExists()
|
|
|
404 |
http://marc.theaimsgroup.com/?l=pear-dev&m=114148949106207&w=2
|
|
|
405 |
- allow "." and "$" in sequence name (bug #7081)
|
|
|
406 |
- aligned _modifyQuery() signature and phpdoc
|
|
|
407 |
- added inTransaction() to determine if a transaction is currently open
|
|
|
408 |
- added support for tabe options in createTable() (bug ##7079)
|
|
|
409 |
- make it possible to overwrite the error code-message map
|
|
|
410 |
- added sample sqlite in memory dsn to php5 example
|
|
|
411 |
- added 'result_introspection' supported metadata support
|
|
|
412 |
- added bindValue() method
|
|
|
413 |
- use MDB2_PREPARE_MANIP where we previously were using false
|
|
|
414 |
- fixed default values for date and timestamp
|
|
|
415 |
- if MDB2_PORTABILITY_EMPTY_TO_NULL is set change '' to ' ' in _getDeclaration()
|
|
|
416 |
- refactored class loading into MDB2::loadClass()
|
|
|
417 |
- properly quote CURRENT_* for temporal types (bug #6416)
|
|
|
418 |
- added connected_server_info to cache server info in getServerInfo()
|
|
|
419 |
- reset all connection related properties in disconnect()
|
|
|
420 |
- separated result_buffering and prefetching by adding the new result_prefetching option
|
|
|
421 |
- set error code in all raiseError() calls
|
|
|
422 |
- added support for length in reverse engineering of integer fields
|
|
|
423 |
- improve test suite documentation
|
|
|
424 |
|
|
|
425 |
open todo items:
|
|
|
426 |
- handle autoincremement fields in alterTable()";}i:10;a:5:{s:7:"version";a:2:{s:7:"release";s:5:"2.0.0";s:3:"api";s:5:"2.0.0";}s:9:"stability";a:2:{s:7:"release";s:6:"stable";s:3:"api";s:6:"stable";}s:4:"date";s:10:"2006-02-09";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:79:"- handle null as resource when disable_query option is enabled in result object";}i:11;a:5:{s:7:"version";a:2:{s:7:"release";s:8:"2.0.0RC5";s:3:"api";s:8:"2.0.0RC5";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2006-02-05";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:916:"- expanded testing of prepared queries (out of order binding, escape characters
|
|
|
427 |
inside the string, lobs without named parameters that match the field name)
|
|
|
428 |
- removed ugly hack for quote parameter in quote() since it was insufficient
|
|
|
429 |
(escaping also needs to be prevented)
|
|
|
430 |
- added support for out of order parameter binding in prepared queries
|
|
|
431 |
- expanded testing of prepared queries (out of order binding, escape characters
|
|
|
432 |
inside the string, lobs without named parameters that match the field name)
|
|
|
433 |
- reset row_limit and row_offset after calling prepare() just like we do for query() and exec()
|
|
|
434 |
- cosmetic fix (removed "row_" prefix from "row_limit" and "row_offset")
|
|
|
435 |
- now using INT/TINYINT/SMALLINT by default instead of CHAR(1) for the boolean datatype
|
|
|
436 |
(BC BREAK!)
|
|
|
437 |
- added MDB2_datatype_testcase to test suite
|
|
|
438 |
- support an arbitrary number of arguments in concat()
|
|
|
439 |
- add property phpdoc comments to LOB.php";}i:12;a:5:{s:7:"version";a:2:{s:7:"release";s:8:"2.0.0RC4";s:3:"api";s:8:"2.0.0RC4";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2006-01-13";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:796:"- explicitly pass if the module is phptype specific in all loadModule calls (bug #6226)
|
|
|
440 |
- some cleanups in loadModule()
|
|
|
441 |
- eliminate possible warnings in execute() and _assignBindColumns()
|
|
|
442 |
- do not silence includes when debug option is enabled
|
|
|
443 |
- fixed serious bug in autoincrement test
|
|
|
444 |
- added dbsyntax to getDSN() string output (feature request #6463)
|
|
|
445 |
- fixed signature of executeStoredProc()
|
|
|
446 |
- nextResult() returns false if there are no more result sets to read
|
|
|
447 |
- renamed _isIndexName() to _fixIndexName()
|
|
|
448 |
- _fixIndexName() now just attempts to remove possible formatting
|
|
|
449 |
- renamed _isSequenceName() to _fixSequenceName()
|
|
|
450 |
- _fixSequenceName() now just attempts to remove possible formatting, and only
|
|
|
451 |
returns a boolean if no formatting was applied when the new "check" parameter is set to true";}i:13;a:5:{s:7:"version";a:2:{s:7:"release";s:8:"2.0.0RC3";s:3:"api";s:8:"2.0.0RC3";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2005-12-30";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:479:"- added error handling when result set introspection is not supported in _wrapResult()
|
|
|
452 |
- fixed example
|
|
|
453 |
- removed peardb wrapper (its broken, unmaintained and probably unused)
|
|
|
454 |
- added new example using php5 only features
|
|
|
455 |
- MDB2_OK is now a boolean true, instead of integer 1
|
|
|
456 |
- types can now always be keyed by name or by order
|
|
|
457 |
- renamed setResultTypes() in the datatype module to checkResultTypes()
|
|
|
458 |
and modified the signature accordingly
|
|
|
459 |
- removed no longer used MDB2::isManip()";}i:14;a:5:{s:7:"version";a:2:{s:7:"release";s:8:"2.0.0RC2";s:3:"api";s:8:"2.0.0RC2";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2005-12-28";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:616:"- fixed testNow() to use the datatype abstraction
|
|
|
460 |
- fixed testGetTableFieldDefinition() to use a blob column instead of a clob
|
|
|
461 |
since we default to blob when we cannot differntiate between blob and clob
|
|
|
462 |
- split up alterTable() testing into two separate test methods
|
|
|
463 |
- removed errorNative() was never implemented, use errorInfo() instead
|
|
|
464 |
- fixed major bug in _fixResultArrayValues() that would lead to performance or
|
|
|
465 |
incorrect application of portability features
|
|
|
466 |
- phpdoc fixes in LOB.php, Iterator.php, Date.php and Extended.php
|
|
|
467 |
- removed not required prev() and hasPrev() from the SeekableIterator implementation";}i:15;a:5:{s:7:"version";a:2:{s:7:"release";s:8:"2.0.0RC1";s:3:"api";s:8:"2.0.0RC1";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2005-12-21";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:1629:"- added numerous testcases in the manager and reverse module
|
|
|
468 |
- unified case fixing in the list*() methods
|
|
|
469 |
- case-insensitive comparison in _isSequenceName()
|
|
|
470 |
- added getConnection() to fetch a native connection resource
|
|
|
471 |
- split index and constraint handling
|
|
|
472 |
- quote identifiers where possible inside the manager methods depending on
|
|
|
473 |
the new 'quote_identifier' option (defaults to off)
|
|
|
474 |
- refactored get*Declaration() methods to use getTypeDeclaration()
|
|
|
475 |
- setting in_transaction to false on disconnect
|
|
|
476 |
- store if type has changed in compareDefinition()
|
|
|
477 |
- added new Function modules to handle difference in SQL functions
|
|
|
478 |
- added verious new test cases
|
|
|
479 |
- refactored test cases to use an MDB2_testcase base class
|
|
|
480 |
- allow empty field parameter in get*ID() methods (bug #5791)
|
|
|
481 |
- tweaked error messages for file loads
|
|
|
482 |
- split off manipulation queries into exec() method from the query() method *BC BREAK*
|
|
|
483 |
- only if result_types is set to false in prepare() method the query will be
|
|
|
484 |
handled as a DML statement *BC BREAK*
|
|
|
485 |
- use a proper default value if a field is set to not null in _getDeclaration*() (bug #5930)
|
|
|
486 |
- added getServerVersion()
|
|
|
487 |
- renamed defaultOutput() to getDefaultOutput() *BC BREAK*
|
|
|
488 |
- use tableInfo() to automatically determine the result types if type is set to true
|
|
|
489 |
- reworked file loading to work around issues in safe_mode with MDB2::fileExists() (bug #6226)
|
|
|
490 |
- no need to return by reference in getConnection() (it even seems to work for
|
|
|
491 |
mysqli that has objects and not resource connections)
|
|
|
492 |
- added "idxname_format" as option similar to "seqname_format"
|
|
|
493 |
- fixed bug in API calls inside autoExecute() (bug #6286)";}i:16;a:5:{s:7:"version";a:2:{s:7:"release";s:10:"2.0.0beta6";s:3:"api";s:10:"2.0.0beta6";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2005-10-16";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:3425:"Warning: this release features numerous BC breaks!
|
|
|
494 |
|
|
|
495 |
There have been considerable improvements to the datatype, manager and reverse
|
|
|
496 |
modules. Furthermore preliminary support for auto increment and primary keys
|
|
|
497 |
has been added. Please note that making a field auto increment implies a single
|
|
|
498 |
column primary key on this field.
|
|
|
499 |
|
|
|
500 |
- increased php dependency to 4.3.0 due to the usage of the streams API since beta5
|
|
|
501 |
- moved logic from MDB2::connect() to MDB2::factory(), the only difference is
|
|
|
502 |
that MDB2::connect will immediatly try to connect to the database
|
|
|
503 |
- MDB2::singleton now uses MDB2::factory()
|
|
|
504 |
- added support for auto increment and primary key in schema. (mysql[i])
|
|
|
505 |
- alterTable now needs the full definition to work (use getTableFieldDefinition
|
|
|
506 |
from Reverse module if you do not have a definition at hand) this eliminates the need
|
|
|
507 |
of the declaration part in the alterTable array.
|
|
|
508 |
- nicer test chooser. Added some js magic to [un]select all the tests in a group
|
|
|
509 |
- fixed typo in _getTextDeclaration()
|
|
|
510 |
- fix PHP4.4 breakage
|
|
|
511 |
- ensure that types and result_types property in the statement class is an array (bug #4695)
|
|
|
512 |
- added support for fetchmode in the iterator class and for any other result wrapper class (bug #4685)
|
|
|
513 |
- moved getInsertID() into core as lastInsertID()
|
|
|
514 |
- moved getBeforeID() and getAfterID() from core into the extended module
|
|
|
515 |
- added base class for all modules (which provides getDBInstance())
|
|
|
516 |
- added free() method to remove an instance from the global instance array
|
|
|
517 |
- removed schema manager related error codes from MDB2::errorMessage()
|
|
|
518 |
- dont set the include path in test suite (people can do that in test_setup.php)
|
|
|
519 |
- added missing default numRows() method
|
|
|
520 |
- added hack into stream_eof() to handle the BC break in 5.0.x
|
|
|
521 |
- removed uncessary duplicate quoting in quote() in the peardb wrapper (bug #5195)
|
|
|
522 |
- warning fix in BC hack of connect() in the peardb wrapper
|
|
|
523 |
- tweaked error message in setResultTypes()
|
|
|
524 |
- removed PDO compatibility code in bindParam and bindCol, now using 0-index numeric keys again
|
|
|
525 |
- expect keys in type arrays the same way as they are passed for the values in execute() and bindParamArray()
|
|
|
526 |
- add s pattern modifier to preg_replace() call for parameter searches in prepare() (bug #5362)
|
|
|
527 |
- moved all private fetch mode fix methods into _fixResultArrayValues() for performance reasons
|
|
|
528 |
- added new portability fetch mode MDB2_PORTABILITY_FIX_ASSOC_FIELD_NAMES (to remove database/table qualifiers from assoc indexes)
|
|
|
529 |
- renamed MDB2_PORTABILITY_LOWERCASE to MDB2_PORTABILITY_FIX_CASE and use 'field_case' option to determine if to upper- or lowercase (CASE_LOWER/CASE_UPPER)
|
|
|
530 |
- ensure that fetchAll always returns an array() even if the result set was empty
|
|
|
531 |
- use array_key_exists() instead of isset() where possible
|
|
|
532 |
- changed structure of field add/remove/change in alterTable() to match MDB2_Schema
|
|
|
533 |
- added default values for supported property
|
|
|
534 |
- reworked supports() to return the given value and also return errors for non existant support feature
|
|
|
535 |
- reworked subSelect() to use the 'emulated' supports() return value
|
|
|
536 |
- removed implementation of createIndex() (now every driver needs to implement it themselves)
|
|
|
537 |
- sync fileExists with the LiveUser one, explode instead of split and is_readable instead of file_exists.
|
|
|
538 |
- tweaked compare method family to better deal with optional properties
|
|
|
539 |
|
|
|
540 |
open todo items:
|
|
|
541 |
- add test cases for the various module methods
|
|
|
542 |
- add getServerVersion()";}i:17;a:5:{s:7:"version";a:2:{s:7:"release";s:10:"2.0.0beta5";s:3:"api";s:10:"2.0.0beta5";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2005-06-08";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:1230:"Warning: this release features numerous BC breaks to make the MDB2 API be as
|
|
|
543 |
similar as possible as the ext/pdo API! The next release is likely to also break
|
|
|
544 |
BC for the same reason. Check php.net/pdo for information on the pdo API.
|
|
|
545 |
|
|
|
546 |
- refactored LOB support (BC breaks)
|
|
|
547 |
- moved all drivers into separate packages MDB2_Driver_* (BC break)
|
|
|
548 |
- bindParam() and bindColumn() are now 1-indexed (BC break)
|
|
|
549 |
- removed special handling for day light saving time (bug #4341) (BC break)
|
|
|
550 |
- ensure SQL injection protection in all _quote() methods
|
|
|
551 |
(was missing in some decimal, float, time, date and timestamp implementations)
|
|
|
552 |
- renamed getRowCount() to rowCount() for PDO compliance (BC break)
|
|
|
553 |
(doesnt take into account the offset anymore)
|
|
|
554 |
- added new quote() parameter to remove quotes (ugly hack will get cleaned up)
|
|
|
555 |
- renamed execute() to _execute() since common provides some common functionality via execute()
|
|
|
556 |
- fixed some issues regarding limit/offset in prepared statements
|
|
|
557 |
- fixed bug in _assignBindColumns() when using associative fetches
|
|
|
558 |
- support numeric and string keys in types array for prepared queries
|
|
|
559 |
- call trigger error if __call() is unable to find a method in any of the modules
|
|
|
560 |
- work around php5 bugs in the test suite";}i:18;a:5:{s:7:"version";a:2:{s:7:"release";s:10:"2.0.0beta4";s:3:"api";s:10:"2.0.0beta4";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2005-04-29";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:2802:"Warning: this release features numerous BC breaks to make the MDB2 API be as
|
|
|
561 |
similar as possible as the ext/pdo API! The next release is likely to also break
|
|
|
562 |
BC for the same reason. Check php.net/pdo for information on the pdo API.
|
|
|
563 |
|
|
|
564 |
- fixed bugs in MDB2_Extended::buildManipSQL() introduced in latest tweaks (bug #3725)
|
|
|
565 |
- mysqli has connection objects instead of resources
|
|
|
566 |
- fix mssql tableInfo() so flags are returned (bug #3691)
|
|
|
567 |
- fixed bug in handling of force_array when 2 or less columns are fetched in fetchAll()
|
|
|
568 |
- added map error message for sqlite multi-column unique constraints.
|
|
|
569 |
- added listUsers(), listViews(), listFunctions() to oracle manager
|
|
|
570 |
- added listFunctions() to pgsql manager
|
|
|
571 |
- updated listViews() in pgsql manager
|
|
|
572 |
- added __call() support for module handling
|
|
|
573 |
- mysql driver now uses mysqli implementations where feasible
|
|
|
574 |
- ensure that internal calls to query dont wrap the result
|
|
|
575 |
- for some reason mysqli didnt like SELECT LAST_INSERT_ID()
|
|
|
576 |
- fixed bug in table alteration when only an index was added
|
|
|
577 |
- updated pgsql API calls to 4.2.0 recommended names (bug #3904)
|
|
|
578 |
- moved logic to compareDefinitions from the Manager into the Datatype module
|
|
|
579 |
to increase flexibility
|
|
|
580 |
- extended MDB2::isError() to be able to handle an array or codes
|
|
|
581 |
- added error handling into autoPrepare() and autoExecute()
|
|
|
582 |
- migrade all MDB2::isError calls that dont check for specific errors codes to PEAR::isError
|
|
|
583 |
- don't pass new_link to mysql_pconnect() (bug #3993)
|
|
|
584 |
- use MDB2::raiseError() instead of MDB2_Driver_Common::raiseError()
|
|
|
585 |
- do not disable result wrapping when doing internal calls to query() (bug #3997)
|
|
|
586 |
- _wrapResult() now ensures that the result class is an instance of MDB2_Result_Common
|
|
|
587 |
- unbundled the MDB2_Tools_Manager into a separate package PEAR::MDB2_Schema
|
|
|
588 |
- improved getTableFieldDefinition() and moved native type mapping to the
|
|
|
589 |
datatype module mapNativeDatatype() method (mysql, sqlite, pgsql and ibase drivers)
|
|
|
590 |
- fixes for listTables() in sqlite and pgsql driver
|
|
|
591 |
- ensure that mysql drivers use the dummy_primary_key property
|
|
|
592 |
- severely reworked how data is fetched and buffered and freed in the iterator
|
|
|
593 |
- added mapNativeDatatype() to ibase driver
|
|
|
594 |
- getTypeDeclaration() => _getTypeDeclaration() in ibase driver
|
|
|
595 |
- cosmetic fixes and tweaks (replace(). fetchOne() ..)
|
|
|
596 |
- renamed 'seqname_col_name' option to 'seqcol_name'
|
|
|
597 |
- moved schema documentation, xml_reverse_engineering.php, MDB.dtd
|
|
|
598 |
and MDB.xls to MDB_Schema package
|
|
|
599 |
- Mysqli: implicit sequence is named as table by default
|
|
|
600 |
- Mysqli: text types now map to clob first
|
|
|
601 |
- ensure that types are numerically keyed in setResultTypes()
|
|
|
602 |
- added caching to getColumnNames()
|
|
|
603 |
- added bindColumn() support
|
|
|
604 |
- use MDB2_Schema::factory()
|
|
|
605 |
- phpdoc fixes in regards to flipped fetchmode
|
|
|
606 |
- remove renegate mysql code in sqlite driver";}i:19;a:5:{s:7:"version";a:2:{s:7:"release";s:10:"2.0.0beta3";s:3:"api";s:10:"2.0.0beta3";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2005-03-06";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:7520:"Warning: this release features numerous BC breaks to make the MDB2 API be as
|
|
|
607 |
similar as possible as the ext/pdo API! The next release is likely to also break
|
|
|
608 |
BC for the same reason. Check php.net/pdo for information on the pdo API.
|
|
|
609 |
|
|
|
610 |
Oracle NULL in LOB fields is broken.
|
|
|
611 |
The fbsql and mssql drivers are likely to be broken as they are largely untested.
|
|
|
612 |
|
|
|
613 |
MDB2 static class:
|
|
|
614 |
- "xxx" out password on connect error in MDB2::connect()
|
|
|
615 |
- MDB2::isError now also optionally accepts and error code to check for
|
|
|
616 |
- added LOAD DATA (port from DB) and SET to MDB2::isManip()
|
|
|
617 |
|
|
|
618 |
All drivers:
|
|
|
619 |
- use __construct() (PHP4 BC hacks are provided)
|
|
|
620 |
- allow null values to be set for options
|
|
|
621 |
- ensure we are returning a reference in all relevant places
|
|
|
622 |
|
|
|
623 |
- allow errorInfo() to be called when no connection has been established yet
|
|
|
624 |
- use MDB2_ERROR_UNSUPPORTED instead of MDB2_ERROR_NOT_CAPABLE in common implementations
|
|
|
625 |
- readded MDB2_Error as the baseclass for all MDB2 error objects
|
|
|
626 |
- updated error mappings from DB
|
|
|
627 |
|
|
|
628 |
- added MDB2_Driver_Common::getDatabase();
|
|
|
629 |
- reworked dsn default handling
|
|
|
630 |
- added ability to "xxx" out password in getDSN()
|
|
|
631 |
|
|
|
632 |
- use _close() method in several places where they previously were not used
|
|
|
633 |
- removed redundant code in _close() that dealt with transaction closing already
|
|
|
634 |
done in disconnect()
|
|
|
635 |
- if the dbsyntax is set in the dsn it will be set in the dbsyntax property
|
|
|
636 |
- only disconnect persistant connections if disconnect() has been explicitly
|
|
|
637 |
called by the user
|
|
|
638 |
- instead of having a generic implemention of disconnect() we will rename
|
|
|
639 |
_close() to disconnect() to overwrite the generic implementation
|
|
|
640 |
- added support for 'new_link' dsn option for all supported drivers (mysql, oci8, pgsql)
|
|
|
641 |
|
|
|
642 |
- transaction API moved over to PDO: removed autoCommit(), added beginTransaction()
|
|
|
643 |
and refactored commit() (it doesn't start a new transaction automatically anymore)
|
|
|
644 |
- reworked handling of uncommited transaction for persistant connections when
|
|
|
645 |
a given connection is no longer in use
|
|
|
646 |
|
|
|
647 |
- added 'disable_query' option to be able to disable the execution of all queries
|
|
|
648 |
(this might be useful in conjuntion with a custom debug handler to be able to
|
|
|
649 |
dump all queries into a file instead of executing them)
|
|
|
650 |
- removed affectedRows() method in favor of returning affectedRows() on query if relevant
|
|
|
651 |
- added generic implementation of query() and moved driver specific code into _doQuery()
|
|
|
652 |
- added _modifyQuery() to any driver that did not yet have it yet
|
|
|
653 |
- standaloneQuery() now also supports SELECT querys
|
|
|
654 |
- remove redundant call to commit() since setting autoCommit() already commits in MDB2::replace()
|
|
|
655 |
- refactored standaloneQuery(), query(), _doQuery(), _wrapResult(); the most important change are:
|
|
|
656 |
result are only wrapped if it is explicitly requested
|
|
|
657 |
standaloneQuery() now works just as query() does but with its own connection
|
|
|
658 |
- allowing limits of 0 in setLimit()
|
|
|
659 |
|
|
|
660 |
- explicitly specify colum name in sequence emulation queries
|
|
|
661 |
- added getBeforeId() and getAfterId()
|
|
|
662 |
- added new supported feature 'auto_increment'
|
|
|
663 |
|
|
|
664 |
- added default implementation for quoteCLOB() and quoteBLOB()
|
|
|
665 |
- reworked quote handling: moved all implementation details into the extension,
|
|
|
666 |
made all quote methods private except for quote() itself, honor portability
|
|
|
667 |
MDB2_PORTABILITY_EMPTY_TO_NULL in quote(), removed MDB2_TYPE_* constants
|
|
|
668 |
- reworked get*Declaration handling: moved all implementation details into the extension,
|
|
|
669 |
made all quote methods private except for quote() itself
|
|
|
670 |
- placed convert methods after the portability conversions to ensure that the
|
|
|
671 |
proper type is maintained after the conversion methods
|
|
|
672 |
- dont convert fetched null values in the Datatype module
|
|
|
673 |
|
|
|
674 |
- removed executeParams() and moved executeMultiple() from extended module
|
|
|
675 |
|
|
|
676 |
- updated tableInfo() code from DB
|
|
|
677 |
|
|
|
678 |
- made LIMIT handling more robust by taking some code from DB
|
|
|
679 |
|
|
|
680 |
All drivers result:
|
|
|
681 |
- performance tweak in fetchCol()
|
|
|
682 |
- added MDB2_FETCHMODE_OBJECT
|
|
|
683 |
- added MDB2_Driver_Result_Common::getRowCounter()
|
|
|
684 |
- added rownum handling to fetchRow()
|
|
|
685 |
- removed fetch() and resultIsNull()
|
|
|
686 |
|
|
|
687 |
All drivers prepared statements
|
|
|
688 |
- moved prepare/execute API towards PDO
|
|
|
689 |
- setParamsArray() can now handle non ordered arrays
|
|
|
690 |
- removed requirement for LOB inserts to pass the parameters as an array
|
|
|
691 |
- placeholders are now numbered starting from 0 (BC break in setParam() !)
|
|
|
692 |
- queries inside the prepared_queries property now start counting at 1 (performance tweak)
|
|
|
693 |
- refactored handling of filename LOB values (prefix with 'file://')
|
|
|
694 |
- removed _executePrepared(), drivers need to overwrite execute() for now on
|
|
|
695 |
- add support for oracle style named parameters and modified test suite accordingly
|
|
|
696 |
|
|
|
697 |
MySQL driver:
|
|
|
698 |
- improved handling of MDB2_PORTABILITY_LOWERCASE in all the reverse
|
|
|
699 |
methods inside the mysql driver to work coherently
|
|
|
700 |
- fixed several issues in the listTablefields() method of manager drivers
|
|
|
701 |
|
|
|
702 |
MSSQL driver:
|
|
|
703 |
- added code in MDB2_Driver_mssql::connect() to better handle date values
|
|
|
704 |
independant of ini and locale settings inside the server
|
|
|
705 |
- use comma, rather than colon, to delimit port in MDB2_driver_mssql::connect().
|
|
|
706 |
Bug 2140. (danielc)
|
|
|
707 |
- unified mssql standalone query with sqlite, mysql and others (not tested on
|
|
|
708 |
mssql yet, but since mssql automatically reuses connections per dsn the old
|
|
|
709 |
way could gurantee anything different from happening)
|
|
|
710 |
|
|
|
711 |
PgSQL driver:
|
|
|
712 |
- use track_errors to capture error messages in MDB2_driver_pgsql::connect().
|
|
|
713 |
Bug 2011. (danielc)
|
|
|
714 |
- add port to connect string when protocol is unix in MDB2_driver_pgsql::connect().
|
|
|
715 |
Bug 1919. (danielc)
|
|
|
716 |
- accommodate changes made to PostgreSQL so "no such field" errors get properly
|
|
|
717 |
indicated rather than being mislabeled as "no such table." (danielc)
|
|
|
718 |
- added "permission denied" to error regex in pgsql driver.
|
|
|
719 |
Bug 2417. (stewart_linux-org-au)
|
|
|
720 |
|
|
|
721 |
OCI8 driver:
|
|
|
722 |
- fixed typo in MDB2_Driver_Manager_oci8::listTables() (fix for bug #2434)
|
|
|
723 |
- added emulate_database option (default true) to the Oracle driver that handles
|
|
|
724 |
if the database_name should be used for connections of the username
|
|
|
725 |
- oci8 driver now uses native bind support for all types in prepare()/execute()
|
|
|
726 |
|
|
|
727 |
Interbase driver:
|
|
|
728 |
- completely revised ibase driver, now passing all tests under php5
|
|
|
729 |
|
|
|
730 |
Frontbase driver:
|
|
|
731 |
- fbsql: use correct error codes. Was using MySQL's codes by mistake.
|
|
|
732 |
|
|
|
733 |
MySQLi driver:
|
|
|
734 |
- added mysqli driver (passes all tests, but doesnt use native prepare yet)
|
|
|
735 |
|
|
|
736 |
DB wrapper
|
|
|
737 |
- fixed a large number of compatibility issues in the PEAR::DB wrapper
|
|
|
738 |
|
|
|
739 |
Iterator
|
|
|
740 |
- fixed several bugs and updated the interface to match the final php5 iterator API
|
|
|
741 |
- buffered result sets now implements seekable
|
|
|
742 |
- removed unnecessary returns
|
|
|
743 |
- throw pear error on rewind in unbuffered result set
|
|
|
744 |
- renamed size() to count() to match the upcoming Countable interface
|
|
|
745 |
|
|
|
746 |
Extended module:
|
|
|
747 |
- modified the signature of the auto*() methods to be compatible with DB (bug #3720)
|
|
|
748 |
- tweaked buildManipSQL() to not use loops (bug #3721)
|
|
|
749 |
|
|
|
750 |
MDB_Tools_Manager
|
|
|
751 |
- updated raiseError method in the Manager to be compatible with
|
|
|
752 |
XML_Parser 1.1.x and return useful error message (fix bug #2055)
|
|
|
753 |
- major refactoring of MDB2_Manager resulting in several new methods being available
|
|
|
754 |
- fixed error in MDB2_Manager::_escapeSpecialCharacter() that would lead to
|
|
|
755 |
incorrect handling of integer values (this needs to be explored in more detail)
|
|
|
756 |
- several typo fixes and minor logic errors (among others a fix for bug #2057)
|
|
|
757 |
- moved xml dumping in MDB2_Tools_Manager into separate Writer class
|
|
|
758 |
- fixed bugs in start value handling in create sequence (bug #3077)";}i:20;a:5:{s:7:"version";a:2:{s:7:"release";s:10:"2.0.0beta2";s:3:"api";s:10:"2.0.0beta2";}s:9:"stability";a:2:{s:7:"release";s:4:"beta";s:3:"api";s:4:"beta";}s:4:"date";s:10:"2004-04-25";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:2601:"The core of MDB2 is now fairly stable API-wise. The modules, especially the
|
|
|
759 |
manager and reverse module, might see some API refinement before the first
|
|
|
760 |
stable release.
|
|
|
761 |
- added listTables() and listTableFields() methods to MDB2_Driver_Manager_mssql
|
|
|
762 |
and MDB2_Driver_Manager_oci8
|
|
|
763 |
- reversed parameter order of getValue(), type parameter is now optional and
|
|
|
764 |
will then be autodetected (BC break!)
|
|
|
765 |
- renamed get*Value() to quote*() (BC break!)
|
|
|
766 |
- fixed LOB management in MDB2_Driver_ibase
|
|
|
767 |
- moved getOne, getRow, getCol, getAll back into the exteneded module (most
|
|
|
768 |
users should be able to move to the queryOne, queryRow, queryCol and queryAll
|
|
|
769 |
equivalent) (BC break!)
|
|
|
770 |
- added getAssoc to the extended module
|
|
|
771 |
- fixed bug in MDB2_Driver_Datatype_Common::implodeArray()
|
|
|
772 |
- added sequence_col_name option to make the column name inside sequence
|
|
|
773 |
emulation tables configurable
|
|
|
774 |
- fixed a bug in the MDB2_Driver_oci8 and MDB2_Driver_ibase buffering emulation
|
|
|
775 |
when using limit queries
|
|
|
776 |
- removed MDB2_PORTABILITY_NULL_TO_EMPTY in favor of MDB2_PORTABILITY_EMPTY_TO_NULL
|
|
|
777 |
this means that DB and MDB2 work exactly the opposite now, but it seems more
|
|
|
778 |
efficient to do things the way Oracle does since this is the RDBMS which
|
|
|
779 |
creates the original issue to begin with (BC break!)
|
|
|
780 |
- fixed a typos in getAll, getAssoc and getCol
|
|
|
781 |
- test suite: moved set_time_limit() call to the setup script to be easier to customize
|
|
|
782 |
- renamed hasMore() to valid() due to changes in the PHP5 iterator API (BC break!)
|
|
|
783 |
- renamed toString() to __toString() in order to take advantage of new PHP5
|
|
|
784 |
goodness and made it public
|
|
|
785 |
- MDB2_Driver_Datatype_Common::setResultTypes() can now handle missing elements
|
|
|
786 |
inside type arrays: array(2 => 'boolean', 4 => 'timestamp')
|
|
|
787 |
- fixed potential warning due to manipulation query detection in the query*()
|
|
|
788 |
and the get*() query+fetch methods
|
|
|
789 |
- added tests for fetchAll() and fetchCol()
|
|
|
790 |
- performance tweaks for fetchAll() and fetchCol()
|
|
|
791 |
- fixed MDB2_Driver_Manager_mysql::listTableIndexes()
|
|
|
792 |
- fixed MDB2_Driver_Common::debug()
|
|
|
793 |
- renamed MDB2::isResult() to MDB2::isResultCommon()
|
|
|
794 |
- added base result class MDB2_Result from which all result sets should be
|
|
|
795 |
inherited and added MDB2::isResult() which checks if a given object extends from it
|
|
|
796 |
- added 'result_wrap_class' option and optional parameter to query() to enable
|
|
|
797 |
wrapping of result classes into an arbitrary class
|
|
|
798 |
- added $result_class param to all drivers where it was missing from the
|
|
|
799 |
query() and _executePrepared() methods
|
|
|
800 |
- applied several fixes to the PEAR::DB wrapper
|
|
|
801 |
- fixed a typo in MDB2_Driver_Reverse_pgsql::tableInfo()";}i:21;a:5:{s:7:"version";a:2:{s:7:"release";s:10:"2.0.0beta1";s:3:"api";s:10:"2.0.0beta1";}s:9:"stability";a:2:{s:7:"release";s:5:"alpha";s:3:"api";s:5:"alpha";}s:4:"date";s:10:"2004-03-12";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:1280:"- fixed bug in MDB2::singleton
|
|
|
802 |
- fixed minor bugs in prepare/execute
|
|
|
803 |
- added PEAR::DB wrapper (not working yet)
|
|
|
804 |
- fixed several bugs in the ibase driver
|
|
|
805 |
- fixed several PHP5 related issues
|
|
|
806 |
- fixed bug in sequence creation on MySQL
|
|
|
807 |
- fixed issues with nextid() ondemand handling in conjunction with currId()
|
|
|
808 |
- added native currId() implementation for the Oracle driver
|
|
|
809 |
- fixed sqlite driver (passes all but the REPLACE test due to a conformance issue in sqlite itself)
|
|
|
810 |
- removed decimal_factor property to allow changing of decimal_places option
|
|
|
811 |
- using native escape string methods in sqlite and mysql driver
|
|
|
812 |
- fixed minor conformance issues in tableInfo() in the oci8 and mysql driver
|
|
|
813 |
- removed optimize option and added portability option instead (ported from DB)
|
|
|
814 |
- added quoteIdentifier() method (ported from DB)
|
|
|
815 |
- added STATUS document to make the status of the drivers more transparent
|
|
|
816 |
- fixed a few bugs in querysim driver
|
|
|
817 |
- fixed issue in mysql reverse engineering: ensuring the correct case is used when
|
|
|
818 |
doing assoc fetches based on portability flag setting
|
|
|
819 |
- updated reverse engineering script to the new MDB2 API
|
|
|
820 |
- removed broken implementations of currId() in the mssql and fbsql driver
|
|
|
821 |
- fixed a few instances of MDB_Common to the new class name of MDB_Driver_Common";}i:22;a:5:{s:7:"version";a:2:{s:7:"release";s:11:"2.0.0alpha1";s:3:"api";s:11:"2.0.0alpha1";}s:9:"stability";a:2:{s:7:"release";s:5:"alpha";s:3:"api";s:5:"alpha";}s:4:"date";s:10:"2004-01-05";s:7:"license";a:2:{s:7:"attribs";a:1:{s:3:"uri";s:22:"http://www.example.com";}s:8:"_content";s:11:"BSD License";}s:5:"notes";s:1845:"This is the first alpha release of MDB2 2.0.
|
|
|
822 |
|
|
|
823 |
MDB2 2.x breaks backwards compatibility in many ways in order to simplify
|
|
|
824 |
the API for both users and drivers developers.
|
|
|
825 |
|
|
|
826 |
Please note that currently only the MySQL, the PostGreSQL and the Oracle driver
|
|
|
827 |
have been tested to pass the test suite.
|
|
|
828 |
|
|
|
829 |
Here follows a short list of the most important changes:
|
|
|
830 |
- all code that is not necessary for basic operation is now separateed
|
|
|
831 |
into separate modules which can be loaded with the loadModule() method
|
|
|
832 |
- all datatype related methods have been moved to a dataype module with
|
|
|
833 |
the notable exception of getValue() and the newly introduced getDeclaration()
|
|
|
834 |
- added extended module for highlevel methods
|
|
|
835 |
- all manager method are no longer available in the core class and or
|
|
|
836 |
now only available in the manager module
|
|
|
837 |
- all reverse engineering methods have been taken from the manager class
|
|
|
838 |
and are now available through the reverse module
|
|
|
839 |
- a new module has been added to allow the addition of methods with
|
|
|
840 |
RDBMS specific functionality (like getting the last autoincrement ID)
|
|
|
841 |
- LOB handling has been greatly simplified
|
|
|
842 |
- several methods names have been shortend
|
|
|
843 |
- the fetch.+() methods do not free the result set anymore
|
|
|
844 |
- the Manager and the reverse_engineer_xml_schema have been moved into
|
|
|
845 |
a Tools directory
|
|
|
846 |
- all parameters are now lowercased with underscores as separators
|
|
|
847 |
- all drivers now support all of the dsn options that PEAR DB supports
|
|
|
848 |
- several methods have been removed because they offered redundant functionality
|
|
|
849 |
- changed prepare API type is now passed to prepare and not to setParam*()
|
|
|
850 |
- results are now wrapped inside objects and all methods which operate
|
|
|
851 |
on resultsets have been moved into respecitive classes
|
|
|
852 |
- there are two types of result object: buffered (default) and unbuffered
|
|
|
853 |
- totally rewrote buffering and limit emulation";}}}s:8:"filelist";a:53:{s:25:"docs/examples/example.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"b5cd8d01a36258caa0c4eb7e3478c219";s:4:"name";s:25:"docs/examples/example.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:50:"/usr/share/php/docs/MDB2/docs/examples/example.php";}s:30:"docs/examples/example_php5.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"dd25c9a1d24d945ef0c3cb2fc889a070";s:4:"name";s:30:"docs/examples/example_php5.php";s:4:"role";s:3:"doc";s:12:"installed_as";s:55:"/usr/share/php/docs/MDB2/docs/examples/example_php5.php";}s:37:"docs/examples/metapear_test_db.schema";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"74b2bb45de61eccbffed7d75d5268af9";s:4:"name";s:37:"docs/examples/metapear_test_db.schema";s:4:"role";s:3:"doc";s:12:"installed_as";s:62:"/usr/share/php/docs/MDB2/docs/examples/metapear_test_db.schema";}s:17:"docs/CONTRIBUTORS";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"a253b37e185622112acfef6c94b79aef";s:4:"name";s:17:"docs/CONTRIBUTORS";s:4:"role";s:3:"doc";s:12:"installed_as";s:42:"/usr/share/php/docs/MDB2/docs/CONTRIBUTORS";}s:19:"docs/datatypes.html";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"cc1befe78146094be02f89bbb201b4ab";s:4:"name";s:19:"docs/datatypes.html";s:4:"role";s:3:"doc";s:12:"installed_as";s:44:"/usr/share/php/docs/MDB2/docs/datatypes.html";}s:16:"docs/MAINTAINERS";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"a70b17bcd8e56911f74a4dff61a3ff8d";s:4:"name";s:16:"docs/MAINTAINERS";s:4:"role";s:3:"doc";s:12:"installed_as";s:41:"/usr/share/php/docs/MDB2/docs/MAINTAINERS";}s:11:"docs/README";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"c7b68ea23aa2ae6d91913703a2246f15";s:4:"name";s:11:"docs/README";s:4:"role";s:3:"doc";s:12:"installed_as";s:36:"/usr/share/php/docs/MDB2/docs/README";}s:11:"docs/STATUS";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"f9858c9327499e60db66621a817c66a4";s:4:"name";s:11:"docs/STATUS";s:4:"role";s:3:"doc";s:12:"installed_as";s:36:"/usr/share/php/docs/MDB2/docs/STATUS";}s:9:"docs/TODO";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"ec0c4383ddfd3af69d577344d0d5b4dd";s:4:"name";s:9:"docs/TODO";s:4:"role";s:3:"doc";s:12:"installed_as";s:34:"/usr/share/php/docs/MDB2/docs/TODO";}s:31:"MDB2/Driver/Datatype/Common.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"0c87967f991c8dd76240735e4244d0c9";s:4:"name";s:31:"MDB2/Driver/Datatype/Common.php";s:4:"role";s:3:"php";s:12:"installed_as";s:46:"/usr/share/php/MDB2/Driver/Datatype/Common.php";}s:31:"MDB2/Driver/Function/Common.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"7302578a918db5a4465891c754d167da";s:4:"name";s:31:"MDB2/Driver/Function/Common.php";s:4:"role";s:3:"php";s:12:"installed_as";s:46:"/usr/share/php/MDB2/Driver/Function/Common.php";}s:30:"MDB2/Driver/Manager/Common.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"459831f86db78b16887d138207250fd9";s:4:"name";s:30:"MDB2/Driver/Manager/Common.php";s:4:"role";s:3:"php";s:12:"installed_as";s:45:"/usr/share/php/MDB2/Driver/Manager/Common.php";}s:29:"MDB2/Driver/Native/Common.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"005901a0e84f6ff717e0847f0a3faf14";s:4:"name";s:29:"MDB2/Driver/Native/Common.php";s:4:"role";s:3:"php";s:12:"installed_as";s:44:"/usr/share/php/MDB2/Driver/Native/Common.php";}s:30:"MDB2/Driver/Reverse/Common.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"edf3e1b0c845dedf7473960e632c8c21";s:4:"name";s:30:"MDB2/Driver/Reverse/Common.php";s:4:"role";s:3:"php";s:12:"installed_as";s:45:"/usr/share/php/MDB2/Driver/Reverse/Common.php";}s:13:"MDB2/Date.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"af81dd360b2d2d09f8c978214b06a553";s:4:"name";s:13:"MDB2/Date.php";s:4:"role";s:3:"php";s:12:"installed_as";s:28:"/usr/share/php/MDB2/Date.php";}s:17:"MDB2/Extended.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"0aad199da225ee0eabe9eb16e7ef8e72";s:4:"name";s:17:"MDB2/Extended.php";s:4:"role";s:3:"php";s:12:"installed_as";s:32:"/usr/share/php/MDB2/Extended.php";}s:17:"MDB2/Iterator.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"023c4bda6db2d8f277d8d3c76dc8f850";s:4:"name";s:17:"MDB2/Iterator.php";s:4:"role";s:3:"php";s:12:"installed_as";s:32:"/usr/share/php/MDB2/Iterator.php";}s:12:"MDB2/LOB.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"bd83458d9b7a044cb44956244a584849";s:4:"name";s:12:"MDB2/LOB.php";s:4:"role";s:3:"php";s:12:"installed_as";s:27:"/usr/share/php/MDB2/LOB.php";}s:16:"tests/basic.phpt";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"01d41e566bdb62c7bcb432c8039dda9a";s:4:"name";s:16:"tests/basic.phpt";s:4:"role";s:4:"test";s:12:"installed_as";s:42:"/usr/share/php/tests/MDB2/tests/basic.phpt";}s:17:"tests/clitest.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"d67ccf96fabd2e95fa57a7ea76549349";s:4:"name";s:17:"tests/clitest.php";s:4:"role";s:4:"test";s:12:"installed_as";s:43:"/usr/share/php/tests/MDB2/tests/clitest.php";}s:16:"tests/config.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"c90cdd55233d9ef470150c06a946d213";s:4:"name";s:16:"tests/config.php";s:4:"role";s:4:"test";s:12:"installed_as";s:42:"/usr/share/php/tests/MDB2/tests/config.php";}s:30:"tests/Console_TestListener.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"2a2c534ab4afb0c05ca9d7ca47815bf5";s:4:"name";s:30:"tests/Console_TestListener.php";s:4:"role";s:4:"test";s:12:"installed_as";s:56:"/usr/share/php/tests/MDB2/tests/Console_TestListener.php";}s:28:"tests/driver_test.schema.xml";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"19ef782cc5be7de11c369889a74044d5";s:4:"name";s:28:"tests/driver_test.schema.xml";s:4:"role";s:4:"test";s:12:"installed_as";s:54:"/usr/share/php/tests/MDB2/tests/driver_test.schema.xml";}s:27:"tests/HTML_TestListener.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"d46a8f267dbd54f0c7ff55e479d33e7e";s:4:"name";s:27:"tests/HTML_TestListener.php";s:4:"role";s:4:"test";s:12:"installed_as";s:53:"/usr/share/php/tests/MDB2/tests/HTML_TestListener.php";}s:23:"tests/import.schema.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"ff346ecb984d644ec23584ddb02527b5";s:4:"name";s:23:"tests/import.schema.php";s:4:"role";s:4:"test";s:12:"installed_as";s:49:"/usr/share/php/tests/MDB2/tests/import.schema.php";}s:27:"tests/MDB2_api_testcase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"b56138622fdae4c539b7be33fb7d957e";s:4:"name";s:27:"tests/MDB2_api_testcase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:53:"/usr/share/php/tests/MDB2/tests/MDB2_api_testcase.php";}s:28:"tests/MDB2_bugs_testcase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"9ddc66748dd375105b4ffda677f57e41";s:4:"name";s:28:"tests/MDB2_bugs_testcase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:54:"/usr/share/php/tests/MDB2/tests/MDB2_bugs_testcase.php";}s:27:"tests/MDB2_Connect_Test.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"f8534befe37efc7f35beb0897b75f951";s:4:"name";s:27:"tests/MDB2_Connect_Test.php";s:4:"role";s:4:"test";s:12:"installed_as";s:53:"/usr/share/php/tests/MDB2/tests/MDB2_Connect_Test.php";}s:32:"tests/MDB2_datatype_testcase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"73383f476c1788a49831fcf5daeef744";s:4:"name";s:32:"tests/MDB2_datatype_testcase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:58:"/usr/share/php/tests/MDB2/tests/MDB2_datatype_testcase.php";}s:32:"tests/MDB2_extended_testcase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"52612ab88c430f08e108d146b46a57d2";s:4:"name";s:32:"tests/MDB2_extended_testcase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:58:"/usr/share/php/tests/MDB2/tests/MDB2_extended_testcase.php";}s:32:"tests/MDB2_function_testcase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"ca4ad92dd091bc59b0f0be14b8cfdc0c";s:4:"name";s:32:"tests/MDB2_function_testcase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:58:"/usr/share/php/tests/MDB2/tests/MDB2_function_testcase.php";}s:33:"tests/MDB2_internals_testcase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"e063e6c063d963de546c3bd90cb25283";s:4:"name";s:33:"tests/MDB2_internals_testcase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:59:"/usr/share/php/tests/MDB2/tests/MDB2_internals_testcase.php";}s:31:"tests/MDB2_manager_testcase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"802fce3b33dfff70dbe2ca20c2671409";s:4:"name";s:31:"tests/MDB2_manager_testcase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:57:"/usr/share/php/tests/MDB2/tests/MDB2_manager_testcase.php";}s:30:"tests/MDB2_native_testcase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"22be0efc5b2b81bd6cd6ebe31747445e";s:4:"name";s:30:"tests/MDB2_native_testcase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:56:"/usr/share/php/tests/MDB2/tests/MDB2_native_testcase.php";}s:26:"tests/MDB2_nonstandard.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"92fcbe9e6c2efc8290437d3c87507583";s:4:"name";s:26:"tests/MDB2_nonstandard.php";s:4:"role";s:4:"test";s:12:"installed_as";s:52:"/usr/share/php/tests/MDB2/tests/MDB2_nonstandard.php";}s:32:"tests/MDB2_nonstandard_ibase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"32504b5dd5ff479da628abd6f96753c3";s:4:"name";s:32:"tests/MDB2_nonstandard_ibase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:58:"/usr/share/php/tests/MDB2/tests/MDB2_nonstandard_ibase.php";}s:32:"tests/MDB2_nonstandard_mssql.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"dee3b6f3069fe286c304ca32b77dbe99";s:4:"name";s:32:"tests/MDB2_nonstandard_mssql.php";s:4:"role";s:4:"test";s:12:"installed_as";s:58:"/usr/share/php/tests/MDB2/tests/MDB2_nonstandard_mssql.php";}s:32:"tests/MDB2_nonstandard_mysql.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"1766c43f50ce08418b524a6047462e4d";s:4:"name";s:32:"tests/MDB2_nonstandard_mysql.php";s:4:"role";s:4:"test";s:12:"installed_as";s:58:"/usr/share/php/tests/MDB2/tests/MDB2_nonstandard_mysql.php";}s:33:"tests/MDB2_nonstandard_mysqli.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"14f12bd33f7212d51b400e0a3ea9dff9";s:4:"name";s:33:"tests/MDB2_nonstandard_mysqli.php";s:4:"role";s:4:"test";s:12:"installed_as";s:59:"/usr/share/php/tests/MDB2/tests/MDB2_nonstandard_mysqli.php";}s:31:"tests/MDB2_nonstandard_oci8.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"d8c9287b3614da53d818ef86bfc9ef86";s:4:"name";s:31:"tests/MDB2_nonstandard_oci8.php";s:4:"role";s:4:"test";s:12:"installed_as";s:57:"/usr/share/php/tests/MDB2/tests/MDB2_nonstandard_oci8.php";}s:32:"tests/MDB2_nonstandard_pgsql.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"3e790ed8bf0b3b91ec518cdab9eba271";s:4:"name";s:32:"tests/MDB2_nonstandard_pgsql.php";s:4:"role";s:4:"test";s:12:"installed_as";s:58:"/usr/share/php/tests/MDB2/tests/MDB2_nonstandard_pgsql.php";}s:33:"tests/MDB2_nonstandard_sqlite.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"54882586bf87e9f3b5d5ab9a20e3e5f7";s:4:"name";s:33:"tests/MDB2_nonstandard_sqlite.php";s:4:"role";s:4:"test";s:12:"installed_as";s:59:"/usr/share/php/tests/MDB2/tests/MDB2_nonstandard_sqlite.php";}s:31:"tests/MDB2_reverse_testcase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"b29a49619cf11ba7f531bb806b25619b";s:4:"name";s:31:"tests/MDB2_reverse_testcase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:57:"/usr/share/php/tests/MDB2/tests/MDB2_reverse_testcase.php";}s:23:"tests/MDB2_testcase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"2925fd7431313d5df54e068544f8982f";s:4:"name";s:23:"tests/MDB2_testcase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:49:"/usr/share/php/tests/MDB2/tests/MDB2_testcase.php";}s:29:"tests/MDB2_usage_testcase.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"d56f2bd9b951bab6646f00ceeb4fd986";s:4:"name";s:29:"tests/MDB2_usage_testcase.php";s:4:"role";s:4:"test";s:12:"installed_as";s:55:"/usr/share/php/tests/MDB2/tests/MDB2_usage_testcase.php";}s:12:"tests/README";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"ca453d042076964cbd3350902ad25fa6";s:4:"name";s:12:"tests/README";s:4:"role";s:4:"test";s:12:"installed_as";s:38:"/usr/share/php/tests/MDB2/tests/README";}s:14:"tests/test.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"a2c50ccea24f7bdd5439b366608d59d5";s:4:"name";s:14:"tests/test.php";s:4:"role";s:4:"test";s:12:"installed_as";s:40:"/usr/share/php/tests/MDB2/tests/test.php";}s:20:"tests/testchoose.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"dc05c6cc4540981d350ccac2005c2578";s:4:"name";s:20:"tests/testchoose.php";s:4:"role";s:4:"test";s:12:"installed_as";s:46:"/usr/share/php/tests/MDB2/tests/testchoose.php";}s:15:"tests/tests.css";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"3c4d2c9d89398c5692d36299d98f9c6e";s:4:"name";s:15:"tests/tests.css";s:4:"role";s:4:"test";s:12:"installed_as";s:41:"/usr/share/php/tests/MDB2/tests/tests.css";}s:19:"tests/testUtils.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"841447ae8672a6779166791d0bf6ec03";s:4:"name";s:19:"tests/testUtils.php";s:4:"role";s:4:"test";s:12:"installed_as";s:45:"/usr/share/php/tests/MDB2/tests/testUtils.php";}s:25:"tests/test_setup.php.dist";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"c30bfb476b678d53c7f5e158bde7d9a9";s:4:"name";s:25:"tests/test_setup.php.dist";s:4:"role";s:4:"test";s:12:"installed_as";s:51:"/usr/share/php/tests/MDB2/tests/test_setup.php.dist";}s:7:"LICENSE";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"a5019765abfd14334f25231c61c568ef";s:4:"name";s:7:"LICENSE";s:4:"role";s:4:"data";s:12:"installed_as";s:26:"/var/www/pear/MDB2/LICENSE";}s:8:"MDB2.php";a:5:{s:14:"baseinstalldir";s:1:"/";s:6:"md5sum";s:32:"0d4093f6d7db5ec64434116b700e9a82";s:4:"name";s:8:"MDB2.php";s:4:"role";s:3:"php";s:12:"installed_as";s:23:"/usr/share/php/MDB2.php";}}s:12:"_lastversion";s:5:"2.4.0";s:7:"dirtree";a:12:{s:38:"/usr/share/php/docs/MDB2/docs/examples";b:1;s:29:"/usr/share/php/docs/MDB2/docs";b:1;s:35:"/usr/share/php/MDB2/Driver/Datatype";b:1;s:26:"/usr/share/php/MDB2/Driver";b:1;s:19:"/usr/share/php/MDB2";b:1;s:35:"/usr/share/php/MDB2/Driver/Function";b:1;s:34:"/usr/share/php/MDB2/Driver/Manager";b:1;s:33:"/usr/share/php/MDB2/Driver/Native";b:1;s:34:"/usr/share/php/MDB2/Driver/Reverse";b:1;s:31:"/usr/share/php/tests/MDB2/tests";b:1;s:18:"/var/www/pear/MDB2";b:1;s:14:"/usr/share/php";b:1;}s:3:"old";a:7:{s:7:"version";s:5:"2.4.1";s:12:"release_date";s:10:"2007-05-03";s:13:"release_state";s:6:"stable";s:15:"release_license";s:11:"BSD License";s:13:"release_notes";s:2022:"- fixed bug #10407: propagate errors in MDB2_Statement_Common::execute()
|
|
|
854 |
- fixed bug #10452: error in getDeclaration() with custom datatype_map and no
|
|
|
855 |
datatype_map_callback function
|
|
|
856 |
- fixed bug #10521: quote($val,'decimal') and quote($val,'float') pass unsafe characters
|
|
|
857 |
- return length as "precision,scale" for NUMERIC and DECIMAL fields in mapNativeDatatype()
|
|
|
858 |
- fixed bug #10537: safer check for valid MDB2 connection in singleton() [fornax]
|
|
|
859 |
- fixed bug #10598: MDB2::singleton() not working in some rare conditions [fornax]
|
|
|
860 |
- in getTableIndexDefinition() and getTableConstraintDefinition() in the Reverse
|
|
|
861 |
module, also return the field position in the index/constraint
|
|
|
862 |
- exec() now returns a reference instead of a copy to prevent memory leaks
|
|
|
863 |
- request #10787: MDB2_Driver_Common::$phptype and $dbsyntax properties are now public
|
|
|
864 |
|
|
|
865 |
open todo items:
|
|
|
866 |
- handle autoincrement fields in alterTable()
|
|
|
867 |
- add length handling to LOB reverse engineering
|
|
|
868 |
- add EXPLAIN abstraction
|
|
|
869 |
- add cursor support along the lines of PDO (Request #3660 etc.)
|
|
|
870 |
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)
|
|
|
871 |
- add support to export/import in CSV format
|
|
|
872 |
- add more functions to the Function module (MD5(), IFNULL(), LENGTH() etc.)
|
|
|
873 |
- add support for database/table/row LOCKs
|
|
|
874 |
- add support for FOREIGN KEYs and CHECK (ENUM as possible mysql fallback) constraints
|
|
|
875 |
- generate STATUS file from test suite results and allow users to submit test results
|
|
|
876 |
- add support for full text index creation and querying
|
|
|
877 |
- add tests to check if the RDBMS specific handling with portability options
|
|
|
878 |
disabled behaves as expected
|
|
|
879 |
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)
|
|
|
880 |
- add a getTableFieldsDefinitions() method to be used in tableInfo()
|
|
|
881 |
- drop ILIKE from matchPattern() and instead add a second parameter to
|
|
|
882 |
handle case sensitivity with arbitrary operators
|
|
|
883 |
- add charset and collation support to field declaration in all drivers
|
|
|
884 |
- handle LOBs in buffered result sets (Request #8793)";s:12:"release_deps";a:3:{i:0;a:4:{s:4:"type";s:3:"php";s:3:"rel";s:2:"ge";s:7:"version";s:5:"4.3.2";s:8:"optional";s:2:"no";}i:1;a:6:{s:4:"type";s:3:"pkg";s:7:"channel";s:12:"pear.php.net";s:4:"name";s:4:"PEAR";s:3:"rel";s:2:"ge";s:7:"version";s:7:"1.4.0b1";s:8:"optional";s:2:"no";}i:2;a:6:{s:4:"type";s:3:"pkg";s:7:"channel";s:12:"pear.php.net";s:4:"name";s:4:"PEAR";s:3:"rel";s:2:"ge";s:7:"version";s:5:"1.3.6";s:8:"optional";s:2:"no";}}s:11:"maintainers";a:5:{i:0;a:5:{s:4:"name";s:17:"Lukas Kahwe Smith";s:5:"email";s:20:"smith@pooteeweet.org";s:6:"active";s:2:"no";s:6:"handle";s:6:"lsmith";s:4:"role";s:4:"lead";}i:1;a:5:{s:4:"name";s:16:"Lorenzo Alberton";s:5:"email";s:19:"l.alberton@quipo.it";s:6:"active";s:3:"yes";s:6:"handle";s:5:"quipo";s:4:"role";s:4:"lead";}i:2;a:5:{s:4:"name";s:11:"Paul Cooper";s:5:"email";s:14:"pgc@ucecom.com";s:6:"active";s:2:"no";s:6:"handle";s:3:"pgc";s:4:"role";s:11:"contributor";}i:3;a:5:{s:4:"name";s:16:"Daniel Convissor";s:5:"email";s:15:"danielc@php.net";s:6:"active";s:3:"yes";s:6:"handle";s:7:"danielc";s:4:"role";s:6:"helper";}i:4;a:5:{s:4:"name";s:14:"David Coallier";s:5:"email";s:17:"david@jaws.com.mx";s:6:"active";s:3:"yes";s:6:"handle";s:6:"davidc";s:4:"role";s:6:"helper";}}}s:10:"xsdversion";s:3:"2.0";s:13:"_lastmodified";i:1180420360;}
|