** getXXX($format) correctly relays into toValue - see strftime / Data::format or sprintf
for formats, depending on column type.
Fixes
* fix bug #630 - correct handling of YEAR (it's an int)
* fix bug #630 - mysql timestamps are ingored for updated and insert (use query() if you want to change
them manually.
* fix bug #620 - limit accepts floats and doubles, as long as they are really integers..";s:12:"release_deps";a:4:{i:1;a:3:{s:4:"type";s:3:"php";s:3:"rel";s:2:"ge";s:7:"version";s:3:"4.1";}i:2;a:4:{s:4:"type";s:3:"pkg";s:3:"rel";s:2:"ge";s:7:"version";s:3:"1.3";s:4:"name";s:2:"DB";}i:3;a:5:{s:4:"type";s:3:"pkg";s:3:"rel";s:2:"ge";s:7:"version";s:5:"0.1.1";s:8:"optional";s:3:"yes";s:4:"name";s:8:"Validate";}i:4;a:4:{s:4:"type";s:3:"pkg";s:3:"rel";s:2:"ge";s:7:"version";s:3:"1.4";s:4:"name";s:4:"Date";}}s:9:"changelog";a:28:{i:0;a:4:{s:7:"version";s:5:"1.5.2";s:12:"release_date";s:10:"2004-01-24";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:965:"Bug fix release.
Changes:
- removed automatic strtotime() in setters and setFrom
** this is closer to the previous behaviour (it caused too many problems with strange dates
** if you set a date/time column with a number, it assumes it is a unixtimestamp
-- enables you to write setters like
function setSome_Date($value) { $this->fromValue('some_date',strtotime($value)); }
Fixes
* $DB_DataObject->getDatabaseConnection() will return a pear error if dont_die is set,
so it can be used to test connections.
* note changed on databaseStructure, it can be called statically and dynamically.
* fix bug #612 databaseStructure('databasename') will output the ini file structure array , with __keys
* fix bug #611 corrected comment about NO_OVERLOAD
* fix bug #603 to prevent clearing of queries after fetch, use the option keep_query_after_fetch = 1
* fix bug #359 (again) - _link_loaded array should only contain links that where sucessfully loaded
* Dependancy on Date added. (it is used by the setter/getters)
";}i:2;a:4:{s:7:"version";s:3:"1.5";s:12:"release_date";s:10:"2004-01-20";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:1561:"New Features / Fixes
* proxy and auto schema building
- you can use dataobjects wihout running create tables.
- schema is created on the fly if no schema file exists
- using config option proxy=full, a class is generated on the fly to
represent the tables.
* toValue and fromValue added as getter and setter providers
- they include date formating tools - eg.
$do->getBirthDay('%d/%m/%Y') will work with overload and PEAR::Date
to provide formated dates. (works with date/time and datetime)
- set*() will also call strtotime and PEAR::Date to try and read dates.\
setFrom will relay into fromValue() - hence auto fixing date entries
* make native key recognision a little better - changes ini file
format (key=N|K) - native or key. - BC protected... - ignores it
when it finds a number.. (Fixes bug #532)
* allow multiple updates on the same object - without adding lots
of id=.... on the end..
* transactions support works transparently by sending
";}i:9;a:4:{s:7:"version";s:3:"1.0";s:12:"release_date";s:10:"2003-07-16";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:1233:"- Gold 1.0 Release.. - final stable release in this series. Future versions
(eg. 1.1.*(dev)->1.2.*(release)) series will be generally API compatible,
however is likely to use MDB rather than DB.
- fix bug #23983 - argument checking on whereAdd, orderBy, limit and a few others
(Mike Carter)
- fix bug with cache clearing not working with staticGet and update/insert
- null comparison for $object->var = 'null' will generate IS NULL query
- null insert/update works when using 'null' as a value.
- getLinks returns true on success
- getLinks now has a formatter eg. '_%s' is default to allow user to define the
format of variables to assign child objects to.
- generator uses UNIQUE only if no primary/autoincrement type field is found.
- added support for $object->having('sum(value) > 10');
- fetch will remove some query lines (so if you want to see how the query was built
you will have to print_r() the object after find(), and before fetch(), or just use
debugLevel(1)
- overload calls from setFrom and toArray do method checks, as overload is still proving to
be a little unstable especially with Zend Encoder. (Note: if DataObjects causes crashes
, remove the overload code at the bottom of DataObjects.php)
";}i:10;a:4:{s:7:"version";s:4:"0.19";s:12:"release_date";s:10:"2003-05-22";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:1663:"- fix bug #23712 - deleting (and probably updating as well) an object while
being fetched. (Michael McCarthy for spotting this)
- fix generator overwriting code when file was edited in a Windows editor
(Robert Janeczek)
- validation will not produce errors on empty numeric data by default.
- overload extension enabled to relay setFrom and toArray calls to get*, set*
methods, which are predefined as
getXXX = returns $object->XXX
setXXX($V) = returns true (or an error string if you create your own)
(only affects php-4.3.2RC2 or later..)
- selectAs($dataobject,'prefix_%s') to help control the way join queries return
their data * doing selectAs() - clears the select and sets it to table.id as id ... etc.
existing behaviour (INNER Joins) is default (eg. no value)
$joinType can be:
INNER,LEFT,RIGHT = eg. INNER JOIN ... etc.
'' = just added with a , and the link conditions are added with a WHERE statement.
$joinAs can be used to name the table differently in the join eg.
SELECT .. FROM person INNER JOIN address as homeaddress ......
- setFrom has an extra optional parameter for formating: eg.
$object->setFrom($_POST,'prefix_%s') would map prefix_name to $object->name
the default is '%s' which is the same as the previous behaviour
- added option dont_die (default no) to ini file
default (no) means that DataObjects will emit a PEAR_ERROR_DIE on configuration and
programming errors
true or 1 means that you can write a PEAR::error handler to catch the errors and
display a nice it's not working message
";}i:11;a:4:{s:7:"version";s:4:"0.18";s:12:"release_date";s:10:"2003-05-17";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:647:"- add table prefix to autobuilt queries (assist in ambigous querys for joins)
(Daniel Von Fange)
- change update and delete to return the number of rows affected or false on failure
- various code tidy ups - standards etc. (Arnaud Limbourg)
- fix generator for postgres and mdb - use unique keys and look for 'nextval' as keys.
- fix no key insert bug (G Moxley Kempster)
- fix empty table bug in generator (Robert Janeczek)
- staticAutoloadTable(), now handles parse errors in included files alot cleaner
- added dependancies on PHP4.3, DB 1.3 and Validate (although Validate is optional)
- added table prefix to count query (Richard Wallace)
";}i:12;a:4:{s:7:"version";s:4:"0.17";s:12:"release_date";s:10:"2003-03-12";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:107:"- Usual post feature bug fix release
- fix loading of links.ini for joinAdd, getLinks etc. (Geoff Hopson)
";}i:13;a:4:{s:7:"version";s:4:"0.16";s:12:"release_date";s:10:"2003-03-06";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:754:"- replaced config storage - should improve performance
- removed production option (not required due to improved config storage)
- bugfix : added checks for is_array on ignore_sequence_keys (Hermen Heinen)
- add toArray($format) which supports sprintf to enable easy integration with
Quickforms etc. (Demian Turner)
- add optional dataobject as variable to update(), so you can update will
only create an update based on what has changed. (Geoff Hopson)
- add join condition to count() (Daniel Von Fange)
- modify limit() to work with postgresql and make it emit a fatal error if you
try this on databases that do not directly support limit queries. (Geoff Hopson)
* I'm open on better ideas for this - probably wrapping the find() select call
";}i:14;a:4:{s:7:"version";s:4:"0.15";s:12:"release_date";s:10:"2003-02-13";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:407:"- modified find(true), so that it calls fetch rather than fetchrow
so that overriding fetch will affect get() calls.
(probably depreciates fetchrow now .. shout if anyone is using it)
- added escape method as a quasi quote wrapper into pear::DB - useful for
building your own queries - eg. like requests.. (does not add quotes)
- fixed bug with delete not using primary key if it was set. (Ian Eure)
";}i:15;a:4:{s:7:"version";s:4:"0.14";s:12:"release_date";s:10:"2003-02-06";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:220:"- added get affected rows to update/insert/delete
they will return false if no data is affected and set
the Objects lastError value.
Note: databases that do not support affectedRows(), will always
return false.
";}i:16;a:4:{s:7:"version";s:4:"0.13";s:12:"release_date";s:10:"2003-01-23";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:82:"- bug fix release - debug_ignore_updates worked in reverse.. (Alexander Mazurov)
";}i:17;a:4:{s:7:"version";s:4:"0.12";s:12:"release_date";s:10:"2003-01-22";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:217:"- Usual post release bug fix.
- fixes *.links.ini incorrectly using *.links (Damian Turner)
- Adds the ability to get PEAR Connection and result objects
getDatabaseConnection() and getDatabaseResult() (jason rust)
";}i:18;a:4:{s:7:"version";s:4:"0.11";s:12:"release_date";s:10:"2003-01-21";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:478:"- changed connecition and result caching to use global private variable, rather
than getStaticProperty
- results objects are not stored on insert/update/delete (speed increase
on large inserts can be as much as 10x faster)
- bug fix - Checks that primary keys are integers (Anthony Juou)
- typo on No data returned warning
- unit tests in CVS
- new configuration option for whether to use insert id's and sequences.
- Generator no creates boolean bit (mitchell perilstein)
";}i:19;a:4:{s:7:"version";s:4:"0.10";s:12:"release_date";s:10:"2002-12-09";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:289:"- bug fix - Generator incorrectly set _database, causing generation of database.ini files to fail
- change addslashes to PEAR::DB::quote()
- generator now only replaces DB_DataObjects with extends variable if set,
you can use generator_rewrite_class to set what is a valid replacement.
";}i:20;a:4:{s:7:"version";s:3:"0.9";s:12:"release_date";s:10:"2002-12-06";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:47:"- bug fix release - dsn was not set correctly
";}i:21;a:4:{s:7:"version";s:3:"0.8";s:12:"release_date";s:10:"2002-09-21";s:13:"release_state";s:6:"stable";s:13:"release_notes";s:837:"- changed to stable status as it appears to be pretty stable now.
- update and insert now return FALSE on error conditions (Peter Gebauer)
which can be checked using === FALSE, and the error obtained using $object->_lastError
- delete will only use primary keys if they are set, otherwise it will use all object
variables to build the condition. (Daniel Ferreira)
- Added derivedHookFunctions(), and derivedHookVar() to enable extensions to generator to
make user defined methods. (Michael Lund Rasmussen)
- support for INT4, BPCHAR, TIMESTAMPTZ and postres Primary keys (Xavier)
- better PEAR CS complience (tabs and TRUE -> true), removed short open tags in generator (Thomas Volkmar Worm)
- experimental addJoin method (Stijn de Reede)
- Allow active options array (eg. dynamic changing of database config) (Sergey Lipnevich)
";}i:22;a:4:{s:7:"version";s:3:"0.6";s:12:"release_date";s:10:"2002-09-10";s:13:"release_state";s:4:"beta";s:13:"release_notes";s:64:"- bug fix release on insert (broke due to compatibility fixes)
";}i:23;a:4:{s:7:"version";s:3:"0.5";s:12:"release_date";s:10:"2002-09-07";s:13:"release_state";s:4:"beta";s:13:"release_notes";s:198:"- fixed database.links.ini file loading in wrong location (Jens Fischer)
- fixed type on extends (Jens Fischer)
- added __clone() support to pre- php5 classes
- added multiple linked table support
";}i:24;a:4:{s:7:"version";s:3:"0.4";s:12:"release_date";s:10:"2002-08-21";s:13:"release_state";s:4:"beta";s:13:"release_notes";s:51:"- Bug fix release - createTables used wrong argv
";}i:25;a:4:{s:7:"version";s:3:"0.3";s:12:"release_date";s:10:"2002-08-16";s:13:"release_state";s:4:"beta";s:13:"release_notes";s:46:"- Fixed Globals requirement in createTables,
";}i:26;a:4:{s:7:"version";s:3:"0.2";s:12:"release_date";s:10:"2002-07-12";s:13:"release_state";s:4:"beta";s:13:"release_notes";s:87:"Removed list method, First upload as pear package. - Documentation now in PEAR Manual