mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-17 04:13:55 -05:00
Eliminate unnecessary calls to slap_bv2ad
This commit is contained in:
parent
130f6e1b7d
commit
af6804905f
1 changed files with 7 additions and 8 deletions
|
|
@ -144,6 +144,7 @@ done:
|
|||
static int indexer(
|
||||
Operation *op,
|
||||
DB_TXN *txn,
|
||||
AttributeDescription *ad,
|
||||
struct berval *atname,
|
||||
BerVarray vals,
|
||||
ID id,
|
||||
|
|
@ -153,7 +154,6 @@ static int indexer(
|
|||
int rc, i;
|
||||
const char *text;
|
||||
DB *db;
|
||||
AttributeDescription *ad = NULL;
|
||||
struct berval *keys;
|
||||
void *mark;
|
||||
|
||||
|
|
@ -174,9 +174,6 @@ static int indexer(
|
|||
return LDAP_OTHER;
|
||||
}
|
||||
|
||||
rc = slap_bv2ad( atname, &ad, &text );
|
||||
if( rc != LDAP_SUCCESS ) return rc;
|
||||
|
||||
mark = sl_mark(op->o_tmpmemctx);
|
||||
|
||||
if( IS_SLAP_INDEX( mask, SLAP_INDEX_PRESENT ) ) {
|
||||
|
|
@ -259,6 +256,7 @@ done:
|
|||
static int index_at_values(
|
||||
Operation *op,
|
||||
DB_TXN *txn,
|
||||
AttributeDescription *ad,
|
||||
AttributeType *type,
|
||||
struct berval *tags,
|
||||
BerVarray vals,
|
||||
|
|
@ -270,7 +268,7 @@ static int index_at_values(
|
|||
|
||||
if( type->sat_sup ) {
|
||||
/* recurse */
|
||||
rc = index_at_values( op, txn,
|
||||
rc = index_at_values( op, txn, NULL,
|
||||
type->sat_sup, tags,
|
||||
vals, id, opid );
|
||||
|
||||
|
|
@ -280,10 +278,11 @@ static int index_at_values(
|
|||
/* If this type has no AD, we've never used it before */
|
||||
if( type->sat_ad ) {
|
||||
bdb_attr_mask( op->o_bd->be_private, type->sat_ad, &mask );
|
||||
ad = type->sat_ad;
|
||||
}
|
||||
|
||||
if( mask ) {
|
||||
rc = indexer( op, txn, &type->sat_cname,
|
||||
rc = indexer( op, txn, ad, &type->sat_cname,
|
||||
vals, id, opid,
|
||||
mask );
|
||||
|
||||
|
|
@ -301,7 +300,7 @@ static int index_at_values(
|
|||
}
|
||||
|
||||
if( mask ) {
|
||||
rc = indexer( op, txn, &desc->ad_cname,
|
||||
rc = indexer( op, txn, desc, &desc->ad_cname,
|
||||
vals, id, opid,
|
||||
mask );
|
||||
|
||||
|
|
@ -324,7 +323,7 @@ int bdb_index_values(
|
|||
{
|
||||
int rc;
|
||||
|
||||
rc = index_at_values( op, txn,
|
||||
rc = index_at_values( op, txn, desc,
|
||||
desc->ad_type, &desc->ad_tags,
|
||||
vals, id, opid );
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue