Hi guys,

as I'm goig to be offline often this week-end, just a short mail to give you some info about what I'm doing and how far I currently am.

The idea is to get rid of the OneLevel index, as I already said in one of my previous mails. I had hard time to understand how to use Cursors, especially on top of the RdnIndex, but as of today, I finally get something working fine to replace the OneLevel index. I'm removing all the calls to this index in the code one by one, checking that teh server still works as expected. I still have to deal with some calls in the LdifPartition, but I'm close.

We can now use the RdnIdx to get a list of children for a given entry, and I have designed a dedicated cursor (ChildrenCursor) for that. Right now, it's more a hack than anything else (I'm counting the nulber of children while returning them, stopping when I reach the expected number of children), but I will use a better solution later (basically, I'll check the parent ID of each element I pull from the index). It works fine.

At the same time, I'm trying to cleanup a bit the Cursor hierarchy. I was able to remove a couple of classes and interfaces that were useless, and I'm pretty sure we can go farther. The generics are a bit messy, and we often have to mask the to get things working.

I'm also quite sure that we should abstract more on top of the Table implementation : we don't have a generic Browser, and that leads to a duplication of cursors (Avl cursors and Jdbm cursors). We most certainly can do better.

I will continue up to the point I can completely remove the OneLevel index (which is still created and manager), then I'll do the same thing for the SubLevelIndex.

Btw, that could help the txn layer, as there will be two less index to manage...

That's pretty much it for this week.  Have fun !

--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to