[ANNOUNCEMENT] DB-1.7.0RC1 (beta) Released.

From: Date: Tue, 22 Feb 2005 15:54:45 +0000
Subject: [ANNOUNCEMENT] DB-1.7.0RC1 (beta) Released.
Groups: php.pear.general 
Request: Send a blank email to pear-general+get-17621@lists.php.net to get a copy of this message
The new PEAR package DB-1.7.0RC1 (beta) has been released at http://pear.php.net/. Release notes ------------- 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. Package Info ------------- DB is a database abstraction layer providing: * an OO-style query API * portability features that make programs written for one DBMS work with other DBMS's * a DSN (data source name) format for specifying database servers * prepare/execute (bind) emulation for databases that don't support it natively * a result object for each query response * portable error codes * sequence emulation * sequential and non-sequential row fetching as well as bulk fetching * formats fetched rows as associative arrays, ordered arrays or objects * row limit support * transactions support * table information interface * DocBook and phpDocumentor API documentation DB layers itself on top of PHP's existing database extensions. Drivers for the following extensions pass the complete test suite and provide interchangeability when all of DB's portability options are enabled: fbsql, ibase, informix, msql, mssql, mysql, mysqli, oci8, odbc, pgsql, sqlite and sybase. There is also a driver for the dbase extension, but it can't be used interchangeably because dbase doesn't support many standard DBMS features. DB is compatible with both PHP 4 and PHP 5. Related Links ------------- Package home: http://pear.php.net/package/DB Changelog: http://pear.php.net/package/DB/download/1.7.0RC1 Download: http://pear.php.net/get/DB-1.7.0RC1.tgz Authors ------------- Stig Bakken <stig@php.net> (developer) Thomas V.V.Cox <cox@idecnet.com> (developer) Daniel Convissor (lead) Lukas Smith <smith@backendmedia.com> (helper)

« previous php.pear.general (#17621) next »