[Date Prev][Date Next] [Chronological] [Thread] [Top]

Comparisons using caseIgnoreOrderingMatch



Hi.

I am investigating OpenLDAP for a project involving storing application
configuration information. I have defined an application version
attribute as a DirectoryString with caseIgnoreOrderingMatch ordering.
The version attributes hold strings of the form "3.04.008", "3.04.008b",
"3.04.010" etc.

When use ldapsearch with a filter using "<=" or ">=" the 3.04.008b
versions are always ordered higher than those strings without the
trailing letter i.e. a search using a filter of (version>=3.04.008b)
will not list an entry with a version attribute with the value
"3.04.010".

My understanding was that the ordering should be lexicographical, but it
appears to be by length first, and lexicographical only within a given
length.

Am I doing something wrong or is that the way it is supposed to be? Is
there an ordering that I can use that really gives "dictionary order"?

Thanks for your help.

Chris
unicycle@mindspring.com