Revision history for Data-Babel 1.13 2013-10-29 New features - Filters can use (almost) arbitrary SQL. Implementation uses new Data::Babel::Filter objects - 'check_contents' method - checks whether explict Masters contain all ids in the underlying MapTables Diagnosed FAILs seen by David Cantrell. Caused by MySQL bug in duplicate removal (SELECT DISTINCT) with repeated output columns. Bug present in MySQL 5.0.32, fixed in or before 5.0.86 Bug fixes - 'apostrophe' bug: ID containing apostrophe triggered bug in partial duplicate removal - Implicit master created in application and passed into Babel constructor not processed by make_implicit_masters and thus not set up properly - maptables attribute of recycled idtype not reset Test changes - Added test for schema mechanics - More test cleanup subsequent to fixing of 'implicit masters' bug - Fixed boilerplate & pod tests - Added test for MySQL bug in duplicate removal (SELECT DISTINCT) with repeated output column in 000.reqs - Added 'query' arg to select_ur and test cases in 009.util - Added tests for complex filters - Changed 'translate' to use Filter objects - Changed manifest test as in AutoDB, changed MANIFEST.SKIP to not skip itself, added dependency for Test::CheckManifest Documentation changes - Deprecated obsolete workflow-related attributes and removed them from examples - Deprecated obsolete maptable header macro - it was just a bad idea... ---------- 1.12 2013-07-31 Bug fixes - Fixed partial duplicates bug in which translate returned rows that were identical on all non-null columns, differing only in that one row had nulls where the other had a real value Test changes - Cleaned up tests to improve CPAN install speed - Changed the scheme for telling CPAN that it's futile to run the tests because MySQL is not accessible. I now check key requirements in a test script and skip out of the test suite if the requirements are not met. The main requirement that I check is that MySQL be accessible. The test suite reports PASS in this case!! It would be far better to eport NA or UNKNOWN, but I don't know how to do this robustly. ---------- 1.11 2013-06-18 New features - can specify history in IdType, rather than just in Master - new 'show_schema_graph' method Bug fixes - in 'validate', check for unmatched ids has to be case insensitive because MySQL does case intensive comparisons, e.g., searching for 'htt' as gene_symbol - detect isolated IdTypes, ie, IdTypes not contained in any MapTable. previously, load_implicit_masters would generate illegal empty query ---------- 1.10 2012-12-02 New features * new 'translate' options - filters - count - validate * new methods - load_implicit_masters - count - validate * histories Master tables can hold old and current values for ids. translate, count, validate use old values if they exist Bug fixes - 'translate' with empty input_ids. was generating illegal SQL, now returns empty table - examples/babel.pl used deprecated qw(...) as parentheses. should have been fixed in 1.02. sorry - 'translate' with empty input_ids would sometimes return NULL id - lingering bug in 098.example. test was calling example script with wrong Perl interpreter and without -Mblib. thanks to CPAN smoke testers for finding this bug!! ---------- 1.03 2012-08-21 Added test for version number in POD Removed redundant 'dist_version_from' param from Build.PL 1.02 2012-08-02 Changed tests to correct deprecated use of qw(...) as parentheses 1.01 2011-01-22 Added 'translate all' (more precisely, the input_ids_all option to translate) to generate a complete mapping of the input type to the output types. 1.00 2010-11-29 First CPAN version, released on an unsuspecting world. 1.00_03 2010-11-19 Added Module::Build to build_requires Added view operations to chk_mysql in Build.PL on the theory that FAILs are due to inability to create views 1.00_02 2010-11-16 Added Class::AutoDB to requires 0.90 2010-08-22 First version, released for internal use.