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?

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

Reply via email to