Changes for version 1.10 - 2010-03-01

  • Production release No changes from 1.09_04

Changes for version 1.09_04 - 2010-02-26

  • Bug fixes in tests:
  • changed 'note' to 'diag' in several tests to get more information from testers
  • fixed simple coding error in autodb.122.bad_freeze.t ('dbh' to '$dbh')
  • return aggregate in t::Build::run_tap_harness (overrides method from Module::Build) as new versions of Module::Build require this

Changes for version 1.09_03 - 2010-02-24

  • Changes to Build.PL
  • added Tie::ToObject to prereqs Bug fixes:
  • in perl 5.10, '==' comparison in AutoDB::put was forcing stringify when applied to Oids. fixed by moving '==' after check for Oid. Bug fixes in tests:
  • in autodb.010.putget.t, now invoke perl via full (secure) path rather than just 'perl'
  • in graph.020 tests, skip tests unless max_allowed_packet big enough (long term solution added to release 1.20 plan)
  • in bad_freeze tests, skip tests unless max_allowed_packet big enough (long term solution added to release 1.20 plan)

Changes for version 1.09_02 - 2010-02-23

  • Changes to Build.PL for better handling of MySQL dependency. not sure either of these are necessary or even help...
  • added DBD::mysql to prereqs
  • put DBI->connect inside eval to catch error when DBD::mysql not installed Removed Dumper.o from distro tarball

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