1.3rc1 - Monday 25 June 2007 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Documentation updates and fixes. 1.3beta2 - Thursday 31 May 2007 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed issue #10152: Persistent Object and manual generator: string primary keys. - Fixed issue #10552: ManyToMany relations with multiple columns. Mapping works correctly now. - Fixed issue #10331: PersistentObject: Exceptions should become more verbose. ezcPersistentQueryException now contains the SQL query in its message, if appropriate. - Fixed issue #10725: PersistentObject saveOrUpdate() using manualgenerator will trigger one extra query to check if an object is persistent (save() and update() do this as well just moments later...). - Fixed issue #10726: PersistentObject definition should contain type info on the identifier. - Fixed issue #10770: PersistentObject throws PDOException in some cases. Throws correct ezcPersistentQueryException now. 1.3beta1 - Monday 07 May 2007 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed testcase for manual generator giving failure for postgresql on correct behaviour (INSERT violating NULL contraint does give an error...). - Fixed issue #9999: idProperty missing in definition file causes unclear error messages. - Fixed issue #10106: ezcPersistentManualGenerator does not quote ID columnName. - Fixed issue #10112: Lots of failures in PersistentObject tests with PostgreSQL. - Fixed issue #10153: Persistent Object and manual generator (negative and 0 primary keys). - Fixed issue #10369: testAddRelatedBirthdayToPerson3UpdateSuccess fails for no apparant reason. - Implemented feature #8487: An interface for Persistent Objects. - Implemented feature #10166: Cache PO-definitions. - Implemented feature #9967: PersistentObject: getRelationQuery() method. This method is now called createRelationFindQuery() and is public now. - Implemented feature #9089: Make some methods public. ezcPersistentSession->generateAliasMap() and ->getColumnsFromDefinition() are public now. 1.2 - Monday 18 December 2006 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed issue #9249: Save/update objects with 1:1 relations that share the same ID does not work. - Fixed issue #9489: Check whether the PersistentObject and PersistentObjectDatabaseSchemaTiein tutorials are interlinked. - Fixed issue #9493: Convert < and > in exception messages to ' and ' for Cache, ConsoleTools, ImageAnalysis, ImageConversion, PersistentObject, PersistentObjectDatabaseSchemaTiein. - Fixed issue #9591: ezcPersistentSession attempts to throw non existing exception (typo). - Fixed issue #9819: Let all components deal with the ezcBaseAutoloadException properly. 1.2beta2 - Monday 20 November 2006 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed issue #8962: "Sequence Generator" incorrect name for MySQL. MySQL should use the new "ezcPersistentNativeGenerator" from now, with auto_increment. "ezcPersistentSequenceGenerator" dispatches to this for BC reasons. - Fixed issue #9248: SQLite driver throws wierd exception. - Fixed issue #9335: PersistentSession should use object->getState() in all methods rather than accessing objects properties directly. 1.2beta1 - Tuesday 24 October 2006 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed bug #8340: Column names are not escaped. - Fixed bug #8489: Show the absolute path in the "cannot find definition file" exception message. - Fixed bug #8511: @access private for the 'id generator' classes. - Fixed bug #8663: Undeclared property "type" used instead of "propertyType" in ezcPersistentObjectProperty. This property is not used until now. And causes no change in the usage of the system. - Fixed bug #9059: Incorrect prototype of ezcPersistentSession->__construct(). - Fixed bug #9187: ezcPersistentObjectDefition->__construct() has orphan parameters. - Fixed bug #9189: ezcPersistentObjectProperty->__set_state() does not work correcty. - Implemented suggestion #8526: Allow retrieving of the database handler and definition manager through the database and definitionManager properties of the ezcPersistentObjectSession class to help with transaction support. - Implemented suggestion #8595: Added the ezcPersistentMultiManager class that serves as a singleton mechanism for ezcPersistentSession. - Implemented suggestion #8664: ezcPersistentSession: Cast values and skip undefined properties. Patch by Joel Arvidsson. - Added support for several definition managers through ezcPersistentMultiManager. - Added the method ezcPersistentFindIterator::flush method that flushes the rest of the resultset from an iterator. This method must be called if you decide not to loop over the complete resultset of an iterator. - Deprecated the constructor parameters $key and $incrementKey to ezcPersistentObjectDefinition. 1.1 - Monday 12 June 2006 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed small CS issues. 1.1rc1 - Monday 29 May 2006 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Implemented feature request 8248: ezcPersistentSession should throw more descriptive exceptions. 1.1beta1 - Tuesday 09 May 2006 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed #7884: ezcPersistentSession sometimes triggers PDO "General error: 2014" exceptions. - Fixed #8042: PersistentObject requires use of database ID counter. *Note:* The change involves a slight BC incompatible change. ezcPersistentIdentifierGenerator is no longer an interface but an abstract class. Implementors must change 'implements' to 'extends' to reflect this. - Added ezcPersistentManualGenerator which can be used to set the ID's of new object manually. 1.0.1 - Monday 20 February 2006 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed #7845: Find fetches all columns and not just the required columns. 1.0 - Monday 30 January 2006 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed faulty numeric id check in ezcPersistentSession::loadIntoObject(). 1.0rc1 - Monday 16 January 2006 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Added new methods to ezcPersistentSession: * removeFromQuery() * updateFromQuery() * findIterator which returns a ezcResultIterator - Added support for table and column aliases. - Added sequence strategy system, which makes this component also work with PostGreSQL. - Changed exception behavior. All errors will now throw a different exception class. - Added interfaces and classes: * ezcPersistentIdentifierGenerator that defines the interface between ezcPersistentSession and the code creating unique ID's for new rows. * ezcPersistentSequenceGenerator that implements the ID generation using sequence functionality in the database handlers. * ezcPersistentGeneratorDefinition to set up what generator to use in the definition. 1.0beta1 - Friday 23 December 2005 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Initial release of this package.