Fix prev commit

Don't truncate all indices if specific indices were given.
This commit is contained in:
Howard Chu 2011-09-18 14:47:41 -07:00
parent 344996c5e8
commit c0fc7fdbed
2 changed files with 16 additions and 14 deletions

View File

@ -133,20 +133,6 @@ mdb_attr_dbs_open(
cr->msg, 0, 0 );
break;
}
if (slapMode & SLAP_TRUNCATE_MODE) {
rc = mdb_drop( txn, mdb->mi_attrs[i]->ai_dbi, 0 );
if ( rc ) {
snprintf( cr->msg, sizeof(cr->msg), "database \"%s\": "
"mdb_drop(%s) failed: %s (%d).",
be->be_suffix[0].bv_val,
mdb->mi_attrs[i]->ai_desc->ad_type->sat_cname.bv_val,
mdb_strerror(rc), rc );
Debug( LDAP_DEBUG_ANY,
LDAP_XSTRING(mdb_attr_dbs) ": %s\n",
cr->msg, 0, 0 );
break;
}
}
}
/* Only commit if this is our txn */

View File

@ -689,6 +689,22 @@ int mdb_tool_entry_reindex(
mi->mi_nattrs = i;
}
if ( slapMode & SLAP_TRUNCATE_MODE ) {
int i;
for ( i=0; i < mi->mi_nattrs; i++ ) {
rc = mdb_drop( txn, mi->mi_attrs[i]->ai_dbi, 0 );
if ( rc ) {
Debug( LDAP_DEBUG_ANY,
LDAP_XSTRING(mdb_tool_entry_reindex)
": (Truncate) mdb_drop(%s) failed: %s (%d)\n",
mi->mi_attrs[i]->ai_desc->ad_type->sat_cname.bv_val,
mdb_strerror(rc), rc );
return -1;
}
}
slapMode ^= SLAP_TRUNCATE_MODE;
}
e = mdb_tool_entry_get( be, id );
if( e == NULL ) {