ANNOUNCE: Alzabo 0.71

[email protected] (Dave Rolsky) Sun, 6 Apr 2003 13:22:36 -0500 (CDT)
Newsgroups perl.dbi.announce
Message-ID <[email protected]>
Alzabo is a program and a module suite, with two core functions. Its first
use is as a data modelling tool. Through either a schema creation
interface or a perl program, you can create a set of schema, table,
column, etc.  objects to represent your data model. Alzabo is also capable
of reverse engineering your data model from an existing system.

Its second function is as an RDBMS to object mapping system. Once you have
created a schema, you can use the Alzabo::Runtime::Table and
Alzabo::Runtime::Row classes to access its data. These classes offer a
high level interface to common operations such as SQL SELECT, INSERT,
DELETE, and UPDATE commands.

Please see http://www.alzabo.org/ for more info.  Alzabo can be installed
via the CPAN shell or downloaded from SourceForge.


This release has been a long time in coming, but hopefully it's worth the
wait, as it includes several very useful new features and some bug fixes.


0.71  April 6, 2003

ENHANCEMENTS:

- Alzabo now tracks table and column renames after a schema has been
instantiated.  This means that when updating the schema in the
database after such a change, Alzabo can ensure that there is no data
lost because of the change.  Previously, Alzabo treated name changes
as a drop followed by an add, which caused data loss.

- Alzabo::DriverStatement->next_hash has been renamed next_as_hash, in
order to be consistent with the Alzabo::Runtime::Cursor classes.

- Experimental support for restriction clauses as part of an outer
join, such as

  SELECT ...
    FROM Foo
         LEFT OUTER JOIN Bar
            ON Foo.foo_id = Bar.foo_id
               AND Bar.something > 2

- Added support for HAVING in queries.

BUG FIXES:

- Exceptions did not include a stack trace.

- Trying to create a Postgres schema with foreign keys defined caused
an exception.  Reported by Josh Jore.

- Fetching rows from the cursor for a join with multiple outer joins
could fail if data was being prefetched.

DEPRECATIONS:

- Alzabo::DriverStatement->next_hash method has been renamed
next_as_hash.