Re: [ANNOUNCEMENT] DB_Table-1.3.0RC2 (beta) Released.

From: Date: Fri, 07 Apr 2006 22:12:46 +0000
Subject: Re: [ANNOUNCEMENT] DB_Table-1.3.0RC2 (beta) Released.
References: 1  Groups: php.pear.dev php.pear.general 
Request: Send a blank email to pear-dev+get-42127@lists.php.net to get a copy of this message
On 7 Apr 2006 16:55:28 -0000, PEAR Announce <pear-dev@lists.php.net> wrote: > The new PEAR package DB_Table-1.3.0RC2 (beta) has been released at > http://pear.php.net/. > > Release notes > ------------- > Changes since 1.3.0RC1: > * Bug #7297: create() was called when using the new creation modes > 'verify' or 'alter'. This can be seen as a BC break (especially > when somebody extends DB_Table), and therefore, there are new > methods verify() and alter() in DB_Table class. > (thanks to vdb at mail dot ru) > Short summary: > * New table creation modes 'verify' and 'alter' > * Primary keys are now supported > * MDB2 is now supported as database backend > * Firebird DBMS is now supported (but Interbase isn't) > * Auto-creation of QuickForm rules can be disabled now > * Usage of custom QuickForm elements is now more flexible > * Internationalizing/customizing of error messages now easier > Minor changes in detail: > * Improvement related to bug report #5679: many arrays (in the > table definition and as function parameters) may now be null > (of course, an empty array is still allowed). > * The column definition array $col may not be empty because it > isn't possible to create empty database tables and because > the work with DB_Table makes only sense with at least one > column. > * Fixed several return by reference problems (that caused > notices in PHP 4.4.x and 5.x). > * Fixed several "undefined index" problems (causing notices). > * Bugfix: select() and selectResult() didn't return error > objects caused due to problems in $sql array. > * Bugfix: static usage of DB_Table_QuickForm::createForm() > resulted in fatal error when 'formName' wasn't specified > in the $args parameter. > * Request #5965: Turn off automatic setting of default QF rules > like 'numeric' or 'required' (can be done by setting > $cols[...]['qf_set_default_rules'] = false). > (thanks to Arne Bippes) > * Bug #6025: DB_Table no longer tries to create a table if a > table with the same name but with different use of lower and > upper letters. > * Request #6036: new qf_type 'callback' which allows to add > custom QF elements that need more than the standard > parameters. You need to specify a key named 'qf_callback', > filled with either the name of a class (this class needs to > have a method 'createElement') or the name of a method. > Both method types must return true if the element was created > successfully. (thanks to Arne Bippes) > * The dependency on the Date package was removed. > * In addition to the option to internationalize some error messages > via $GLOBALS['_DB_TABLE']['error'], you can now use > setErrorMessage() like this (assuming $obj is your DB_Table instance): > $obj->setErrorMessage(DB_TABLE_ERR_PHPTYPE, 'localized message'); > or to set more than one message: > $obj->setErrorMessage(array(DB_TABLE_ERR_PHPTYPE => 'message 1', > DB_TABLE_ERR_NOT_DB_OBJECT => 'message 2')); > Static calls (DB_Table::setErrorMessage(...)) are also valid. > Setting the error messages via a static call or $GLOBALS is > especially needed for errors that can occur with-in the > constructor call (i.e. e.g. creating or altering the database table). > Major changes / enhancements in detail: > * Request #5478: Verification/check, whether the table exists, > whether all the columns exist, whether the columns have the > right type, and whether the indexes exists. This can be used > by setting $create in the constructor of your extended class > to 'verify' instead of false/'safe'/'drop'. In case of an > error in the schema, you will find the PEAR_Error object in > $obj->error (assuming $obj is your DB_Table instance). > - This is not available for 'fbsql' and 'mssql' phptypes. > ('fbsql' is likely to be not supported in the future, while > 'mssql' will be added when MDB2 has support for index and > constraint information for this DBMS.) > * New creation mode 'alter': If the table does not exist, it will > be created. Otherwise, table fields' existance and types will be > checked and, if needed, the field(s) will be added or changed. The > same applies for indexes' and constraints' existance and types. > Columns/indexes/constraints that don't exist anymore in the table > definition class, will NOT be removed. > - This is a new and powerful feature, use it with caution -- changing > a string datatype into a numeric datatype in your table definition > class may lead to data loss. > - Using " $_DB_TABLE['debug'] = true; " in your scripts will > output what will be changed. If something unexpected is changed, > please report it via PEAR's bug tracker (please include the > debug message and the column and/or index definition from your > table definition class, thanks). > - This is not available for 'fbsql' and 'mssql' phptypes. > ('fbsql' is likely to be not supported in the future, while > 'mssql' will be added when MDB2 has support for index and > constraint information for this DBMS.) > (thanks to Arne Bippes for the initial idea) > * Support for primary keys: In the $idx array one index can be > marked as 'primary' and will be created as the primary key of > the chosen table. > - This not available for 'sqlite' phptype, as SQLite does not > support primary keys. > * Request #6384: DB_Table now supports also MDB2 as the database > backend. Just pass an MDB2 instance instead of a DB instance to > the constructor. (thanks to Lukas Smith for the initial patch) > * DB_Table now supports the Firebird DBMS (version >= 1.5 > required). Because of the limited features of Interbase > (its ancestor), only Firebird is supported. Therefore, > 'dbsyntax' must be set to 'firebird' in your DSN. Please note > that the ibase extension is very buggy in PHP 4, while it works > good with PHP 5. > > Only relevant if you are using localized error messages: > * Please note that there are eleven new error messages and that the > messages for DB_TABLE_ERR_NOT_DB_OBJECT and DB_TABLE_ERR_PHPTYPE > slightly differ from the old messages. > > > Package Info > ------------- > Builds on PEAR DB to abstract datatypes and automate table creation, data validation, insert, > update, delete, and select; combines these with PEAR HTML_QuickForm to automatically generate input > forms that match the table column definitions. > > > Related Links > ------------- > Package home: http://pear.php.net/package/DB_Table > Changelog: > http://pear.php.net/package/DB_Table/download/1.3.0RC2 > Download: http://pear.php.net/get/DB_Table-1.3.0RC2.tgz > > Authors > ------------- > Paul Jones <pmjones@ciaweb.net> (lead) > Mark Wiesemann <wiesemann@php.net> (lead) > > -- > PEAR General Mailing List (http://pear.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > Geez, guys. You may want to consider making releaes more often, this is a lot of changes. -- Justin Patrin

« previous php.pear.dev (#42127) next »