Top Level :: Database

Package Information: DB 1.7.0RC1

Show All Changelogs
» Version » Information
1.7.14RC1 2007-11-28     beta
1.7.13 2007-09-21     stable
1.7.12 2007-06-29     stable
1.7.11 2007-03-28     stable
1.7.10 2007-03-20     stable
1.7.9 2007-02-06     stable
1.7.8 2007-01-29     stable
1.7.8RC2 2007-01-22     beta
1.7.8RC1 2007-01-12     beta
1.7.7 2007-01-08     stable
1.7.6 2005-04-11     stable
1.7.5 2005-03-29     stable
1.7.4 2005-03-07     stable
1.7.3 2005-03-04     stable
1.7.2 2005-03-03     stable
1.7.1 2005-03-01     stable
1.7.0 2005-03-01     stable
1.7.0RC1Download

Release date: 2005-02-22 15:54 UTC
Release state: beta

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:
  • PHP Version: PHP 4.2.0 or newer
  • PEAR Package: PEAR 1.0b1 or newer
1.6.8 2004-10-04     stable
1.6.7 2004-09-25     stable
1.6.6 2004-09-21     stable
1.6.5 2004-07-14     stable
1.6.4 2004-05-01     stable
1.6.3 2004-04-30     stable
1.6.2 2004-04-07     stable
1.6.1 2004-03-13     stable
1.6.0 2004-02-19     stable
1.6.0RC6 2004-02-11     stable
1.6.0RC5 2004-02-06     beta
1.6.0RC4 2004-02-04     beta
1.6.0RC3 2004-01-31     beta
1.6.0RC2 2004-01-27     beta
1.6.0RC1 2004-01-25     beta
1.5.0RC2 2003-09-14     stable
1.5.0RC1 2003-06-23     stable
1.4.0 2003-05-12     stable
1.4b1 2003-02-08     beta
1.3 2002-07-04     stable
1.2 2002-04-24     stable