Bug 175897 - filter'd search not returning matches after index added
filter'd search not returning matches after index added
Status: CLOSED NEXTRELEASE
Product: Red Hat Directory Server
Classification: Red Hat
Component: Database - Indexes/Searches (Show other bugs)
7.1
All Linux
medium Severity medium
: DS8.0
: ---
Assigned To: Noriko Hosoi
Orla Hegarty
:
: 175982 (view as bug list)
Depends On:
Blocks: 152373 159328 182367 182630 184343 240316
  Show dependency treegraph
 
Reported: 2005-12-15 19:19 EST by To Ngan
Modified: 2010-03-29 20:54 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-05-26 16:12:48 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Forwarded email for reference (7.38 KB, text/plain)
2005-12-15 19:23 EST, To Ngan
no flags Details
cvs commit message (423 bytes, text/plain)
2005-12-16 12:39 EST, Noriko Hosoi
no flags Details
cvs commit message (Directory71RtmBranch & Directory621RtmBranch) (946 bytes, text/plain)
2005-12-19 16:44 EST, Noriko Hosoi
no flags Details
cvs diff filter/{filter.ksh, tet_scen} (5.76 KB, patch)
2005-12-21 20:02 EST, Noriko Hosoi
no flags Details | Diff
cvs commit message (1.24 KB, text/plain)
2005-12-21 20:36 EST, Noriko Hosoi
no flags Details

  None (edit)
Comment 3 Noriko Hosoi 2005-12-15 21:46:41 EST
This type of filter (&(attr1 <= val1)(attr2 >= val2)) is not an optimizable case
(like (&(attr1 >= val1)(attr1 <= val2)), but it was considered it was and sent
to a wrong function.

Index: filterindex.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/back-ldbm/filterindex.c,v
retrieving revision 1.4
diff -t -w -U4 -r1.4 filterindex.c
--- filterindex.c       19 Apr 2005 22:07:38 -0000      1.4
+++ filterindex.c       16 Dec 2005 02:41:09 -0000
@@ -639,9 +639,10 @@
     if (le_count != 1 || ge_count != 1 || f_count != 2)
     {
         is_bounded_range = 0;
     }
-    if (NULL == fpairs[0] || NULL == fpairs[1])
+    if (NULL == fpairs[0] || NULL == fpairs[1] ||
+        0 != strcmp(tpairs[0], tpairs[1]) /* avoid "&(cn<=A)(sn>=B)" type */ )
     {
         fpairs[0] = fpairs[1] = NULL;
         slapi_ch_free_string(&tpairs[0]);
         slapi_ch_bvfree(&vpairs[0]);
Comment 4 Noriko Hosoi 2005-12-16 12:39:08 EST
Created attachment 122331 [details]
cvs commit message

Reviewed by Rich and David (Thank you!)
Comment 5 Noriko Hosoi 2005-12-16 12:42:34 EST
Added DS7.1 and DS6.21 to the block list...
Comment 6 Noriko Hosoi 2005-12-19 15:29:18 EST
*** Bug 175982 has been marked as a duplicate of this bug. ***
Comment 7 Noriko Hosoi 2005-12-19 16:44:27 EST
Created attachment 122426 [details]
cvs commit message (Directory71RtmBranch & Directory621RtmBranch)

Checked in into Directory71RtmBranch & Directory621RtmBranch, as well.
Comment 8 Noriko Hosoi 2005-12-21 20:02:10 EST
Created attachment 122510 [details]
cvs diff filter/{filter.ksh, tet_scen}

Adding the range searches to the filter test.
Comment 9 Noriko Hosoi 2005-12-21 20:36:32 EST
Created attachment 122511 [details]
cvs commit message

Reviewed by To (Thank you!)

Checked in into the trunk as well as Directory71RtmBranch.
Comment 10 Orla Hegarty 2006-01-23 18:48:00 EST
Per todays bug council; setting target tracking bug to 7.2 so that they will be
verified by QE against that release.
Comment 11 Orla Hegarty 2006-02-21 13:48:50 EST
This bug is listed for inclusion in DS 7.1 SP 2 ; adding the patch to the
blockers list.
Comment 12 To Ngan 2006-02-23 14:35:01 EST
This fix applies to DS 6.21 SP3 as well... adding blockage to the tracking bug.
Comment 13 Orla Hegarty 2006-02-24 16:51:32 EST
Verified fixed in DS 7.1 SP 2 on Solaris 32 and 64 bit, HP-UX 11i  64 bit, RHEL
3 32 bit and RHEL 4 32 bit. 

Leaving open for now, pending verification against DS 6.21 SP 3 and it's
supported platforms.
Comment 14 Noriko Hosoi 2006-03-08 19:39:56 EST
*DOCS*
There was a problem in evaluating intersection of multiple range searches when
the attribute of each range search is different from each other.  E.g., &(attr1
<= val1)(attr2 >= val2)  The bug was fixed on DS 6.21 SP3, DS 7.1 SP2 (and DS 7.2).
Comment 15 To Ngan 2006-03-14 10:22:55 EST
Verified candidate 20060310.1 on all platforms.
Comment 17 Orla Hegarty 2006-05-26 13:49:30 EDT
Somehow the errata system did not automatically close these bugs even though DS
SP 2 is shipped and available live on RHN
Comment 18 Orla Hegarty 2006-05-26 13:52:49 EDT
trying to manually close
Comment 19 Orla Hegarty 2006-05-26 16:12:48 EDT
trying again
Comment 21 Chandrasekar Kannan 2007-07-25 15:19:35 EDT
DS7.2 is not a valid milestone anymore. Anything thats set to DS7.2 should be
set to DS8.0. Will make further changes per bug council on 07/24/2007, after this.
Comment 22 Chandrasekar Kannan 2008-08-11 19:43:22 EDT
Bug already CLOSED. setting screened+ flag

Note You need to log in before you can comment on or make changes to this bug.