mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-08 16:04:47 -05:00
ITS#7778 fix regression from #7329
This commit is contained in:
parent
14868fcab6
commit
b1ed3bf10a
2 changed files with 22 additions and 0 deletions
|
|
@ -389,6 +389,7 @@ int bdb_modify_internal(
|
|||
ap->a_nvals,
|
||||
e->e_id, SLAP_INDEX_ADD_OP );
|
||||
} else {
|
||||
int found = 0;
|
||||
/* if this was only an add, we only need to index
|
||||
* the added values.
|
||||
*/
|
||||
|
|
@ -396,6 +397,7 @@ int bdb_modify_internal(
|
|||
struct berval *vals;
|
||||
if ( ml->sml_desc != ap->a_desc || !ml->sml_numvals )
|
||||
continue;
|
||||
found = 1;
|
||||
switch( ml->sml_op ) {
|
||||
case LDAP_MOD_ADD:
|
||||
case LDAP_MOD_REPLACE:
|
||||
|
|
@ -415,6 +417,15 @@ int bdb_modify_internal(
|
|||
if ( rc )
|
||||
break;
|
||||
}
|
||||
/* This attr was affected by a modify of a subtype, so
|
||||
* there was no direct match in the modlist. Just readd
|
||||
* all of its values.
|
||||
*/
|
||||
if ( !found ) {
|
||||
rc = bdb_index_values( op, tid, ap->a_desc,
|
||||
ap->a_nvals,
|
||||
e->e_id, SLAP_INDEX_ADD_OP );
|
||||
}
|
||||
}
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
|
|
|
|||
|
|
@ -389,6 +389,7 @@ int mdb_modify_internal(
|
|||
ap->a_nvals,
|
||||
e->e_id, SLAP_INDEX_ADD_OP );
|
||||
} else {
|
||||
int found = 0;
|
||||
/* if this was only an add, we only need to index
|
||||
* the added values.
|
||||
*/
|
||||
|
|
@ -396,6 +397,7 @@ int mdb_modify_internal(
|
|||
struct berval *vals;
|
||||
if ( ml->sml_desc != ap->a_desc || !ml->sml_numvals )
|
||||
continue;
|
||||
found = 1;
|
||||
switch( ml->sml_op ) {
|
||||
case LDAP_MOD_ADD:
|
||||
case LDAP_MOD_REPLACE:
|
||||
|
|
@ -415,6 +417,15 @@ int mdb_modify_internal(
|
|||
if ( rc )
|
||||
break;
|
||||
}
|
||||
/* This attr was affected by a modify of a subtype, so
|
||||
* there was no direct match in the modlist. Just readd
|
||||
* all of its values.
|
||||
*/
|
||||
if ( !found ) {
|
||||
rc = mdb_index_values( op, tid, ap->a_desc,
|
||||
ap->a_nvals,
|
||||
e->e_id, SLAP_INDEX_ADD_OP );
|
||||
}
|
||||
}
|
||||
if ( rc != LDAP_SUCCESS ) {
|
||||
Debug( LDAP_DEBUG_ANY,
|
||||
|
|
|
|||
Loading…
Reference in a new issue