Graham Leggett wrote:
Rich Megginson wrote:
> Not exactly. You are most likely hitting the look through limit. Is
> associatedDomain indexed for equality? Are there more than 1000
> entries that have the associatedDomain attribute? In order to
> satisfy the NOT filter (!) the database has to look through all of
> the records in the database.
The total number of objects containing associatedDomain is 50 objects,
and the definition for associatedDomain is the default as found in the
pilot schema like so:
/etc/dirsrv/slapd-chandler/schema/28pilot.ldif:attributeTypes: (
0.9.2342.19200300.100.1.37 NAME 'associatedDomain' DESC 'Standard LDAP
attribute type' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'RFC
1274' )
How does the directory handle multiple queries in an "and"? I would
have thought that (&(A)(B)) would not bother evaluating B if A
evaluated to zero records (as is the case in the first query), and in
theory calculating the NOT in the second half of the query should have
in theory have searched the results left over after evaluating A (ie
just one record in the second query).
Or have I got this wrong (or backwards)?
I think the problem is that having
!(associatedDomain=somevalue) does
not imply (associatedDomain=*). Do you want to search for entries that
have associatedDomain and !(associatedDomain=somevalue)?
Try a search filter like
'(&(associatedDomain=*)(associatedDomain=imausa.net)(!(associatedDomain=rachel.example.com)))'
That should first find only the entries that have the associatedDomain
attribute.
If that doesn't work, try a sub-filter like
(&(associatedDomain=*)(&(associatedDomain=imausa.net)(!(associatedDomain=rachel.example.com))))
Otherwise, I'm not sure - not filters are problematic in this manner.
Regards,
Graham
--
------------------------------------------------------------------------
--
Fedora-directory-devel mailing list
Fedora-directory-devel(a)redhat.com
https://www.redhat.com/mailman/listinfo/fedora-directory-devel