Revision history for Perl extension Class::DBI::Lite. 1.020 2011-06-05 - Updates to work with changes in the public interface of Ima::DBI::Contextual. - No other changes. 1.019 2011-04-08 - Updated POD to use the new lowercase classname standard - as in .NET's Entity Framework. 1.018 2011-04-07 - Added ->trace( 1:0 ) to enable/disable SQL logging to STDERR via Carp::cluck. 1.017 2010-12-09 - Upgrade Recommended!! - BUG FIX: before_update_ triggers were not able to change the value of object data. So if you had a before_update_password trigger that hashed the password before the plaintext password were stored in the database, it would not work as expected. 1.016 2010-11-17 - Included Class::DBI::Lite::Dataset - a class with helper methods useful for fetching a recordset useful for paged displays. 1.015 2010-09-17 ** BEHAVIOR CHANGE!!!! ** - has_many(...) no longer adds a trigger for after_delete that would remove whatever the 'has_many' reference declares. Reason? This should be handled by the database, not by the application. 1.014 2010-09-09 - root() is initialized to your application's base class (eg: My::Model). This helps segment database handles even further. 1.013 2010-08-08 - This release fixes that bug related to running multiple applications under different VirtualHosts on the same apache server. 1.012 2010-05-20 - This release addresses several issues related to running multiple applications under different VirtualHosts on the same apache server. 1.011 2010-05-19 - Removed dependency on DBIx::ContextualFetch. - Removed dependency on Ima::DBI - lateral move to Ima::DBI::Lite. See Ima::DBI::Lite for details on why... 1.010 2010-05-13 - My::Thing->sql_pager(...) now correctly handles {order_by => ...} 1.009 2010-04-26 - Class::DBI::Lite::mysql was incorrectly parsing `SHOW COLUMNS FROM ` and therefore not returning the correct information when you called: My::Type->get_table_info->column('foo')->enum_values This is now fixed. 1.008 2010-04-02 - Pager was reporting incorrect stop_item before items() or next_page() were called. - That caused problems when you wanted to say... "Showing items X - Y of Z total items" ...before you actually showed them. 1.007 2010-04-02 - Pager now does the right thing when you want to page without specifying the field to sort by. - New method $pager->navigations( [$padding] ). 1.006 2010-03-27 - Pager was not handling 'has_next' correctly - now it does. 1.005 2010-03-22 - Renamed has_a method as belongs_to. - Added has_one method. - Added test t/010-basic/000-AAAsetup.t that creates the SQLite database structure. - Added the ability to pass search_where-style arguments to the has-many relationship methods. So if My::Artist has_many My::Album as 'albums' you can now do: my @albums = $artist->albums({name => { LIKE => 'Best of%'}}, {order_by => 'name DESC'}); * A SPECIAL thanks to Tudor Marghidanu for finding a bug and for suggesting this update. 1.004 2010-03-16 - Had to update Changes and META.yml. 1.003 2010-03-16 - Added Class::DBI::Lite::Pager - Added 2 new methods: pager(...) and sql_pager(...) - Added documentation for the new methods and the Pager class. - Added tests for paging. 1.002 2010-03-13 - create(...) now properly inserts the new object into the %Live_Objects cache. - Experimental NoSQL caching extensions added. - Caching options include InMemory and Memcached. 1.001 2010-02-14 - Didn't update 'Changes' file in 1.000, so had to re-upload it and change version. 1.000 2010-02-14 - Going 1.0! - Added lots of documentation and examples. - Test coverage is quite high. - Public interface is frozen. - Used in production for over a year on websites getting millions of hits. 0.034 2009-10-28 - Enum vals NOW work for mysql. 0.033 2009-10-28 - Fixed broken regexp from last update. 0.032 2009-10-28 - New Feature: "enum" column values are now parsed and added to the "get_table_info->column('columnName')->enum_values" property as an arrayref. 0.031 2009-10-22 - MANIFEST was missing t/lib/My/Fixtures.pm 0.030 2009-10-17 - Added Class::DBI::Lite::Fixture for easy test fixtures. - Added tests for test fixtures. 0.029 2009-10-16 - Added "ad hoc" queries. - Test coverage much better now. - Updated Artists/CDs example to Artists/Albums. 0.028 2009-08-22 - Promoted _load_class to be a public method (as load_class($class) ). 0.027 2009-06-18 - create() was calling discard changes after creation, which had the rare side-effect of reverting any values set by before_create triggers. 0.026 2009-06-12 - Removed AUTOLOAD accessor/mutators. Gained a performance increase (oh about 300%). 0.025 2009-04-17 - Update to after_update_$field triggers to keep them from getting called over-and-over. 0.024 2009-04-07 - Field-triggers were not getting called (eg: after_update_$field) 0.023 2009-04-06 - Transactions that failed only warned. Now they confess. 0.022 2009-04-05 - Transactions work properly. - Added TableInfo and ColumnInfo. - Added class method 'Class->get_table_info()' which returns a TableInfo object. 0.021 2009-04-01 - There was a rogue "commit" statement in DESTROY. Removing it made transactions work properly. - Added test for transactions. 0.020 2009-03-20 - Converted to Module::Install. - Added several tests, improved code-coverage. - discard_changes() now uses the __Changed->{$fieldname}->{oldval} data instead of re-retrieving the object from the database. - Fixed typo in error message for AUTOLOAD in Class::DBI::Lite. 0.019 2009-02-07 - Broke schema metadata and entity metadata out into their own classes. - Metadata classes are schema/entity-partitioned singletons. - Initialization process is slightly different as a result of metadata changes. - Classes that subclass entity classes no longer have to call set_up_table(...). 0.018 2009-01-05 - Subclasses of entity classes should no longer receive errors like "Can't use an undefined value as a HASH reference" 0.017 2008-11-23 - Use of has_a or has_many sometimes failed because _init_meta had not yet been called. 0.016 2008-10-27 - db_Main database handle is now created with "AutoCommit = 1" to prevent a transaction deadlock in other code that uses Class::DBI::Lite::mysql. 0.015 2008-10-26 - Object cache key now begins with the current database schema. 0.014 2008-10-24 - Added "after_set_up_table()" event. 0.013 2008-10-12 - Added Test::Memory::Cycle to dependencies list in Makefile.PL 0.012 2008-10-10 - Updated some documentation. - has_a and has_many causes the other class to be loaded via require(). 0.011 2008-10-09 - Stable release of new version. - Fixed a bug under mod_perl which caused unstable behavior when each VirtualHost used a different database handle. Sometimes a VirtualHost started talking to the wrong database (which is not good, obviously!). 0.010_01 2008-10-09 - Complete rewrite. - Removed dependency on Class::Data::Inheritable. Switched to simpler class-based "meta" hashrefs. - Improved performance. 0.009 2008-09-16 - Added find_column(). 0.008 2008-08-17 - Added logic to ping() the DBI handle a maximum of once every 5 seconds. This should fix the bug that causes the occasional "white screen of death" after a web application has been idle for a long period. 0.007 2008-08-01 - discard_changes() now correctly discards changes. - Updated POD to mention DBIx::Class and DBIx::Class::CDBICompat. - Added a memcycle test to check for any memory leaks. 0.006 2008-07-18 - $obj->remove_from_object_index() removes it from memory AND the %Live_Objects cache. 0.005 2008-07-18 - $obj->delete on an object that has_many will delete its has_many records via straight SQL unless the has_many class has before/after_delete triggers. - added new trigger events: before_set_$column( $s, $oldval, $newval ) after_set_$column( $s, $oldval, $newval ) before_update_$column( $s, $oldval, $newval ) after_update_$column( $s, $oldval, $newval ) - Updating a field value with the same value as the old value is ignored. 0.004 2008-07-18 - All create/update/delete/add_to_* actions are performed within transactions. 0.003 2008-07-18 - OK, *now* triggers are called on the correct objects. 0.002 2008-07-18 - Triggers are now called on the correct object with the correct @_. 0.002_01 2008-07-17 - Updated Makefile.PL to properly list all prerequisites. - Updated POD. 0.001 2008-07-16 - original version; created by h2xs 1.23 with options -AXn Class::DBI::Lite