Commit 19cb5e52 authored by Howard Chu's avatar Howard Chu
Browse files

Import ITS#2506, ITS#2507 fix from HEAD

parent c9638408
......@@ -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 );
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment