- Debug( LDAP_DEBUG_TRACE, "<= index_read %d candidates\n",
- idl ? idl->b_nids : 0, 0, 0 );
- return( idl );
-}
-
-static int
-add_value(
- Backend *be,
- struct dbcache *db,
- char *type,
- int indextype,
- char *val,
- ID id
-)
-{
- int rc;
- Datum key;
- IDList *idl;
- char prefix;
- char *realval, *tmpval, *s;
- char buf[BUFSIZ];
-
- prefix = index2prefix( indextype );
- Debug( LDAP_DEBUG_TRACE, "=> add_value( \"%c%s\" )\n", prefix, val, 0 );
-
- realval = val;
- tmpval = NULL;
- idl = NULL;
- if ( prefix != '\0' ) {
- int len;
-
- if ( (len = strlen( val )) < sizeof(buf) ) {
- buf[0] = prefix;
- strcpy( &buf[1], val );
- realval = buf;
- } else {
- /* value + prefix + null */
- tmpval = (char *) ch_malloc( len + 2 );
- tmpval[0] = prefix;
- strcat( &tmpval[1], val );
- realval = tmpval;
+ case LDAP_FILTER_EQUALITY:
+ if( IS_SLAP_INDEX( mask, SLAP_INDEX_EQUALITY ) ) {
+ goto done;