Tony Earnshaw writes:
Andreas Schoe skrev, on 23-11-2007 10:18:
I want to use following filter: "uid>=branch" (greater or equal).
Well, my gq says that the attribute uid is caseignoreMatch for *equality*. IOW it's a string subtype match. You can't "greater or equal" a string, you can glob it or whatever and be subject to its rules.
Yes you can, that's what an ORDERING matching rule is for. But as Dieter said, it's a bad idea to modify the schema definition of standard attributes. Also you can't index for caseExactOrderingMatch.
(...) Nope, the filter is just wrong.
The filter would be fine if uid has an ORDERING rule. (Well, except filers should have parens around them: "(uid>=branch)". Not all clients insert missing parens.)
As far as I can tell from the LDAP standard, the extended filter (&(uid=*)(!(uid:caseExactOrderingMatch:=branch))) should work, but it doesn't. (uid is present and is not smaller than "branch".) I may have said that before, but I don't remember if the answer is that I'm confused or that I should have filed an ITS.