static slap_mask_t index_mask(
Backend *be,
AttributeDescription *desc,
- char **dbname,
struct berval *atname )
{
AttributeType *at;
if( mask ) {
*atname = desc->ad_cname;
- *dbname = desc->ad_cname.bv_val;
return mask;
}
if ( mask && ( mask ^ SLAP_INDEX_NOTAGS ) ) {
*atname = desc->ad_type->sat_cname;
- *dbname = desc->ad_type->sat_cname.bv_val;
return mask;
}
}
if ( mask && ( mask ^ SLAP_INDEX_NOSUBTYPES ) ) {
*atname = at->sat_cname;
- *dbname = at->sat_cname.bv_val;
return mask;
}
}
AttributeDescription *desc )
{
slap_mask_t mask;
- char *dbname;
struct berval prefix;
- mask = index_mask( be, desc, &dbname, &prefix );
+ mask = index_mask( be, desc, &prefix );
if( mask == 0 ) {
return LDAP_INAPPROPRIATE_MATCHING;
int rc;
slap_mask_t mask;
DB *db;
- char *dbname;
- mask = index_mask( be, desc, &dbname, prefixp );
+ mask = index_mask( be, desc, prefixp );
if( mask == 0 ) {
return LDAP_INAPPROPRIATE_MATCHING;
}
- rc = bdb_db_cache( be, NULL, dbname, &db );
+ rc = bdb_db_cache( be, NULL, prefixp->bv_val, &db );
if( rc != LDAP_SUCCESS ) {
return rc;
static int indexer(
Backend *be,
DB_TXN *txn,
- char *dbname,
struct berval *atname,
BerVarray vals,
ID id,
assert( mask );
- rc = bdb_db_cache( be, txn, dbname, &db );
+ rc = bdb_db_cache( be, txn, atname->bv_val, &db );
if ( rc != LDAP_SUCCESS ) {
#ifdef NEW_LOGGING
LDAP_LOG( INDEX, ERR,
- "bdb_index_read: Could not open DB %s\n", dbname, 0, 0 );
+ "bdb_index_read: Could not open DB %s\n",
+ atname->bv_val, 0, 0 );
#else
Debug( LDAP_DEBUG_ANY,
- "<= bdb_index_read NULL (could not open %s)\n",
- dbname, 0, 0 );
+ "bdb_index_read: Could not open DB %s\n",
+ atname->bv_val, 0, 0 );
#endif
return LDAP_OTHER;
}
}
if( mask ) {
- rc = indexer( be, txn, type->sat_cname.bv_val,
- &type->sat_cname,
+ rc = indexer( be, txn, &type->sat_cname,
vals, id, op,
mask );
}
if( mask ) {
- rc = indexer( be, txn, desc->ad_cname.bv_val,
- &desc->ad_cname,
+ rc = indexer( be, txn, &desc->ad_cname,
vals, id, op,
mask );