Commit a40b1f31 authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Backout delete before add rdn index change.

parent e455a7d4
...@@ -358,10 +358,10 @@ ldbm_back_modrdn( ...@@ -358,10 +358,10 @@ ldbm_back_modrdn(
add_bv.bv_val = new_rdn_val; add_bv.bv_val = new_rdn_val;
add_bv.bv_len = strlen(new_rdn_val); add_bv.bv_len = strlen(new_rdn_val);
mod[1].ml_type = new_rdn_type; mod[0].ml_type = new_rdn_type;
mod[1].ml_bvalues = add_bvals; mod[0].ml_bvalues = add_bvals;
mod[1].ml_op = LDAP_MOD_SOFTADD; mod[0].ml_op = LDAP_MOD_SOFTADD;
mod[1].ml_next = NULL; mod[0].ml_next = NULL;
/* Remove old rdn value if required */ /* Remove old rdn value if required */
...@@ -390,10 +390,11 @@ ldbm_back_modrdn( ...@@ -390,10 +390,11 @@ ldbm_back_modrdn(
/* No need to normalize old_rdn_type, delete_values() /* No need to normalize old_rdn_type, delete_values()
* does that for us * does that for us
*/ */
mod[0].ml_type = old_rdn_type;
mod[0].ml_bvalues = del_bvals;
mod[0].ml_op = LDAP_MOD_DELETE;
mod[0].ml_next = &mod[1]; mod[0].ml_next = &mod[1];
mod[1].ml_type = old_rdn_type;
mod[1].ml_bvalues = del_bvals;
mod[1].ml_op = LDAP_MOD_DELETE;
mod[1].ml_next = NULL;
Debug( LDAP_DEBUG_TRACE, Debug( LDAP_DEBUG_TRACE,
"ldbm_back_modrdn: removing old_rdn_val=%s\n", "ldbm_back_modrdn: removing old_rdn_val=%s\n",
...@@ -438,8 +439,8 @@ ldbm_back_modrdn( ...@@ -438,8 +439,8 @@ ldbm_back_modrdn(
/* modify memory copy of entry */ /* modify memory copy of entry */
if ( ldbm_modify_internal( be, conn, op, dn, if ( ldbm_modify_internal( be, conn, op, dn, &mod[0], e )
&mod[deleteoldrdn ? 0 : 1], e ) != 0 ) { != 0 ) {
goto return_results; goto return_results;
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment