Revision history for Perl extension DBIx::DataModel. v1.08 - fixed bug with -pageIndex (missing code) v1.07 - adapted tests for DBD::Mock 1.39 v1.06 - Schema.pm : replaced deprecated if(defined(%{$pck.".."})) by if(%{$pck.".."}) - t/Storable.t : - parent process in eval() to avoid child zombie if parent dies - if Perl < 5.8, fallback to IO::String - t/DBIx-DataModel.t : - pre-test DBD::Mock on functionality rather than version number - Schema.pm, View.pm : dynamic subclasses created through @{$subclass."::ISA"} = @$aref; instead of *{$subclass."::ISA"} = $aref; so that Perl5.10 method cache is properly invalidated. v1.05 - fixed hanging test because of bug 37054 in DBD::Mock v1.04 - removed non-portable v-string in View.pm - fixed test when Acme::Damn is not installed v1.03 23.09.2008 CPAN release v1.01 - added method Schema->statementClass - bug fixes in Statement::_resolve_source and Statement::JDBC::execute - added -resultAs => 'flat_array' | 'subquery' - better error message when missing foreign keys in a $object->join(...) v1.0 MAJOR REVISION, see Doc/Delta_1.0.pod - added fetch_cached() method - fixed bug in select(..., -orderBy =>...) - better error message if missing foreign key - corrected _addSelectCriteria algorithm for merging several %where structs - new statement object - new method rowCount - AbstractTable renamed as Source - schema name is automatically prepended in table and views INCOMPATIBLE CHANGES - totally removed deprecated methods selectSth, applyColumnHandlers, SqlDialect - -resultAs => 'statement' now means 'DBIx::DataModel::Statement' (formerly was a synonym for 'sth' v0.42 - fix bug in Schema.pm (loading Cursor class) v0.41 - documentation: splitting into several parts and general reworking - Schema() : added an option to supply a customized SQL::Abstract instance - Cursor : forbids ->next(..) and ->all() on "fast cursors" - "ViewFromRoles", "selectFromRoles" renamed as "join", "selectJoined" - new method Schema->localizeState() v0.40 - added fast iterators, using DBI's bind_columns() and fetch() methods - bug fix : fetch("") was returning the whole table! - scrollable cursor for JDBC v0.39 08.02.2008 - "longColumn|alias" syntax for -columns no longer modifies original data v0.38 - bug fix Schema::FROM_THAW v0.37 - ->select(-fetch => $key) - doTransaction : all commits at the end - support for Storable::freeze/thaw v0.36 - Schema::doTransaction(): support for localizing the dbh v0.35 12.11.2007 - Schema::doTransaction(): support for nested transactions - insert() : if component subtrees, the composite gets the prim. keys v0.34 30.10.2007 - minor change in Schema::doTransaction because rollback() problem in JDBC v0.33 19.10.2007 - minor fix in Table.pm, don't delete a hash key from an each() loop - Schema() : added options tableParent and viewParent - select() : added option -resultAs => 'firstrow' v0.32 21.08.2007 - minor adaptation for perl 5.9 (because strict 'refs' is stricter!) v0.31 30.05.2007 - additional parameter in handlers called by autoUpdateColumns v0.30 29.03.2007 - fixed bug in Schema::dbh v0.29 14.03.2007 - AutoUpdateColumns was not called on insert -- fixed - added AutoInsertColumns() - added "longColumn|alias" syntax for -columns v0.28 12.12.2006 CPAN release - fixed bug in _rawInsert (was unblessing $self in case of exceptions) v0.27 14.11.2006 - added Table::componentRoles() - primKey returns column names (class method) or values (instance method) - restructured insert(), added _singleInsert and _rawInsert v0.26 12.11.2006 - default values for column names in Associations - primKey returns list or scalar depending on wantarray - added optional arguments to Schema->dbh() - fixed arguments to last_insert_id - consistency checks on Compositions v0.25 09.11.2006 - more liberal parsing of multiplicities v0.24 08.11.2006 - insert() returns list or scalar depending on wantarray v0.23 07.11.2006 - added Composition() and cascaded insert/delete - added support for prefixes +/- for -orderBy v0.22 14.09.2006 - added option -postSQL to select() - Build.pl option to support old-style Makefile.PL - ViewFromRoles creates views in $schema::View namespace v0.21 CPAN release 06.09.2006 - check args for ViewFromRoles - check -resultAs value - fixed SKIP numbers in tests (when DBD::Mock is not installed) - fixed requires and recommends in Build.pl v0.20 CPAN release 27.05.2006 v0.18, v0.19 - internal releases, major rewrite: - reshuffled the inheritance tree - restructured the documentation - selectFromRoles() accepts roles from any table in the stack - added many-to-many Associations - added MethodFromRole() - added -distinct, -groupBy and -having clauses - insert() returns DBI->last_insert_id() v0.17 - Minor fixes in documentation - SqlDialect() is deprecated (replaced by arg in Schema() method) v0.16 CPAN release 26.01.2006 - Associations now install an "insert_into_..." method - ViewFromRoles can take explicit join kinds (_INNER_|_LEFT_) - Schema->dbh(..) checks that RaiseError is true - term 'arity' replaced by 'multiplicity' in doc and code - Association() checks that multiplicities are not many to many - fixed internal hyperlinks in POD documentation v0.15 internal release - added Schema methods 'classes' and 'views' - debug method now also prints the bind values v0.14 CPAN release 28.11.2005 - added clause "-for (readonly | update)" to select() and added method "selectImplicitlyFor" - doTransaction starts with $dbh->begin_work - role methods reuse cached results from "expand" - added method Autoload(1|0) v0.13 internal release - Added doTransaction - Added Schema->lasth; v0.12 - Added the named arguments API to select() - new methods preselectWhere() and selectFromRoles() - new internal functions _parseSelectArgs() and _addSelectCriteria - rewrote implentation of Association role methods using these new functions - new method SqlDialect v0.11 internal release - Updated the doc, explaining about writing role methods by hand - Added a check in fetch() that we are in a Table class - Changed implementation of ViewFromRoles, using INNER JOIN v0.10 16.09.2005 First CPAN release,