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

Re: Filter - greater or equal - ORDERING



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.

-- 
Regards,
Hallvard