The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.56

  • ENHANCEMENTS:
  • When MethodMaker creates 'row_column' methods, these are now get/set methods.
  • Added lookup_columns to MethodMaker option (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 pass an lru_size parameter to Alzabo::ObjectCache when using it and the storage module will be an LRU cache.
  • Documented Alzabo's referential integrity rules in Alzabo.pm (perldoc Alzabo).
  • Added section on optimizing memory usage to Alzabo::FAQ.
  • Alzabo::Runtime::Schema->join now takes a parameter called 'distinct'. This is useful in situations where you are joining between several tables but don't want rows back from all of them. In that case, it is possible that you could end up getting more duplicates than you need. This parameter can help you eliminate those.
  • Add the following Alzabo::Schema methods: start_transaction, rollback, finish_transaction, run_in_transaction.
  • If you have GraphViz installed the schema creator can now use it to show you a graph of your schema.
  • BUG FIXES:
  • Fix handling of binary attribute for MySQL columns. Generated SQL for creating/altering these columns may have been invalid previously.
  • The rules were not catching an attempt to create a CHAR/VARCHAR column with no length (MySQL).
  • Fixed bug that caused limit to not work when there was a where clause or order_by clause. Reported by Ilya Martynov.
  • Documented row_column option for MethodMaker.
  • order_by was ignored when given to the Alzabo::Runtime::Schema->join method. Reported by Martin Ertl.
  • When viewing an existing column in the schema creator, the three checkboxes at the bottom were always unchecked.
  • The test suite has been revamped to use Test::More. In the process some new tests were added and some (gulp) false positives were caught.
  • The default column value wasn't being escaped in the schema creator.
  • DEPRECATIONS
  • The Alzabo::MethodMaker option 'lookup_tables' has been deprecated. Use the new 'lookup_columns' option instead.
  • INCOMPATIBILITIES:
  • Alzabo::ObjectCache::Store modules now expect an object id instead of an object for their delete_from_cache method.
  • If you specify give the 'all' parameter to MethodMaker, 'lookup_tables' is no longer included.

Documentation

Frequently Asked Questions
A quick reference to methods in the Alzabo classes

Modules

A data modelling tool and RDBMS-OO mapper
Saves a set of changes as callbacks that can be backed out if needed
Column objects
Holds the type attribute for a column
Loads all Alzabo::Create::* classes
Column objects for use in schema creation
Column definition object for schema creation
Foreign key objects for schema creation.
Index objects for schema creation
Schema objects for schema creation
Table objects for schema creation
Alzabo base class for RDBMS drivers
MySQL specific Alzabo driver subclass
PostgreSQL specific Alzabo driver subclass
Creates all exception subclasses used in Alzabo.
Foreign key (relation) objects
Index objects
Auto-generate useful methods based on an existing schema
A simple in-memory cache for row objects.
Cache objects in memory
Make any storage module an LRU
Cache objects in memory
Doesn't really store anything
Base class for syncing classes
Uses a DBM file to sync object caches
Base class for syncing modules that use DBM files
Uses a Berkeley DB file to sync object caches
Uses a IPC file to sync object caches
No inter-process cache syncing
Uses an SDBM file to sync object caches
Base class for Alzabo RDBMS rulesets
MySQL specific database rules.
PostgreSQL specific database rules
Loads all Alzabo::Runtime::* classes
Cached row objects
Column objects
Column definition objects
Base class for Alzabo cursors
Foreign key objects
Index objects
Cursor that returns arrays of Alzabo::Runtime::Row objects
Cursor that returns arrays of Alzabo::Runtime::Row objects or undef
Row objects
Cursor that returns Alzabo::Runtime::Row objects
Schema objects
Table objects
Alzabo base class for RDBMS drivers
Alzabo SQL making class for MySQL
Alzabo SQL making class for PostgreSQL
Schema objects
Table objects
Utility functions for Alzabo
Alzabo configuration information

Provides

in lib/Alzabo/Driver.pm
in lib/Alzabo/Exceptions.pm
in lib/Alzabo/SQLMaker.pm