Changes for version 1.09_01 - 2009-12-01

  • Brings CPAN version up-to-date with version used internally New features:
  • 'put' method added to AutoDB (in Class::AutoDB::Database) to store specific objects. this is a step towards cleaning up namespace of user-objects
  • 'oid' method added to AutoDB. this is a step towards cleaning up namespace of user-objects
  • %AUTODB=0 works
  • %AUTODB with HASH form of keys: type defaults to string, as it does with all other forms
  • 'port' and 'timeout' added to connection parameters Cleanup:
  • connection management (connect, reconnect, etc) made consistent
  • 'renew' made consistent with 'new' Bug fixes:
  • 'exists' (in Class::AutoDB::Database) now checks for empty _AutoDB table; this may address common problem where AutoDB appears to exists, but registry does not exist
  • fixed ambiguity of ‘get’ (AutoClass::get was masking AutoDB::get) by changing order of base classes; this is short term workaround -- really need to clean up AutoClass namespace!
  • 'store' (in Class::AutoDB::Serialize) was using wrong regex when processing transients: /$key/ insead of /^$key$/. This caused keys to be ignored if they matched any substring of a transient. Scary this wasn't caught earlier!!
  • 'count' was throwing exception when count was 0. Scary this wasn't caught earlier!!
  • 'put' was storing undef in base table when value of key was 0. Does not impact the actual objects returned by 'get' (since objects stored in _AutoDB), but breaks queries selecting on 0. Scary this wasn't caught earlier!!
  • queries on lists with duplicate values were returning duplicate objects
  • queries with multiple terms addressing the same list key were ignoring all but one of the terms
  • queries with multiple terms addressing the same scalar key now detected as illegal
  • objects with incorrectly typed search keys now behave predictably
  • queries with undef values now do 'IS NULL'
  • keys declared with abbreviated types were not always being seen as equivalent (eg, 'int' vs. 'integer'
  • programmatic definition of collections now works

Documentation

Schema information for one collection
Compare two collection definitions and maintain differences
One registration for Class::AutoDB::Registry
Schema information for an AutoDB database
Compare two registries and maintain differences
Serialization engine for Class::AutoDB -- MySQL only for now
Schema information for one table

Modules

Almost automatic object persistence coexisting with human-engineered database

Provides

in lib/Class/AutoDB/BaseTable.pm
in lib/Class/AutoDB/Collection.pm
in lib/Class/AutoDB/CollectionDiff.pm
in lib/Class/AutoDB/Connect.pm
in lib/Class/AutoDB/Cursor.pm
in lib/Class/AutoDB/Database.pm
in lib/Class/AutoDB/Dumper.pm
in lib/Class/AutoDB/Globals.pm
in lib/Class/AutoDB/ListTable.pm
in lib/Class/AutoDB/Object.pm
in lib/Class/AutoDB/Oid.pm
in lib/Class/AutoDB/Registration.pm
in lib/Class/AutoDB/Registry.pm
in lib/Class/AutoDB/RegistryDiff.pm
in lib/Class/AutoDB/RegistryVersion.pm
in lib/Class/AutoDB/Serialize.pm
in lib/Class/AutoDB/Table.pm