directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kiran Ayyagari <>
Subject Re: Rdn and Ava cleanup
Date Wed, 23 Feb 2011 11:35:15 GMT
On Wed, Feb 23, 2011 at 3:44 PM, Emmanuel Lecharny <> 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

Kiran Ayyagari

View raw message