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;
struct bdb_info *bdb = (struct bdb_info *) be->be_private;
BDB_IDL_ALL( bdb, ids );
} break;
- case SLAPD_COMPARE_UNDEFINED:
- break;
}
break;
"returned=%d\n",
desc->ad_cname.bv_val, rc, 0 );
#endif
- return 0;
+ return rc;
}
if( db == NULL ) {
"<= bdb_presence_candidates: (%s) not indexed\n",
desc->ad_cname.bv_val, 0, 0 );
#endif
- return 0;
+ return -1;
}
if( prefix.bv_val == NULL ) {
"<= 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 );
"<= 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++ ) {
"<= 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++ ) {
"<= 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++ ) {
(long) BDB_IDL_FIRST(ids),
(long) BDB_IDL_LAST(ids) );
#endif
- return( 0 );
+ return( rc );
}