Menu

Persist 0.5.2 Released

Phew! Hopefully the next package released in this project will be Contentment, but a number of changes needed to be made to the core of Persist before continuing efforts elsewhere.

This update includes three big changes: (1) inclusion of a new build and testing system, (2) support for ordering, row limits, and row offsets, and (3) drops the explicit_join method from the API.

The new build system takes away all the tests that were in each driver directory and replaces them with one suite of tests that may be applied to all drivers. This provides better standardization of the regression tests and allows us to show that each driver behaves the same way for a certain set of operations.

A happy side-effect of this situation is a new API allowing Persist users to test their own code in a similar way. This system is not yet tested itself, so I can't recommend it just yet. However, this has the potential for Contentment to allow for testing on both the memory driver and real DBI drivers before setting up a live server.

The new ordering, row limit, and row offset features have been added because they are certainly required for any minimal Contentlet to be useful. Paging is a requirement for showing more than a few dozen records in a web page, so I have added these features to support paging from the driver directly.

The API change is a side-effect of what happened during the 0.5.0 release. It should have been incorporated during that API change, but it wasn't. So, I've done so within a minor release, which violates my own rule that says I don't do that. However, I couldn't see why I need to cause another minor release over it and deprecation didn't seem appropriate. If this breaks your code, please feel free to complain to me.

I'm hoping to make a new MySQL driver as the main feature for the next release. I'm especially interested in such a driver as I may need it on a web site I have just become the webmaster for. Other features for the 0.5.x series will probably include support for SQL-like aggregation functions and a CSV file database driver. However, those features are probably a few months off.

Posted by Sterling Hanenkamp 2003-09-22

Log in to post a comment.