[Dbix-class] Paging all re nested sets

Sebastian Willert willert at gmail.com
Fri Apr 4 15:56:57 BST 2008


On Thu, 2008-03-27 at 21:53 +0000, Matt S Trout wrote: 
> MojoMojo has a complete nested set implementation in the Page DBIC class.
> 
> DBIx::Class::Tree provides a suitable tree API.
> 
> There is a nested set branch of DBIx::Class::Tree which I will happily
> give out commits bits to on request.
> 
> A bunch of you have asked about nested sets, tried to implement them
> yourself, been told about this, started on ::Tree implementations, not
> had time to carry on, got stuck, forgotten, then somebody else has asked.

Guilty as charged, your honor. I still have an half-backed
implementation of DBIx::Class::Tree::NestedSet laying around, that I've
almost forgotten about. In my defense, I'd stopped working on it because
I believe we'd need a good RDBMS-independent locking mechanism (and an
live object index for bonus points) for any nested-set implementation to
become production-ready. In difference to adjacency lists, nested sets
tend to die a horrible dead when used without a good locking strategy
(preferably row-based).

> Anybody who thinks they've got code that's a better starting point than the
> MojoMojo stuff, yell.
> Then we pick the best one we've got, and port it to provide the ::Tree API.

Tree API is mostly done. IIRC I even ported most of the tests from DBIC::Tree.
I'd just need a slow day at work to remove some of the cruft that resulted from
my stab at a home-grown object index, then I'll post it publicly. Until then
just drop me an email and I'll forward you the polluted tarball...

Cheers,
  Sebastian




More information about the DBIx-Class mailing list