» Version | » Information |
---|---|
1.12.2 |
Easy InstallNot sure? Get more info. pear install DB-1.12.2 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.12.2 Release date: 2024-04-15 17:16 UTC Release state: stable Release uploaded by: schengawegga Changelog: * Task: Manage E_DEPRECATED #27 * Task: Remove CVS id that no longer makes sense #30 * Bug: Bug in DB/oci8.php ... oci_fetch_array called with wrong parameters #33 #34 * Bug: Errors raised in DB_storage::toString() if there are multi-column keys, on PHP >= 7 #35 * Bug: sqlite3 back-end incorrectly refers to 'resource' objects #38 #39 Dependencies: |
1.12.1 |
Easy InstallNot sure? Get more info. pear install DB-1.12.1 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.12.1 Release date: 2024-01-17 03:09 UTC Release state: stable Release uploaded by: schengawegga Changelog: * bug: Missing new file in package.xml #25 * bug: Minimal fix for sqlite3 #26 Dependencies: |
1.12.0 |
Easy InstallNot sure? Get more info. pear install DB-1.12.0 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.12.0 Release date: 2024-01-16 18:07 UTC Release state: stable Release uploaded by: schengawegga Changelog: * feature: add sqlite3 driver #18 * feature: add lastId() method on mysql, mysqli and sqlite3 #19 #21 * task: fix prototypes for PHP 8 #12 * task: Try and fix test by removing each #16 * task: PHP8.1 Compatability restore error handling to previous state whilst … #13 * task: DB::apiVersion() should be declared as static #17 * task: Fix PHP8.2 Deprecated use of ${var} instead of {$var} #14 * task: PHP8.2 ready #21 * task: Mark mssql-Driver, mysql-Driver and sybase-Driver as Deprecated #21 * bug: PHP 8.0 testcase failure #23 #24 Dependencies: |
1.11.0 |
Easy InstallNot sure? Get more info. pear install DB-1.11.0 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.11.0 Release date: 2021-08-10 20:25 UTC Release state: stable Release uploaded by: ashnazg Changelog: * PR #11: Define invalid view error and also include deadlock and lockwait errors Dependencies: |
1.10.0 |
Easy InstallNot sure? Get more info. pear install DB-1.10.0 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.10.0 Release date: 2020-04-19 15:46 UTC Release state: stable Release uploaded by: ashnazg Changelog: * PR # 7: Fixes an issue with oci8 driver * PR # 8: each() deprecated in PHP 7.2 * PR # 9: Add recognition for error codes for Deadlocks and lock timeouts * PR #10: Remove curly brace array/string offset access Dependencies: |
1.9.3 |
Easy InstallNot sure? Get more info. pear install DB-1.9.3 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.9.3 Release date: 2018-12-05 15:42 UTC Release state: stable Release uploaded by: ashnazg Changelog: * PR #4: Change pg_exec to pg_query * PR #5: added php72 Dependencies: |
1.9.2 |
Easy InstallNot sure? Get more info. pear install DB-1.9.2 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.9.2 Release date: 2015-11-24 14:09 UTC Release state: stable Release uploaded by: danielc Changelog: * Fix mysqli freeResult() broken when fixing bug #5762 (f0b6b182a8f) Dependencies: |
1.9.1 |
Easy InstallNot sure? Get more info. pear install DB-1.9.1 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.9.1 Release date: 2015-11-23 15:25 UTC Release state: stable Release uploaded by: danielc Changelog: * Eliminate "Redefining already defined constructor" Dependencies: |
1.9.0 |
Easy InstallNot sure? Get more info. pear install DB-1.9.0 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.9.0 Release date: 2015-11-20 21:56 UTC Release state: stable Release uploaded by: danielc Changelog: * Support PHP 7 Dependencies: |
1.8.2 |
Easy InstallNot sure? Get more info. pear install DB-1.8.2 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.8.2 Release date: 2014-11-27 17:24 UTC Release state: stable Release uploaded by: danielc Changelog: * Fix bug #20447 (Have quoteString() remove quotes like it used to) Dependencies: |
1.8.1 |
Easy InstallNot sure? Get more info. pear install DB-1.8.1 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.8.1 Release date: 2014-11-20 20:30 UTC Release state: stable Release uploaded by: danielc Changelog: * Fix bug #19785 (Ensure calling quote() is safe) Dependencies: |
1.8.0 |
Easy InstallNot sure? Get more info. pear install DB-1.8.0 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.8.0 Release date: 2014-11-20 18:34 UTC Release state: stable Release uploaded by: danielc Changelog: * E_STRICT compliance, require PHP 5. * Fix array to string conversion in connect() when class does not exist. Dependencies: |
1.7.14 |
Easy InstallNot sure? Get more info. pear install DB-1.7.14 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.14 Release date: 2011-08-27 14:42 UTC Release state: stable Release uploaded by: danielc Changelog: Changes since 1.7.13: All drivers: * Made the definition of DB_common::raiseError() compatible with PEAR::raiseError() by adding dummy parameters. Request 11581. * Fixed SKIP block in the 20locale.phpt test. * Fixed non-persistent connections to really be non-persistent when unserialising. Bug 15115. ibase: * Changed the order of regular expressions applied when mapping errors so that constraint violations in PHP 4.4 are actually reported as constraint violations and not table not found errors. * Fixed a test that should have been skipped in PHP 4.4. ifx: * Use PCRE rather than ereg. Bug 17722, patch by Olle Jonsson. mssql: * Fix escaping of string values with lines ending in a backslash character. Bug 16117. oci8: * Fix for last_query reconstruction with lots of placeholders. Bug 12418, patch by Nicholas Evans. * Fix replacement of values in last_query for :bind's numbered over 10. Bug 14603. * Unset $_prepared_queries in freePrepared(). Bug 14271. pgsql: * Added special-case to handle SAVEPOINT queries as manip queries. Bug 12260. * Implement rudimentary support for WITH...SELECT queries. Bug 17136. sqlite: * Added support for another error message in the SQLite driver. Bug 12105, patch by Adam Ashley. * Implement auto_increment support in tableInfo(). Request 13193. Dependencies: |
1.7.14RC2 |
Easy InstallNot sure? Get more info. pear install DB-1.7.14RC2 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.14RC2 Release date: 2010-12-24 07:27 UTC Release state: beta Release uploaded by: aharvey Changelog: This long, long overdue release candidate of DB fixes a number of minor issues reported since the release of DB 1.7.13 along with some issues in DB 1.7.14RC1 that have been exposed by a more comprehensive testing platform than was previously available. Changes since 1.7.14RC1: All drivers: * Fixed SKIP block in the 20locale.phpt test. * Fixed non-persistent connections to really be non-persistent when unserialising. Bug 15115. ibase: * Changed the order of regular expressions applied when mapping errors so that constraint violations in PHP 4.4 are actually reported as constraint violations and not table not found errors. * Fixed a test that should have been skipped in PHP 4.4. ifx: * Use PCRE rather than ereg. Bug 17722, patch by Olle Jonsson. mssql: * Fix escaping of string values with lines ending in a backslash character. Bug 16617. pgsql: * Implement rudimentary support for WITH...SELECT queries. Bug 17136. oci8: * Fix replacement of values in last_query for :bind's numbered over 10. Bug 14603. * Unset $_prepared_queries in freePrepared(). Bug 14271. sqlite: * Implement auto_increment support in tableInfo(). Request 13193. Changes since 1.7.13: All drivers: * Made the definition of DB_common::raiseError() compatible with PEAR::raiseError() by adding dummy parameters. Request 11581. oci8: * Fix for last_query reconstruction with lots of placeholders. Bug 12418, patch by Nicholas Evans. pgsql: * Added special-case to handle SAVEPOINT queries as manip queries. Bug 12260. sqlite: * Added support for another error message in the SQLite driver. Bug 12105, patch by Adam Ashley. Dependencies: |
1.7.14RC1 |
Easy InstallNot sure? Get more info. pear install DB-1.7.14RC1 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.14RC1 Release date: 2007-11-27 21:29 UTC Release state: beta Release uploaded by: aharvey Changelog: This release candidate of DB fixes a number of minor issues reported since the release of DB 1.7.13. Note that this release has not yet been tested for databases other than MySQL, PostgreSQL and SQLite; however I've decided to put it out as a release candidate now as I won't be able to test the other database drivers until next week. All drivers: * Made the definition of DB_common::raiseError() compatible with PEAR::raiseError() by adding dummy parameters. Request 11581. oci8: * Fix for last_query reconstruction with lots of placeholders. Bug 12418, patch by Nicholas Evans. pgsql: * Added special-case to handle SAVEPOINT queries as manip queries. Bug 12260. sqlite: * Added support for another error message in the SQLite driver. Bug 12105, patch by Adam Ashley. Dependencies: |
1.7.13 |
Easy InstallNot sure? Get more info. pear install DB-1.7.13 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.13 Release date: 2007-09-21 11:16 UTC Release state: stable Release uploaded by: aharvey Changelog: This release of DB fixes a number of minor issues reported since the release of DB 1.7.12. All drivers: * Replaced instances of '=& new Foo' with '= new Foo' to make DB (slightly) more E_STRICT friendly. Request 11581. mysql: * Added an explicit call to select the database to fix calls to tableInfo() without a preceding query. Bug 11580. mysqli: * Added an explicit call to select the database to fix calls to tableInfo() without a preceding query. Bug 11580. sqlite: * Altered fetchInto() to remove extraneous quotes returned by SQLite. Bug 11716. Dependencies: |
1.7.12 |
Easy InstallNot sure? Get more info. pear install DB-1.7.12 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.12 Release date: 2007-06-29 09:14 UTC Release state: stable Release uploaded by: aharvey Changelog: This release of DB fixes an issue that prevented PostgreSQL users from escaping values with PHP 5.2. Please note that this version of DB has removed the version 1 package.xml file. Consequently, PEAR 1.4 or later must be used to install this version of DB and any future versions. oci8: * Added view support to getSpecialQuery() for feature parity with other backends. Request 11110. pgsql: * Added schema.views support to getSpecialQuery() to avoid disadvantaging views within schemas. Request 11080. * Changed parameter escaping to correctly pass up the DB connection. Bug 11125. tests: * Updated DIVZERO tests to reflect which DB backends actually return errors upon division by zero. Bug 10894. Dependencies: |
1.7.11 |
Easy InstallNot sure? Get more info. pear install DB-1.7.11 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.11 Release date: 2007-03-28 03:04 UTC Release state: stable Release uploaded by: aharvey Changelog: This release of DB fixes a bug in FrontBase's transaction support that could manifest when multiple connections were open at once. fbsql: * Fixed commit and rollback to specify the handle to be used. Thanks to Nicolas Ross for the patch. Bug 10473. Dependencies: |
1.7.10 |
Easy InstallNot sure? Get more info. pear install DB-1.7.10 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.10 Release date: 2007-03-20 05:25 UTC Release state: stable Release uploaded by: aharvey Changelog: This release of DB adds basic support for the BIT type within MySQL 5 when using the mysqli driver. mysqli: * Added a type map for BIT fields. Bug 10211. Dependencies: |
1.7.9 |
Easy InstallNot sure? Get more info. pear install DB-1.7.9 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.9 Release date: 2007-02-06 02:43 UTC Release state: stable Release uploaded by: aharvey Changelog: This release of DB fixes minor bugs within the Sybase driver. sybase: * Added divide by zero error mapping. * Added a specific quoteFloat() implementation along the same lines as fbsql. * Updated tableInfo() to cope with old versions of ASE that don't have sp_helpindex. Bug 6683. Dependencies: |
1.7.8 |
Easy InstallNot sure? Get more info. pear install DB-1.7.8 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.8 Release date: 2007-01-28 19:50 UTC Release state: stable Release uploaded by: aharvey Changelog: This release of DB fixes numerous bugs compared to 1.7.7. Users of previous versions are encouraged to upgrade in due course. Users of the pgsql driver should note that this release fixes a security issue reported by Yasuo Ohgaki; the security issue is described in more detail by CVE-2006-2313 and CVE-2006-2314. PostgreSQL users should upgrade to both DB 1.7.8 AND at least PostgreSQL 7.3.15, 7.4.13, 8.0.8, 8.1.4 or 8.2.0 as soon as possible if they are using SJIS, BIG5, GBK, GB18030 or UHC as a client encoding. This release is identical to 1.7.8RC2. The full change log from 1.7.7 to 1.7.8 follows. DB: * Added code to DB_result::numRows() to return correct results when limit emulation is being used. Bug 4649. * Added DB::getDSNString() to allow pretty-printing of both string and array DSNs, thereby improving the output of DB::connect() on error. Bug 3759. * Added DB_common::nextQueryIsManip() to explicitly hint that the next query is a manipulation query and therefore ignore DB::isManip(). Bug 3895. * Changed all freeResult() methods to check that the parameter is a resource before calling the native function to free the result. Bug 5762. * Fixed DB_result::fetch*() to only increment their internal row_counters when a row number has not been provided. Bug 7502. * Fixed quoting of float values to always have the decimal point as a point, rather than a comma, irrespective of locale. Bug 3021. * Silenced errors on ini_set calls. Bug 4915. * Tweaked DB::isManip() to attempt to deal with SELECT queries that include the word INTO in a non-keyword context. Bug 9869. fbsql: * Fix DB_result::numRows() to return the correct value for limit queries. ibase: * Handled cases where ibase_prepare returns false. Bug 8217. ifx: * Altered simpleQuery() to treat EXECUTE queries as being data-returning. Bug 5204. mssql: * Altered nextId() to use IDENT_CURRENT instead of @@IDENTITY, thereby resolving problems with concurrent nextId() calls. Bug 181. mysqli: * Added the mysterious 246 data type to the type map. Bug 6477. * Allowed the ssl option to be an integer. Bug 5657. oci8: * Added tracking of prepared queries to ensure that last_query is set properly even when there are multiple prepared queries at a given time. Bug 7632. * Altered connect() to handle non-standard ports. Thanks to Lukas Smith for the patch. Bug 7216. * Altered numRows() to properly restore last_query state. Bug 4388. pgsql: * Added schema support to _pgFieldFlags. Bug 5796. * Updated pgsql escaping to use pg_escape_string when available. Dependencies:
|
1.7.8RC2 |
Easy InstallNot sure? Get more info. pear install DB-1.7.8RC2 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.8RC2 Release date: 2007-01-21 20:19 UTC Release state: beta Release uploaded by: aharvey Changelog: This release candidate of DB fixes a minor bug in 1.7.8RC1. If no further bugs are reported, this will be released as DB 1.7.8 (stable) next week; probably on January 29. DB: * Tweaked DB::isManip() to attempt to deal with SELECT queries that include the word INTO in a non-keyword context. Bug 9869. Dependencies:
|
1.7.8RC1 |
Easy InstallNot sure? Get more info. pear install DB-1.7.8RC1 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.8RC1 Release date: 2007-01-12 00:50 UTC Release state: beta Release uploaded by: aharvey Changelog: This release candidate of DB fixes numerous bugs compared to 1.7.7. I would greatly appreciate feedback on this release, positive and negative, from DB users -- particularly those using the Oracle driver. If no bugs are reported, this will be released as DB 1.7.8 (stable) in the last week of January. DB: * Added code to DB_result::numRows() to return correct results when limit emulation is being used. Bug 4649. * Added DB::getDSNString() to allow pretty-printing of both string and array DSNs, thereby improving the output of DB::connect() on error. Bug 3759. * Added DB_common::nextQueryIsManip() to explicitly hint that the next query is a manipulation query and therefore ignore DB::isManip(). Bug 3895. * Changed all freeResult() methods to check that the parameter is a resource before calling the native function to free the result. Bug 5762. * Fixed DB_result::fetch*() to only increment their internal row_counters when a row number has not been provided. Bug 7502. * Fixed quoting of float values to always have the decimal point as a point, rather than a comma, irrespective of locale. Bug 3021. * Silenced errors on ini_set calls. Bug 4915. fbsql: * Fix DB_result::numRows() to return the correct value for limit queries. ibase: * Handled cases where ibase_prepare returns false. Bug 8217. ifx: * Altered simpleQuery() to treat EXECUTE queries as being data-returning. Bug 5204. mssql: * Altered nextId() to use IDENT_CURRENT instead of @@IDENTITY, thereby resolving problems with concurrent nextId() calls. Bug 181. mysqli: * Added the mysterious 246 data type to the type map. Bug 6477. * Allowed the ssl option to be an integer. Bug 5657. oci8: * Added tracking of prepared queries to ensure that last_query is set properly even when there are multiple prepared queries at a given time. Bug 7632. * Altered connect() to handle non-standard ports. Thanks to Lukas Smith for the patch. Bug 7216. * Altered numRows() to properly restore last_query state. Bug 4388. pgsql: * Added schema support to _pgFieldFlags. Bug 5796. Dependencies:
|
1.7.7 |
Easy InstallNot sure? Get more info. pear install DB-1.7.7 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.7 Release date: 2007-01-07 19:46 UTC Release state: stable Release uploaded by: aharvey Changelog: This release of DB fixes numerous minor bugs and improves compatibility with PHP 5.2 for the msql, sqlite and sybase drivers. DB: * added ability to specify port number when using unix sockets in DB::parseDSN() Bug 5982 odbc(access): * Tweak quoteSmart() to allows MS Access to wrap dates in #'s. Bug 4813. dbase: * Added DB_dbase::freeResult(). Bug 6967. ifx: * Added support for error codes as at Informix 10. msql: * Fix error mapping in PHP 5.2. Bug 9599. mssql: * Use mssql_fetch_assoc() instead of mssql_fetch_array(). Should resolve FreeTDS and/or Sybase issues discussed in bug 1525, et al. * Fix issues with delimited identifiers in mssql tableInfo(). Bug 8336. * Added support for some of the key error codes introduced in SQL Server 2005. mysql: * fixed handling of fully qualified table names in tableInfo(). Bug 4272. * Added support for new error codes in MySQL 5. mysqli: * worked around an issue in 'len' handling of tableInfo(). There is a bug in ext/mysqli or the mysqli docs. Bug 5680. * Added support for new error codes in MySQL 5. oci8: * Allowed old-style functions to use the database DSN field if hostspec isn't provided. Thanks to David Palm for the fix. Bug 7501. pgsql: * When inserting to non-existant column, produce proper error, "no such field", instead of "no such table". Bug 4365. * If connection is lost, raise DB_ERROR_CONNECT_FAILED instead of the generic DB_ERROR. Bug 4446. * Allow FETCH queries to return results. Bug 4112. sqlite: * Fix bug sqlite:///:memory: trys to open file. Bug 6599. * Fix error mapping in PHP 5.2. Bug 9599. sybase: * Allow connecting without specifying db name. Bug 4588. * Fix error mapping in PHP 5.2. Bug 9599. storage: * Eliminate "Undefined index $vars" notice in store(). Bug 4766. Dependencies:
|
1.7.6 |
Easy InstallNot sure? Get more info. pear install DB-1.7.6 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.6 Release date: 2005-04-11 11:11 UTC Release state: stable Release uploaded by: danielc Changelog: common: * Fix the docblocks regarding DB_FETCHMODE_FLIPPED. Bug 4027. oic8: * Provide BC hack for those connecting to oci8 using 'hostspec' instead of 'database'. Bug 4104. Dependencies:
|
1.7.5 |
Easy InstallNot sure? Get more info. pear install DB-1.7.5 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.5 Release date: 2005-03-29 10:05 UTC Release state: stable Release uploaded by: danielc Changelog: common: * Have buildManipSQL() return any errors that were raised. Bug 3954. * Have autoExecute() check for errors coming back from autoPrepare(). * Have autoPrepare() check for errors coming back from buildManipSQL(). mysql: * Don't pass new_link to mysql_pconnect(). Bug 3993. sqlite: * Map error message for multi-column unique constraints. Dependencies:
|
1.7.4 |
Easy InstallNot sure? Get more info. pear install DB-1.7.4 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.4 Release date: 2005-03-07 13:27 UTC Release state: stable Release uploaded by: danielc Changelog: mssql: * Fix tableInfo() so flags are returned. Bug 3691. Dependencies:
|
1.7.3 |
Easy InstallNot sure? Get more info. pear install DB-1.7.3 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.3 Release date: 2005-03-04 18:14 UTC Release state: stable Release uploaded by: danielc Changelog: all: * Remove modifyLimitQuery() from getOne() and getRow() due to backwards compatibility issues. This undoes request 1771 and the hacks required fix the problems it brought (bug 3663, bug 3666 and bug 3680). Fixes bug 3705. Dependencies:
|
1.7.2 |
Easy InstallNot sure? Get more info. pear install DB-1.7.2 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.2 Release date: 2005-03-03 11:59 UTC Release state: stable Release uploaded by: danielc Changelog: all: * Make modifyLimitQuery() accommodate queries that already have ";" appended to them. Bug 3666. * getOne() and getRow() should not use limit queries if the query contains aggregation functions: AVG, COUNT, MAX, MIN, SUM. Bug 3680. Dependencies:
|
1.7.1 |
Easy InstallNot sure? Get more info. pear install DB-1.7.1 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.1 Release date: 2005-03-01 15:23 UTC Release state: stable Release uploaded by: danielc Changelog: all: * modifyLimitQuery() should not not modify the query if it already has a LIMIT clause. Bug 3663. Dependencies:
|
1.7.0 |
Easy InstallNot sure? Get more info. pear install DB-1.7.0 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.0 Release date: 2005-02-28 23:37 UTC Release state: stable Release uploaded by: danielc Changelog: To view the majority of changes since 1.6.8, see the changelog for Release 1.7.0RC1. all: * __sleep() should not call disconnect(). Also store connection state in the new $was_connected property. This resolves Bug 3594 that was introduced in 1.7.0RC1. fbsql: * Handle more error codes: + 239 => DB_ERROR_TRUNCATED. + 215 => DB_ERROR_NOSUCHFIELD for columns not in both sides of JOIN. ibase: * Change error mapping of "arithmetic exception, numeric overflow, or string truncation" from DB_ERROR_DIVZERO to DB_ERROR_INVALID because it covers much more than division by zero. mssql: * Handle more error codes: + 155 => DB_ERROR_NOSUCHFIELD for columns not in both sides of JOIN. oci8: * Handle more error codes: + 1401 => DB_ERROR_INVALID for strings exceeding column size. odbc: * Handle more error codes: + '22001' => DB_ERROR_INVALID for strings exceeding column size. pgsql: * For getListOf('views'), ignore views in system schemas rather than returning views in the public schema. Request 3595. * Handle more error messages: + invalid input syntax for type numeric + column reference "active" is ambiguous + value too long for type character varying(50) + value "50000" is out of range for type shortint + integer out of range + column "p_id" specified in USING clause does not exist in left table + column p.p_name does not exist * Silence errors in errorNative() when connection doesn't exist. sqlite: * Handle more error messages: + cannot join using column b - column not present in both tables Dependencies:
|
1.7.0RC1 |
Easy InstallNot sure? Get more info. pear install DB-1.7.0RC1 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.7.0RC1 Release date: 2005-02-22 10:54 UTC Release state: beta Release uploaded by: danielc Changelog: all: * PEAR DB can now be used on more OS's due to switching from DB::assertExtension() to PEAR::loadExtension(). Request 1337. * Resolve tableInfo() issue caused by PHP 5.0.3. Bug 2988. * Add __sleep() and __wakeup(). Request 928. * Added __toString() and deprecated toString(). Request 1209. * Added DB_result::getQuery() method for determining what query created the present result. Request 1677. * If DSN contains "dbsyntax", always use that for $this->dbsyntax. Used to only be done for odbc. * When trying to DROP an index that doesn't exist, use the DB_ERROR_NOT_FOUND error code. * When the number of values in an INSERT query doesn't match the number columns, use the DB_ERROR_VALUE_COUNT_ON_ROW error code. * Removed the unused DB_ERROR_CANNOT_DELETE constant. * When using getOne() and getRow(), if the DBMS supports LIMIT queries, limit the output to one row. Request 1771. * Consider SELECT INTO and COPY data manipulation queries in isManip(). Bug 2883. * Add $free_resource argument to freePrepared(). dbase: * Provide tableInfo(). Request 2142. * Add 'mode' option to DSN and connect. * When connecting, if the database doesn't exist, use the new 'fields' DSN option to create the database. * No longer use strip_tags() on $php_errormsg when reporting connection errors. fbsql: * The FrontBase driver now works and passes all tests. ibase: * The InterBase driver now passes all tests (using PHP 5). * Add getListOf() support. * Add affectedRows() support. * Add numRows() support (Note: DB_PORTABILITY_NUMROWS must be enabled). * Add items to errorcode_map: -303 => DB_ERROR_INVALID -413 => DB_ERROR_INVALID_NUMBER -625 => DB_ERROR_CONSTRAINT_NOT_NULL -904 => DB_ERROR_CONNECT_FAILED * Refactor error handling to be like the other drivers: Moved most code from ibaseRaiseError() into the new errorNative() and errorCode() methods. * In errorNative(): + If PHP is >= 5.0.0, use ibase_errcode() + Otherwise use a refined error code extraction regex to keep it from catching numbers other than error codes. * Drop the bogus, non-standard $native_errmsg parameter in ibaseRaiseError(). * Remove the bogus error code 88. It was a hack to catch errors in nextID(). Now, when a generator does not exist, "DB Error: syntax error" is produced instead of "DB Error: no such table". ifx: * Add numRows() support (Note: DB_PORTABILITY_NUMROWS must be enabled). * Add $this->DB_common() call to the constructor, just like is done in all the other drivers. * Add items to error map: + -236: insert column count doesn't match value count + -316: create duplicate index + -319: drop non-existant index + -692: delete record with foreign key constraint msql: * The mSQL driver now works and passes most tests. mssql: * Use "," to delimit port only for Windows. Use ":" for other OS's. This bug was introduced when resolving Bug 2140. (Bug 2731) * Add 1913 (duplicate index creation) to errorcode_map. * Changed error code: When trying to DROP an index that doesn't exist, use DB_ERROR_NOT_FOUND instead of DB_ERROR_NOSUCHTABLE. mysql & mysqli: * Added the following items to the error map: 1061 => DB_ERROR_ALREADY_EXISTS 1044 => DB_ERROR_ACCESS_VIOLATION 1049 => DB_ERROR_NOSUCHDB 1142 => DB_ERROR_ACCESS_VIOLATION * Remove $num_rows property. Wasn't used in all drivers and numRows() can get the answer directly from the DBMS' API. mysql: * Add new_link and client_flags support to connect(). Request 1905. * If you want to use mysql_unbuffered_query() set the "result_buffering" option to 0 using setOptions(). Request 2813. oci8: * Allow use of oci_new_connect() via the new_link DSN option. * Add ocisetprefetch() calls in query() and execute(). This determines how many rows of a result set get buffered. To adjust the quantity, see the "result_buffering" option in setOptions(). Request 3241. * When running PHP5, use the new oci_connect() and oci_close() functions instead of the old ones. Works around crashes caused by PHP bug http://bugs.php.net/bug.php?id=28924 (PEAR Bug #2622) * The autoCommit property was renamed autocommit to be in line with the other drivers. * getListOf() now supports synonyms. Request 752. odbc: * Add tableInfo() support. Request 2669. * Add getListOf() support. Request 2669. * Add '23504' => DB_ERROR_CONSTRAINT to error map. * Deal with MS Access' excessive use of the S1000 ("General Error") code by trying to pin down a more specific error. * Changed error code: when the number values in an INSERT statement doesn't match the number of columns, use DB_ERROR_VALUE_COUNT_ON_ROW instead of DB_ERROR_MISMATCH. * Remove the $row property because it's not used. * Rename the $manip_result property $affected because it's more descriptive and is the name used in other drivers. * Raise error on problems in numRows(). pgsql: * Add connect_timeout (Request 3228), new_link, sslmode, and service support to connect(). * Allow multiple open parentheses in query strings (due to regex in simpleQuery()). Bug 2586. * Use pg_affected_rows() instead of the undocumented pg_cmdtuples() in affectedRows(). * Make $num_rows property private. * Add duplicate index creation to errorcode_map. * When doing getListOf() for views (Bug 2085) or functions, only show non-system items. * getListOf() now supports listing the schema and table by using the 'schema.tables' type. Request 682. * Rename _modifyQuery() to modifyQuery() as it is in the other drivers. sqlite: * Add tableInfo(). Request 1317. * Capture $php_errormsg on connection errors to make debugging easier. * Add duplicate index creation to errorcode_map. sybase: * Provide debugging information to raiseError() when connections fail so getUserInfo() and getDebugInfo() provide useful information. * Remove $num_rows property. Wasn't used in all drivers and numRows() can get the answer directly from the DBMS' API. * Add items to error mapping: + insert column count doesn't match value count + create duplicate index + drop non-existant index + illegal float/int conversion * Change identifier delimiting from [] to "". Note: "SET QUOTED_IDENTIFIER ON" must be executed sometime prior to using quoteIdentifier(). tests: * setup.inc now uses an array for the DSN's instead of defining constants. * Added the multiconnect.php test. * Added the 19getlistof.phpt test. * Reworked 10errormap.phpt so it passes when all expected conditions are met. Also tweaked it to make it work under fbsql. Dependencies:
|
1.6.8 |
Easy InstallNot sure? Get more info. pear install DB-1.6.8 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.8 Release date: 2004-10-04 13:56 UTC Release state: stable Release uploaded by: danielc Changelog: * odbc: Allow use of cursor argument to odbc connect functions. Bug 2385. (danielc) * pgsql: Add "permission denied" to error regex. Bug 2417. (stewart_linux-org-au) Dependencies:
|
1.6.7 |
Easy InstallNot sure? Get more info. pear install DB-1.6.7 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.7 Release date: 2004-09-25 17:59 UTC Release state: stable Release uploaded by: danielc Changelog: * pgsql: Don't anchor start of error regex. Bug 2399. (danielc) * tests: Add --INI-- section with error_reporting = 2047 to test files ensuring they pass under recent versions of PHP 5. (danielc) Dependencies:
|
1.6.6 |
Easy InstallNot sure? Get more info. pear install DB-1.6.6 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.6 Release date: 2004-09-21 14:28 UTC Release state: stable Release uploaded by: danielc Changelog: ============= BUGS FIXED: * mssql: Use comma, rather than colon, to delimit port in connect(). Bug 2140. (danielc) * dbase and pgsql: Use track_errors instead of output buffering to capture error messages when connecting. Bug 2011. (danielc) * pgsql: Add port to connect string when protocol is unix. Bug 1919. (danielc) * pgsql: Accommodate changes made to PostgreSQL so "no such field" errors get properly indicated rather than being mislabeled as "no such table." (danielc) Dependencies:
|
1.6.5 |
Easy InstallNot sure? Get more info. pear install DB-1.6.5 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.5 Release date: 2004-07-13 20:39 UTC Release state: stable Release uploaded by: danielc Changelog: ============= BUGS FIXED: * DB.php Add rawurldecode() to database portion of DSN. Bug 1826. (danielc) * common, dbase, fbsql, ibase, oic8, pgsql: When using resources as array index, convert to int first. http://bugs.php.net/28879 (danielc) * mysqli: Adjust tableInfo() so it can deal with changes made to mysqli_fetch_field()'s behavior. Add the $mysqli_flags and $mysqli_types properties as part of this effort. (danielc) mysql >= 4.0 doesn't need WHERE 1=1 hack for DELETE. (danielc) * pgsql: Adjust getListOf('tables') to accommodate the addition of sql_* core tables in PostgreSQL 7.4.2. Bug 1549. (Patch by yiwakiri and jpbarrette) * sybase: Use 'charset' and 'appname' from DSN in sybase connect. Bug 1812. (danielc) Simplify connect by setting $dsninfo['password'] to false if it's empty. Reworks hack for PEAR bug 631. (danielc) Dependencies:
|
1.6.4 |
Easy InstallNot sure? Get more info. pear install DB-1.6.4 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.4 Release date: 2004-04-30 22:35 UTC Release state: stable Release uploaded by: danielc Changelog: ============= BUGS FIXED: - common: Fix compatibility issue with getCol() introduced in version 1.6.3: when query produced no results, DB_ERROR_TRUNCATED error was raised. (danielc) Dependencies:
|
1.6.3 |
Easy InstallNot sure? Get more info. pear install DB-1.6.3 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.3 Release date: 2004-04-29 23:35 UTC Release state: stable Release uploaded by: danielc Changelog: ============= BUGS FIXED: - fbsql, mysql, mysqli, sqlite: Explicitly name 'id' column when performing inserts for sequence methods. (danielc) - common: Fix docblocks for getAssoc() and limitQuery(). (danielc) - common: Fix notice caused by passing invalid $col to getCol(). (danielc) - mysql, mysqli, oci8: Add error maping for failure of update/delete due to foreign key constraint. (danielc) - mysqli: IT NOW WORKS! (danielc) - tests: Make test suite work for installed packages. Already worked for CVS checkouts. (danielc) - tests: db_error.phpt and db_error2.phpt now pass when using PHP 5. (danielc) - tests: Made adjustments so mysql and mysqli pass transactions and foreign key tests. (danielc) Dependencies:
|
1.6.2 |
Easy InstallNot sure? Get more info. pear install DB-1.6.2 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.2 Release date: 2004-04-07 13:17 UTC Release state: stable Release uploaded by: danielc Changelog: ============= BUGS FIXED: - mysql, mysqli, sqlite, tests: Eliminate object to integer conversion notices in PHP5. Issue arose due to change in PHP between 2004-03-21 and 2004-03-28. Bug 1088. (danielc) - mysqli: Move connection id to first argument in mysqli_*() functions. (Mark Reidenbach) - mysqli: Bring tableInfo() closer to working by using mysqli_fetch_field(). (danielc) - oci8: Pass $params from limitQuery() to modifyLimitQuery() so can limit prepared queries. (danielc) - pgsql: Change isset() to !empty() for 'options' and 'tty' elements of $dsninfo to keep empty strings from being used in pg_connect() arguments. (danielc) Dependencies:
|
1.6.1 |
Easy InstallNot sure? Get more info. pear install DB-1.6.1 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.1 Release date: 2004-03-13 12:04 UTC Release state: stable Release uploaded by: danielc Changelog: ============= ENHANCEMENTS: - all: Minor coding standards fixes. (lsmith) ============= BUGS FIXED: - all: All native function calls now get errors silenced via @. (danielc) - all: LOAD DATA statements now return TRUE from isManip(). Bug 1005. (danielc) - common: Calling setFetchMode(DB_FETCHMODE_OBJECT) after using setFetchMode(DB_FETCHMODE_OBJECT, 'DB_row') didn't change the object type back to stdClass. Now it does. (danielc) - mysql, mysqli, odbc: Move error code portability mapping from connect() to mysqlRaiseError() so the feature can be turned on/off during runtime. (danielc) - oci8: In tableInfo() only return num_fields key if $mode is set. (lsmith) - oci8: numRows() now works if called after execute(). Bug 930. (danielc) - sqlite: Now uses sqlite_escape_string() to escape strings in escapeSimple() and quoteSmart(). (danielc via Matt Eaton) Dependencies:
|
1.6.0 |
Easy InstallNot sure? Get more info. pear install DB-1.6.0 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.0 Release date: 2004-02-19 17:03 UTC Release state: stable Release uploaded by: danielc Changelog: ============= API CHANGE: mysql4 was renamed mysqli. Change your DSN info accordingly. (danielc) ============= ENHANCEMENTS: - test suite: The test suite now includes a shell script for jump starting the process. Also, the version of setup.inc stored in CVS was renamed so you don't have to worry about CVS touching or committing your locally modified copy. (danielc) - all: Added DB_PORTABILITY_NULL_TO_EMPTY portability mode. Converts null values to empty strings in data output by * get*() and fetch*(). Helpful because Oracle doesn't know the difference between null and empty. (danielc) - ifx: Several new error code mappings: 'Identifier too long' = DB_ERROR_SYNTAX 'Table already exists' = DB_ERROR_ALREADY_EXISTS 'duplicate value' = DB_ERROR_CONSTRAINT 'Could not update a row in the table' = DB_ERROR_CONSTRAINT 'Missing key in referenced table for referential constraint' = DB_ERROR_CONSTRAINT 'Character to numeric conversion error' = DB_ERROR_INVALID_NUMBER 'Syntax disallowed in this database server' = DB_ERROR_SYNTAX (danielc) -ibase, ifx, mssql, oci8, odbc, pgsql, sqlite, sybase: Map not null constraint errors to DB_ERROR_CONSTRAINT_NOT_NULL. (danielc) -mysql, mysqli: Map not null constraint error (1048) from DB_ERROR_CONSTRAINT to DB_ERROR_CONSTRAINT_NOT_NULL when portability is on. (danielc) ============= BUGS FIXED: - ifx: fetchRow() now adds 1 to the requested $rownum because ifx_fetch_row() starts at 1. (peterwb) - ifx: affectedRows() now returns 0 for SELECT queries, just like the other DBMS's. (danielc) - ibase: Remove trans_number argument from rollback() method. No other driver has it and ibase_rollback() doesn't accept it. (danielc) - sqlite: Set $dsn property when connecting. (danielc) Dependencies:
|
1.6.0RC6 |
Easy InstallNot sure? Get more info. pear install DB-1.6.0RC6 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.0RC6 Release date: 2004-02-11 00:53 UTC Release state: stable Release uploaded by: danielc Changelog: ============= ENHANCEMENTS: - all: When connecting with an array as the DSN and the 'dbsyntax' element is not set, parseDSN() now sets it to 'phptype', just like what happens when parsing a DSN string. (danielc) - ifx: Add tableInfo(). (peterwb@iafrica.com, danielc) - mysql, odbc(access): Added DB_PORTABILITY_ERRORS portability option to ensure consistent mapping of errors between DBMS's. In mysql this changes duplicate key constraints from DB_ERROR_ALREADY_EXISTS to DB_ERROR_CONSTRAINT. In access MS's ODBC driver mistakenly reports 'no such field' as 'too few parameters' so this option maps the error back to the standard DB_ERROR_NOSUCHFIELD. (danielc) - ibase, mssql, odbc, pgsql, sqlite: Duplicate key constraint violations mapped to DB_ERROR_CONSTRAINT. (danielc) ============= BUGS FIXED: - oci8: Change duplicate key constraint mapping from DB_ERROR_ALREADY_EXISTS to DB_ERROR_CONSTRAINT for portability with other DBMS's. Since the initial mapping was added in 1.6.0RC1, this isn't a backwards compatibility issue. (danielc) - oci8: Have modifyLimitQuery() quote all identifiers in order to avoid problems when certain queries with quoted identifiers are passed to limitQuery(). Bug 679. (danielc) - all: In modifyLimitQuery(), if errors, put bad query into last_query to help debugging. (danielc) - all: In limitQuery(), check if return from modifyLimitQuery() is an error and return that error if problems. (danielc) - all: All drivers with tableInfo() methods had bug introduced in 1.6.0RC5 that caused 'undefined function' errors when lowercasing portability was off. Bug 724. (danielc) - ibase: Resolve 'undefined variable flags' notice when using tableInfo() under certain conditions. (danielc) - ibase: Use upper case for RELATION_NAME in _ibaseFieldFlags() query to make tableInfo() work. (danielc) Dependencies:
|
1.6.0RC5 |
Easy InstallNot sure? Get more info. pear install DB-1.6.0RC5 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.0RC5 Release date: 2004-02-06 12:45 UTC Release state: beta Release uploaded by: danielc Changelog: ============= ENHANCEMENTS: Added quoteIdentifier() method. (danielc) ============= BUGS FIXED: tableInfo() $mode can once again be 0. (danielc) -- all Finalize the fix for the "undefined index" notices bug when using an array for the DSN. Bugs 693 and 696. (danielc) -- oci8 Have modifyLimitQuery() deal with columns names which have spaces in them. Bug 679. (danielc) Dependencies:
|
1.6.0RC4 |
Easy InstallNot sure? Get more info. pear install DB-1.6.0RC4 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.0RC4 Release date: 2004-02-04 01:56 UTC Release state: beta Release uploaded by: danielc Changelog: ============= ENHANCEMENTS: Speed up getAll() a tad. (danielc) ============= BUGS FIXED: -mysql4 Change exentsion check from mysql to mysqli. (chagenbu) All normal $dsninfo array elements are now set in parseDSN(), eliminating the need to check them in each driver's connect() method. This also eliminates a bug introduced in 1.6.0RC3 which caused "undefined index" notices when using an array for the DSN when connecting. (danielc, chagenbu) All methods that return by reference always return a variable. This avoids memory corruption in PHP 4. This has been gradually implemented during all of the 1.6.0 RC's up to this point. Bug 361. (danielc) 15quote test now works correctly for boolean types. (danielc) Dependencies:
|
1.6.0RC3 |
Easy InstallNot sure? Get more info. pear install DB-1.6.0RC3 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.0RC3 Release date: 2004-01-30 21:34 UTC Release state: beta Release uploaded by: danielc Changelog: ============= GENERAL: Loads of small code optimizations implemented, many of which were found using Zend Studio's Code Analyzer. Since most DBMS's need 1/0 for boolean support, use 1/0 in common.php and only put quoteSimple() methods in the few drivers that use true booleans or other formats (dbase, fbase, pgsql). Enhanced 15quote.phpt so it tests boolean features in quoteSmart() and handles more DBMS types. Added new 18get.phpt test. ============= BUGS FIXED: - odbc: Fix connect() so uses 'database' from DSN instead of having to use 'hostspec' as a workaround. Correct DSN syntax is: odbc(db2)://user:password@/database - pgsql: Refine DB_ERROR_NOSUCHTABLE error_regexp. - sqlite: Make freeResult() do what it says it does. - ibase, msql, odbc: quoteSmart() now uses 1/0 for booleans. - ibase, msql, odbc: getSpecialQuery() doesn't return anything in these drivers. Put one in common.php that raises DB_ERROR_UNSUPPORTED. - mysql, mysql4: Removed unused argument "$subject" from modifyQuery(). Dependencies:
|
1.6.0RC2 |
Easy InstallNot sure? Get more info. pear install DB-1.6.0RC2 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.0RC2 Release date: 2004-01-27 13:33 UTC Release state: beta Release uploaded by: danielc Changelog: ============= NEW FEATURES: - An **experimental** driver for mysql4 has been added. (nicos, Roman, et al) ============= BUGS FIXED: - ibase: Add error mapping for 'no permission for...' - ifx: Use NEXT for fetch_row() instead of null. Bug 598. - sybase: Use false for password when password is empty in order to workaround a PHP bug. Bug 631. - dbase, ifx, mssql, mysql, oci8, sqlite, sybase: Changed $str to $in for boolean test in smartQuote(). - fbsql, ibase: Use getSequenceName() in createSequence(), nextID() and dropSequence() for uniformity between drivers. Dependencies:
|
1.6.0RC1 |
Easy InstallNot sure? Get more info. pear install DB-1.6.0RC1 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.6.0RC1 Release date: 2004-01-25 14:41 UTC Release state: beta Release uploaded by: danielc Changelog: == GENERAL NOTES ============ * PEAR DB now requires PHP to be at version 4.2.0 or greater. * The version numbers has been increased to 1.6.0 due to major changes, thereby skipping over a final 1.5.0 release. * All changes by danielc unless otherwise noted. == DB.php and common.php ==== * Make the $options argument in connect() default to an array to improve documentation. * Add strtolower() to all get_class() calls, creating PHP 4/5 compatibility. * Speed up connect() a bit by doing one is_array() up front. * factory() now has $options parameter and the error reporting / setOption() code related thereto. Bug 25. * Have DB_result::tableInfo() -- which has been long deprecated -- forward a result object rather than a result resource. * Removed deprecated constants DB_WARNING and DB_WARNING_READ_ONLY * Add DB_FETCHMODE_OBJECT support to fetchAssoc(). Bug 232. **ONLY WORKS IN PHP 4.** * var $phptype was misnamed $type. * Save a couple steps in constructor by setting values in var declarations. * Allow '.' in sequence names. Bug 135. * Speed getRow() a tad more by making default $params an array. * getRow() drop general checks/settype by more efficient specific checks earlier. Fix docblock param order. * trim() $nativecode because some error strings have line breaks at end. * Fix broken fold marks. (ssb) * Add 'ssl' connection option to $options/setOption(). * Fix ; to : at end of case statement. Bug 617. * REFINE PREPARE/EXECUTE EMULATION + Allow scalars in addition to arrays. + prepare() now allows placeholder characters to be escaped so they can be used in literals. Bug 31. + Allow associative arrays to be passed to execute() and (perhaps speed things) up by using foreach instead of for. Bug 585. + Fix wrong splitting by \ in prepare(). Bug 45. (cox) + Use fopen($file, 'rb') to make sure we get binary data properly on Windows platforms. (chagenbu) + Eliminate unnecessary variable assignments. + Move error checking up front so it doesn't need to be repeated in for loop. + Reorganize conditional statements to reduce need for executing them. + Raise DB_ERROR_ACCESS_VIOLATION on fopen() failure. + Use fread() instead of while fgets(). + Adjust docblocks to match changes and related realities. == All Drivers ============== * Whitespace cleanup. * Docblock enhancements. * Change double quotes to single quotes for minor efficiency gain on strings that don't need to be evaluated. * quoteSmart() and escapeSimple() methods introduced. * quote() and quoteString() are now officially deprecated. * REWORK PORTABILITY FEATURES + Added new 'portability' option. + The 'optimize' option is now deprecated, but full backwards compatibility is built in. + Each portability feature can be turned on and off. + New portability feature allows right trimming database output. + All DBMS's can now lowercase field names. Bug 397. + All tableInfo() methods now have the ability to lowercase table and field names. + Portability features enabled/disabled by passing bitwised constants to DB_common::setOption(). + Enhanced docblocks for related methods. + Adjusted tests accordingly. + This system is documented in the DB_common::setOption() method. * Dropped freeResult() as a way for freeing prepared queries (cox): $res = $dbh->prepare(..); $dbh->freeResult($res); (that was never documented/used anyways) Use $dbh->freePrepared($res) instead == fbsql ==================== * Fix mem leaks in some drivers even when free() is called. (cox) * TABLEINFO() CLEAN UP / STANDARDIZATION + Can now be passsed a DB_result object, which has become the primary means of calling this method. + Change empty($mode) to is_null($mode) which has lower overhead. + Create $got_string variable so don't need to call is_string() over and over. + Centralize $result validation check. == ibase ==================== * Fix mem leaks in some drivers even when free() is called. (cox) * TABLEINFO() CLEAN UP / STANDARDIZATION + Can now be passsed a DB_result object, which has become the primary means of calling this method. + Suppress output from ibase_query() via @. + Create limit via 'WHERE 1=0' in the query used when table names submitted. + Change empty($mode) to is_null($mode) which has lower overhead. + Create $got_string variable so don't need to call is_string() over and over. + Centralize $result validation check. * REFINE PREPARE/EXECUTE + prepare() now allows placeholder characters to be escaped so they can be used in literals. Bug 31. + Allow associative arrays to be passed to execute() and (perhaps speed things) up by using foreach instead of for. Bug 585. + Allow ! as placeholder in prepare(). Bug 91. + Fix execute() always requiring placeholders. + Use fopen($file, 'rb') to make sure we get binary data properly on Windows platforms. + Raise DB_ERROR_ACCESS_VIOLATION on fopen() failure. + Do type checking before entering loop to save processing. + Speed up by using fread(filesize()) in prepare() instead of doing fread() in loop. + Document ability to accept both arrays and scalars. == ifx ====================== * Fix capitalization of ifxRaiseError(). Thanks peterwb. * Add return for 'tables' in getSpecialQuery() to make getListOf('tables') work. From peterwb. * Fix mem leaks in some drivers even when free() is called. (cox) == msql ===================== * Fix mem leaks in some drivers even when free() is called. (cox) == mssql ==================== * Add @ to mssql_query() in tableInfo(). * Made possible to call _mssql_field_flags() multiple times with different table names * Add 8134, 'Divide by zero error encountered' to errormap. But doesn't pass errormap tests due PHP not reporting it as an error. See PHP bug 26799. * Fix mem leaks in some drivers even when free() is called. (cox) * TABLEINFO() CLEAN UP / STANDARDIZATION + Can now be passsed a DB_result object, which has become the primary means of calling this method. + Flags now space-delimited rather than comma-delimited. + _mssql_field_flags() revamped (contributed by j_barthel) + _mssql_field_flags() was complaining about invalid indexes for $val. The keys returned are lower case but the keys used in the script were upper. Added array_change_key_case() call and changed case of keys in the script. + Multi-column indexes now convey 'multiple_key' on more than just the first column. + Create limit via 'WHERE 1=0' in the query used when table names submitted. + Change empty($mode) to is_null($mode) which has lower overhead. + Create $got_string variable so don't need to call is_string() over and over. + Centralize $result validation check. * FIX ERROR HANDLING + errorCode() mistakenly returned an mssql error code rather than a PEAR DB code. Fixed. + Added errorNative() method which returns an mssql error code. + Have mssqlRaiseError() take advantage of the new/fixed methods. == mysql ==================== * Fix mem leaks in some drivers even when free() is called. (cox) * TABLEINFO() CLEAN UP / STANDARDIZATION + Can now be passsed a DB_result object, which has become the primary means of calling this method. + Change empty($mode) to is_null($mode) which has lower overhead. + Create $got_string variable so don't need to call is_string() over and over. + Centralize $result validation check. == oci8 ===================== * Make modifyLimitQuery() work by properly incrementing $from. Bug 474. * Remove ocifreestatement() from freeResult() so can get results from SELECT queries. Bug 229. PHP Bug 25747. * Add errorcode_map for ORA-00921 'unexpected end of SQL command.' oci8 now passes all errormap tests. * Suppress stdout by placing @ in front of several OCI*() calls. Bug 77. * Return by reference oci8RaiseError(). * Fix mem leaks in some drivers even when free() is called. (cox) * TABLEINFO() CLEAN UP / STANDARDIZATION + Can now be passsed a DB_result object, which has become the primary means of calling this method. + When analyzing a query result, looking up the table name via USER_TAB_COLUMNS fails when more than one table in the schema uses the column name in question. Drop this 'feature.' + Fix bug introduced in August that passed OCIColumnName() to 'type'. + 'type' is different for each DBMS, so no need to lowercase it. + Change $count to $i for standardization. + Suppress output from oci*() calls via @. + Check for 'portability' once per column. + Reformat $q_fields query to make it more readable and not call unneeded fields. + Place $q_fields in $this->last_query to clarify debuging. + Change empty($mode) to is_null($mode) which has lower overhead. + Create $got_string variable so don't need to call is_string() over and over. * REFINE PREPARE/EXECUTE + prepare() now allows placeholder characters to be escaped so they can be used in literals. Bug 31. + Allow associative arrays to be passed to execute() and (perhaps speed things) up by using foreach instead of for. Bug 585. + Allow ! as placeholder in prepare(). Bug 91. + Use fopen($file, 'rb') to make sure we get binary data properly on Windows platforms. + Fix OCI8 Execute always requires placeholders. Bug 72. (cox) + Fix OCI8 Prepare() does not raise SQL parse error. Bug 73. (cox) + Raise DB_ERROR_ACCESS_VIOLATION on fopen() failure. + Speed up by using fread(filesize()) in prepare() instead of doing fread() in loop. + Document ability to accept both arrays and scalars. + Do type checking before entering loop to save processing. == odbc ===================== * Fix mem leaks in some drivers even when free() is called. (cox) == pgsql ==================== * In tableInfo() flag's default value component: 1) run values through rawurlencode() because spaces would interfere with space separation of the flags list and 2) remove ::datatype from the end since it's already stated in 'type'. * Allow EXPLAIN in simpleQuery() and merge the method's three preg tests into one. Bug 593. * Eliminate potential for undefined variable in _pgFieldFlags(). * Add several items to errorcode_map. pgsql now passes all errormap tests. * Make error-matching regular expressions case-insensitive. (chagenbu) * Allow for postgres sockets in a non-standard location. Bug 339. (chagenbu) * Fix mem leaks in some drivers even when free() is called. (cox) * Free result fixes. Bug 25550. (cox) * TABLEINFO() CLEAN UP / STANDARDIZATION + Can now be passsed a DB_result object, which has become the primary means of calling this method. + Change flags from 'term' to 'term_key' (eg 'unique' is now 'unique_key'). + If a key is primary, just say 'primary_key', not that and 'unique_key'. + Suppress output from pg_exec() via @. + Change empty($mode) to is_null($mode) which has lower overhead. + Create $got_string variable so don't need to call is_string() over and over. + Centralize $result validation check. == sqlite =================== * Remove fetchRow(). It's already in DB_result, no other driver has one, argument order was different, works fine without it. * Catch touch() and chmod() errors. Bug 292. * Since only SQLite uses 'mode', remove it from $params in DB.php and add an isset check in sqlite.php. * Fix connection types. Was using persistent when asked for regular and regular when asked for persistent. Bug 25806. (tuupola) * Remove unused DB_FETCHMODE_BOTH constanst. (tuupola) * Add debug information from sqlite_last_error() in sqliteRaiseError(). (tuupola) * Fix mem leaks in some drivers even when free() is called. (cox) == storage ================== * Add strtolower() to all get_class() calls, creating PHP 4/5 compatibililty. * PEAR.php already required in DB.php * Return by reference fixes. Bug 361. * Some cleanup (mj): + Using <br /> instead of <br> + Removing usage of @ and replacing that with a more elaborate construct. + Removing usage of non-existing member variable $_discard. == sybase =================== * Allow empty passwords. Bug 564. * Add tableInfo(). * Implement sequences. * Make fetchInto() drop numbered keys when DB_FETCHMODE_ASSOC. Bug 350. * Quiet the sybase connect call. Bug 437. * Set $this->_db so sybase_select_db() in simpleQuery() will work. Bug 49. * Fix mem leaks in some drivers even when free() is called. (cox) * MAKE ERROR MESSAGES WORK: + Use foreach() in errorCode() so loop starts at begining of $error_regexps array each time. + Add some new error string expressions to $error_regexps. + Change values of $error_regexps from Sybase error codes to DB constants. + Delete all elements in $errorcode_map because Sybase extension doesn't return error codes. + Simplify errorCode() and sybaseRaiseError(). Was passing inappropriate arguments to raiseError() -- Sybase's native message went $userinfo and needlessly tried sending DB's own message to $native. Now native goes to $native and $userinfo is null. + Add docblocks for these error methods. + Divide by zero error doesn't pass errormap tests due PHP not reporting it as an error. == tests ==================== * Expanded range of tests. * Adjusted tests to ensure they work under both PHP 4 and PHP 5. * Each test creates and drops all needed tables, even when tests fail. Dependencies:
|
1.5.0RC2 |
Easy InstallNot sure? Get more info. pear install DB-1.5.0RC2 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.5.0RC2 Release date: 2003-09-14 19:48 UTC Release state: stable Release uploaded by: cox Changelog: New Features: - Added "isnullable" and "primary_key" field flags for tableInfo() (only avaible when passed a table name) - Added transactions support for the Informix driver Bugs fixed: - SQLite driver now passes all the tests - Various others bugfixes |
1.5.0RC1 |
Easy InstallNot sure? Get more info. pear install DB-1.5.0RC1 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.5.0RC1 Release date: 2003-06-23 01:09 UTC Release state: stable Release uploaded by: cox Changelog: New Features: - Added $dbh->freePrepared(), for explicitily free a prepared result - Test suite enhanced - Added new *experimental* driver for SQLite Bugs fixed: - Fixed memory leaks with methods that did automatic prepare/execute - ibase: better error handling and various bugfixes - mssql: added port setting to connect and enhancements to the error hanlder - mysql: $db->createSequence(); $db->nextID(); now returns 1 and other minor fixes - odbc: added native quote() function, better error handling, and other bugfixes - pgsql: minor bugfixes Special thanks for those persons who sent patches and bug reports. This release is done for public testing before the final release in sync with the upcomming PHP 4.3.3 version. |
1.4.0 |
Easy InstallNot sure? Get more info. pear install DB-1.4.0 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.4.0 Release date: 2003-05-12 11:13 UTC Release state: stable Release uploaded by: ssb Changelog: New Features: - params support in limitQuery() - sybase: error mapping implemented (floripa) - sybase: numRows() errorNative() errorCode() implemented Bugs fixed: - use rawurldecode() instead of urldecode() for DSN usernames and passwords - ibase: misc bugfixes - ifx: results were not freed - mssql: fix DB_FETCHMODE_ASSOC row fetches - mysql: prefer mysql_real_escape_string if available - pgsql: don't specify host on connect if empty - pgsql: quote() did not support booleans - pgsql: modifyLimitQuery() generated wrong LIMIT clause |
1.4b1 |
Easy InstallNot sure? Get more info. pear install DB-1.4b1 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.4b1 Release date: 2003-02-08 09:22 UTC Release state: beta Release uploaded by: ssb Changelog: New Features: - params support in limitQuery() - sybase: error mapping implemented (floripa) - sybase: numRows() errorNative() errorCode() implemented Bugs fixed: - use rawurldecode() instead of urldecode() for DSN usernames and passwords - ibase: misc bugfixes - ifx: results were not freed - mssql: fix DB_FETCHMODE_ASSOC row fetches - mysql: prefer mysql_real_escape_string if available - pgsql: don't specify host on connect if empty - pgsql: quote() did not support booleans - pgsql: modifyLimitQuery() generated wrong LIMIT clause |
1.3 |
Easy InstallNot sure? Get more info. pear install DB-1.3 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.3 Release date: 2002-07-04 15:58 UTC Release state: stable Release uploaded by: cox Changelog: New Features: - Added new option "autofree", which will free the result automatically when there are no more rows. Use it with: $db = DB::connect($dsn, array('autofree' => true)); - Added new methods: buildManipSQL(), autoPrepare() and autoExecute() - Dropped all references to the unused DB_Warning class - Added new driver DB_Ado (as a sepparate package), contributed by Alexios Fakos) Bugs fixed: - Fix MS SQL server multiple connections under the same script - The MySQL driver no longer needs to specify a database (allowing queries with the style database.table) - Fix parseDSN() to not confuse an Oracle TSN with the protocol - Adapt the tests paths to work with the new "pear run-tests" (do a "pear download DB", uncompress the package and run "pear run-tests tests"). - Fix numRows() in Oracle driver, that was failing when using "DISTINCT" in query. (Bug #17989) |
1.2 |
Easy InstallNot sure? Get more info. pear install DB-1.2 Pyrus InstallTry PEAR2's installer, Pyrus. php pyrus.phar install pear/DB-1.2 Release date: 2002-04-23 23:40 UTC Release state: stable Release uploaded by: ssb Changelog: First packaged release. |