directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel L├ęcharny <>
Subject [index] OneLevel index removal headsup
Date Fri, 30 Mar 2012 19:58:10 GMT
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 

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

Emmanuel L├ęcharny

View raw message