directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <>
Subject Rdn and Ava cleanup
Date Wed, 23 Feb 2011 10:14:53 GMT
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)))

thoughts on this last point?

Emmanuel L├ęcharny

View raw message