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