Re: [ANNOUNCEMENT] DB_Table-1.3.0RC2 (beta) Released.
| From: | Derek Downey | Date: | Fri, 07 Apr 2006 22:17:51 +0000 |
| Subject: | Re: [ANNOUNCEMENT] DB_Table-1.3.0RC2 (beta) Released. | ||
| References: | 1 | Groups: | php.pear.general |
| Request: | Send a blank email to pear-general+get-23585@lists.php.net to get a copy of this message | ||
Are you serious? They just made 2 releases today.
Derek Downey
On 4/7/06 5:12 PM, "Justin Patrin" <papercrane@gmail.com> wrote:
> 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
>
> --
> PEAR General Mailing List (http://pear.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>