From 19cb5e529e48d4c7e65697714967e52e38255dcf Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 14 May 2003 19:53:28 +0000 Subject: [PATCH] Import ITS#2506, ITS#2507 fix from HEAD --- servers/slapd/back-bdb/filterindex.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/servers/slapd/back-bdb/filterindex.c b/servers/slapd/back-bdb/filterindex.c index bcfc898f28..ca48a456eb 100644 --- a/servers/slapd/back-bdb/filterindex.c +++ b/servers/slapd/back-bdb/filterindex.c @@ -60,6 +60,11 @@ bdb_filter_candidates( switch ( f->f_choice ) { case SLAPD_FILTER_COMPUTED: switch( f->f_result ) { + case SLAPD_COMPARE_UNDEFINED: + /* This technically is not the same as FALSE, but it + * certainly will produce no matches. + */ + /* FALLTHRU */ case LDAP_COMPARE_FALSE: BDB_IDL_ZERO( ids ); break; @@ -67,8 +72,6 @@ bdb_filter_candidates( struct bdb_info *bdb = (struct bdb_info *) be->be_private; BDB_IDL_ALL( bdb, ids ); } break; - case SLAPD_COMPARE_UNDEFINED: - break; } break; @@ -325,7 +328,7 @@ presence_candidates( "returned=%d\n", desc->ad_cname.bv_val, rc, 0 ); #endif - return 0; + return rc; } if( db == NULL ) { @@ -339,7 +342,7 @@ presence_candidates( "<= bdb_presence_candidates: (%s) not indexed\n", desc->ad_cname.bv_val, 0, 0 ); #endif - return 0; + return -1; } if( prefix.bv_val == NULL ) { @@ -352,7 +355,7 @@ presence_candidates( "<= bdb_presence_candidates: (%s) no prefix\n", desc->ad_cname.bv_val, 0, 0 ); #endif - return 0; + return -1; } rc = bdb_key_read( be, db, NULL, &prefix, ids ); @@ -488,7 +491,7 @@ equality_candidates( "<= bdb_equality_candidates: (%s) no keys\n", ava->aa_desc->ad_cname.bv_val, 0, 0 ); #endif - return 0; + return -1; } for ( i= 0; keys[i].bv_val != NULL; i++ ) { @@ -657,7 +660,7 @@ approx_candidates( "<= bdb_approx_candidates: (%s) no keys (%s)\n", prefix.bv_val, ava->aa_desc->ad_cname.bv_val, 0 ); #endif - return 0; + return -1; } for ( i= 0; keys[i].bv_val != NULL; i++ ) { @@ -820,7 +823,7 @@ substring_candidates( "<= bdb_substring_candidates: (0x%04lx) no keys (%s)\n", mask, sub->sa_desc->ad_cname.bv_val, 0 ); #endif - return 0; + return -1; } for ( i= 0; keys[i].bv_val != NULL; i++ ) { @@ -882,6 +885,6 @@ substring_candidates( (long) BDB_IDL_FIRST(ids), (long) BDB_IDL_LAST(ids) ); #endif - return( 0 ); + return( rc ); } -- 2.47.2