I have a question on how iPlanet Directory Server applies the
lookthrough limit...
I am running an LDAP search on a 4.13 directory. The search filter is:
"(&(rtrdaMaturityDate>=20020128)(rtrdaMaturityDate<=20020130))"
rtrdaMaturityDate is an int, and indexed with pres,eq,sub
There are 244680 entries where rtrdamaturityDate>=20020128
383005 entries where rtrdaMaturityDate<=20020130
484 entries which satisfy both conditions
When the query is run as Directory Manager it just hangs (presumably
it would complete eventually).
When run as another user it gives a size limit error. The size limit
and lookthrough limit on the directory are both 5000 . As the matching
number of entries doesn't exceed the size limit, I think perhaps it is
the lookthrough limit causing the problem...
It looks as if it treats each part of the filter separately, building
an candidate list for each, giving an error if both reach the look
through limit. i.e. it does not realise that both parts of the filter
could be treated together.
Is this correct ?
This theory is born out by the fact that if I change the value so the
filter would logically return only the highest few values, the search
works (i.e. as if the <= filter condition hit LTL, but the >= did
not).
Also, if I add another condition to give
"(&(rtrdaIssuerBgNid=4403)(rtrdamaturityDate>=20020128)(rtrdaMaturityDate<=20020130))"
then the search eventually correctly returns a single entry.
(IssuerBgNid=4403 on its own gives 1004 entries).
Can I therefore assume that a seach will only work if at least one
condition in the filter gives a candidate list with less entries than
the look through limit?
Any advice on how to implement a range search like this would also be
much appreciated.
Thanks,
Dave.