This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.
Subject: ANNOUNCE: Alzabo 0.09a (with cool new cursor object) From: Dave Rolsky <autarch@urth.org> Date: Sat, 26 Aug 2000 23:46:57 -0500 (CDT) Stupid me, it finally hit me that I'd never announced this project on the DBI list. Tim, if discussion of this (assuming there is any ;)) is off-topic, please let me know and I'll make sure to respond off list. I'd also like to point out that this has been a discussion topic on the POOP (Perl Object Oriented Persistence) list. See http://sourceforge.net/projects/poop for more info on that. That list may be a better forum than this one for such discussions. Anyway ... This release incorporates a new concept, the row cursor object. The quick and dirty summary is: - way faster startup on looping through a collection of objects. - way, way, way less memory usage when doing loops. - way more scalable to large datasets as a result. Other than that its the usual bug fixes. For more info please see: Sourceforge home page: http://alzabo.sourceforge.net/ Project page: http://sourceforge.net/projects/alzabo/ Download: http://download.sourceforge.net/alzabo/Alzabo-0.09.alpha.tar.gz About Alzabo: The high level concept is that Alzabo is a high level interface to your RDBMS and your data model. It makes database programming far more maintainable and simple to comprehend, particularly as the number of tables you're dealing with increases. Alzabo is a two-fold program. Its first function is as a data modelling tool. Through either a schema creation interface or a custom perl program, you can create a set of schema, table, column, etc. objects that represent your data model. Alzabo is also capable of reverse engineering an existing data model. Its second function is as a 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 low level interface to common operations such as SQL SELECT, INSERT, DELETE, and UPDATE commands. Changes: 0.09 - MAJOR CHANGE: All the Alzabo::Runtime::Row methods that used to return lists of rows now return the new Alzabo::Runtime::RowCursor object. This change is a major speed and memory optimization. It does, however, break the old interface. But its worth it. - Set autohandlers for schema maker and data browser so that they won't inherit from other autohandlers higher up the directory tree. - Fix bug in Alzabo::Driver which made it so that the one_row_hash method always returned a hash with keys. This caused spurious row object to be created in the Alzabo::Runtime::Row class. - Fix bug in Alzabo::Table::rows_where method where it wasn't handling the construct $table->rows_where( where => { foo => undef } ) properly. ===