On Wed, Feb 23, 2011 at 3:44 PM, Emmanuel Lecharny <[email protected]> wrote: > Hi guys, > > those last 2 days I did some cleanup in the Rdn and Ava classes, in th > espirit of Dn cleanup. Here is a summary of what has been done, roughly : > > - injection of the SchemaManager in both classes' constructors > - removing of the compareTo method > - made some methods private > - made the classes final > - removed the Comparable interface from the equation > > One important modification is the last one : it makes no sense to have a Rdn > be comparable. First, how do we compare a cn and a jpegPhoto ? Second, how > do we compare two RDN which attributeType does not have an equality matching > rule ? > > Of course, this has an impact in the way the backend works, as the Rdn index > needs to be able to do ordered comparison between Rdn, as this index is a > BTree. What I did is that I replaced the Rdn.compareTo(Rdn) method by a > direct String comparison in Jdbm between the Rdn's normalized name. That > does work. > > It made me think that maybe using a hashed index for Rdn is probably a > better idea, because then we won't need this comparison to be done (the > equals method would be enough) and also because it would be faster (finding > an element in a Hash table is an O(1) operation - at least, theorically - > when looking in a BTree is an O(log2(N))) > in the RDN index we also store the parent's ID which is important, so having a DN hash based index won't help us (similar RDNs at various depths of DIT will be an issue too) > thoughts on this last point? > > -- > Regards, > Cordialement, > Emmanuel Lécharny > www.iktek.com > >
-- Kiran Ayyagari
