[Bioperl-l] [Poop-group] RELEASE: Alzabo 0.20 (fwd)

David Block dblock@gene.pbi.nrc.ca
Tue, 9 Jan 2001 01:50:42 -0600 (CST)

Just something to think about.  Anybody play with this?  Would it work
with BioPerl Objects?  Have we been re-inventing a wheel here?

Up late, thinking out loud.
David Block
Plant Biotechnology Institute
National Research Council of Canada
Saskatoon, Saskatchewan

---------- Forwarded message ----------
Date: Tue, 9 Jan 2001 00:18:32 -0600 (CST)
From: Dave Rolsky <autarch@urth.org>
To: poop-group@lists.sourceforge.net, poop-scoop@lists.sourceforge.net
Subject: [Poop-group] RELEASE: Alzabo 0.20 (fwd)

Alzabo is a data modelling tool and OO-RDBMS mapper written in Perl.

This release includes a lot of changes, both internal and external.
Users who have older schemas saved to disk will need the eg/convert.pl
utility included with this release.  Existing users should also make sure
to note the deprecations and incompatibilities detailed at the bottom of
the change list.

Among the most visible changes/updates are a fairly large amount of
documentation revamping and support for Postgres.

Alzabo is available from either CPAN or

The Alzabo homepage is at http://alzabo.sourceforge.net/.

The documentation can be read online at
http://alzabo.sourceforge.net/docs/.  This is a good place to start for
those curious about what Alzaob does.



- Preliminary Postgres support.  There is no support yet for
constraints or foreign keys when reverse engineering or making SQL.
There is also no support for large objects (I'm hoping that 7.1 will
be released soon so I won't have to think about this).  Otherwise, the
support is about at the same level as MySQL support, though less

- Added Alzabo::MethodMaker module.  This can be used to auto-generate
useful methods for your schema/table/row objects based on the
properties of your objects themselves.

- Reworking/expanding/clarifying/editing of the docs.

- Add sort_by and limit options whenever creating a cursor.

- Method documentation POD from the Alzabo::* modules is merged into
the relevant Alzabo::Create::* and Alzabo::Runtime::* modules during
install.  This should make it easier to find what you need since the
average user will only need to look at a few modules in

- Reworked exceptions so they are all now Alzabo::Exception::Something.

- Added default as a column attribute (thus there are now
Alzabo::Column->default and Alzabo::Create::Column->set_default

- Added length & precision attributes for columns.  Both are set
through the Alzabo::Create::Column->set_length method.

- This release includes a script in eg/ called convert.pl to convert
older schemas.

- Alzabo::Schema->tables & Alzabo::Table->columns now take an optional
list of tables/columns as an argument and return a list of matching

- Added Alzabo::Column->has_attribute method.

- The data browser has actually lost some functionality (the
filtering).  Making this more powerful is a fairly low priority at the

- Fix bugs where extra params passed to Alzabo::Runtime::Table->insert
were not making it to the Alzabo::Runtime::Row->new method.

- Fix for Alzabo::Runtime::Table->set_prefetch method.

- Fixed bug in handling of deleted object in Alzabo::ObjectCacheIPC
(they were never reported as deleted).

- Fix bug that caused schema to get bigger every time it was saved.

- Finally switched to regular hashes for objects.

- Added Alzabo::SQLMaker classes to handle generating SQL
in a cross-platform compatible way.


- Parameters for Alzabo::Create::Column->new: 'null' parameter is now
'nullable'.  The use of the parameter 'null' is deprecated.

- Alzabo::Column->null & Alzabo::Column->set_null methods are now
Alzabo::Column->nullable & Alzabo::Column->set_nullable.  The old
methods are deprecated.

- Alzabo::Create::ForeignKey->new no longer requires table_from &
table_to params (it took me this long to realize I can get that from
the column passed in.  doh!)


- Alzabo::Runtime::Table->rows_where parameters have changed.  The
from parameter has been removed (use the Alzabo::Runtime::Schema->join
method instead).  The where parameter expects something different now.

- Alzabo::Runtime::Table->rows_by_where_clause method has been

- Alzabo::Runtime::Schema->join method's where parameter expects
something different.

We await the New Sun

Poop-group mailing list