Alzabo

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

- Added new potential rows, which are objects with (largely) the same
  interface as regular rows, but which are not (yet) inserted into the
  database.  They are created via the new
  Alzabo::Runtime::Table->potential_row method.  Thanks to Ilya
  Martynov for suggestions and code for this feature.

- Added Alzabo::Runtime::Row->schema method.  Suggested by Ilya
  Martynov.

- Made it possible to use Storable to freeze and thaw any type of row
  object.  Previously, this would have worked but would have
  serialized basically every single Alzabo object in memory (whee!).
  Patch by Ilya Martynov.

- Make Alzabo::Schema->run_in_transaction preserve scalar/array
  context and return whatever was returned by the wrapped code.

BUG FIXES:

- Did some review and cleanup of the exception handling code.  There
  were some places where exceptions were being handled in an unsafe
  manner as well as some spots where exception objects should have
  been thrown that were just using die.

- Ignore failure to rollback for MySQL when not using transactional
  table.

- Alzabo was not handling the BETWEEN operator in where clauses
  properly.  Patch by Eric Hillman.

- Passing in something like this to rows_where:

    ( where => [ $col_foo, '=', 1,
                 $col_bar, '=', 2 ] )

  worked when it shouldn't.

- Trying to do a select that involved a group by and a limit was not
  being allowed.

INCOMPATIBILITIES:

- Got rid of the post_select_hash hook and combined it with
  post_select, which now receives a hash reference.

---------------------------------------------------------------------------

0.58 Oct 18, 2001

ENHANCEMENTS:

- Added new insert_hooks, update_hooks, select_hooks, and delete_hooks
  options to Alzabo::MethodMaker.  Suggested by Ilya Martynov.

- Moved all the important document for the object caching system into
  Alzabo::ObjectCache, including the import options for all of the
  various modules.

- Added Alzabo::ObjectCache::Sync::RDBMS &
  Alzabo::ObjectCache::Store::RDBMS.  The former finally allows
  synchronization of multiple processes across multiple machines!

- Add Alzabo::Schema->has_table and Alzabo::Table->has_column methods.

- Make BYTEA a legal column type for postgres.  This is treated as a
  blob type.

BUG FIXES:

- The way cardinality and dependency was being represented in the
  schema graphs was sometimes backward and sometimes just broken.

- Fixed Alzabo::ObjectCache::Store::BerkeleyDB->clear, which was not
  actually doing anything.  Added tests that catch this.

- The lookup_tables option, which was deprecated in 0.57, was not
  being allowed at all.

- Calls to select_hash on cached rows were not going through the cache
  checking routines, possibly returning expired data.  Added tests for
  this.

- Eliminate race condition in Alzabo::ObjectCache::Sync::BerkeleyDB.

- The Alzabo::Runtime::Row->rows_by_foreign_key method wasn't doing
  quite what it said.  In cases where there was a 1..1 or n..1
  relationship to columns that were not the table's primary key, a
  cursor would be returned instead of a single row.  Reported by Ilya
  Martynov.

- Alzabo::MethoMaker could generate 'subroutine foo redefined'
  warnings .  Reported by Ilya Martynov.

- Fixed clear method for all Alzabo::ObjectCache::Store::* modules.

DEPRECATIONS:

- The insert and update options for Alzabo::MethodMaker have been
  deprecated.  They have been replaced by the new insert_hooks and
  update_hooks options, along with new select_hooks and delete_hooks
  options.

INCOMPATIBILITIES:

- If you specify give the 'all' parameter to MethodMaker, 'insert' and
  'update' are no longer included.

---------------------------------------------------------------------------

0.57 Oct 9, 2001

ENHANCEMENTS:

- When MethodMaker creates 'row_column' methods, these are now get/set
  methods.

- Added new lookup_columns option to MethodMaker (like lookup_tables
  but more flexible).  This replaces the now deprecated lookup_tables
  option.  See DEPRECATIONS and INCOMPATIBILITIES for more details.

- Added the ability to make any storage cache module an LRU.  Simply



( run in 1.410 second using v1.01-cache-2.11-cpan-d06a3f9ecfd )