[Date Prev][Date Next]
RE: Indexed searches which contain a NOT filter return incomplete results (ITS#1405)
Could I respond to your comment on the issue I raised? Sorry, I don't seem to have permission to post a reply on the OpenLDAP database...
You suggested that the 'real' fix to the above problem is to not use an index to support not filters.
If we do this, are we not effectively saying "we do not support NOT filters". As soon as the DIB gets to any significant size, unindexed searches become effectively useless.
Is this really acceptable?
It is indeed quite difficult to maintain the substring index when values are deleted (you have to know exactly what values were deleted, and the current code structure makes this hard).
However, it is easy to do for "pres" indices, and I think we should use that. So how about:
- for now, only exploit "pres" indices for NOT filter evaluations, but perform other filter evaluations by brute-force
- in the long term (if someone has a real need), engineer a way to pass the "old" attribute values to the indexing component when removing values.
Does this sound sane?
From: Kurt D. Zeilenga [<mailto:Kurt@OpenLDAP.org>mailto:Kurt@OpenLDAP.org]
Sent: 24 October 2001 18:16
Subject: Re: Indexed searches which contain a NOT filter return
incomplete results (ITS#1405)
At 08:54 AM 2001-10-24, email@example.com wrote:
>Full_Name: Charlie Bodycote
>OS: Redhat Linux 7.1
>Submission from: (NULL) (188.8.131.52)
>I have a partial fix (which fixes the problem for the "pres" index, but not for other indices).
I note that as indices are designed to return candidate entries
as opposed to matching entries. While it may be possible to
alter some indices so that only matched entries are returned,
it is not feasible to for all indices (consider substrings
indices). The 'real' fix is not to use indices in support
of negated filter components.