char *pdn = NULL;
Entry *e, *p = NULL;
int rc;
- const char *text = NULL;
+ const char *text;
int manageDSAit = get_manageDSAit( op );
AttributeDescription *children = slap_schema.si_ad_children;
DB_TXN *ltid = NULL;
struct bdb_op_info opinfo;
- Debug(LDAP_DEBUG_ARGS, "==> bdb_delete: %s\n", dn, 0, 0);
+ Debug( LDAP_DEBUG_ARGS, "==> bdb_delete: %s\n", dn, 0, 0 );
if (0) {
- /* transaction retry */
-retry: rc = txn_abort( ltid );
+retry: /* transaction retry */
+ Debug( LDAP_DEBUG_TRACE, "==> bdb_delete: retrying...\n", 0, 0, 0 );
+ rc = txn_abort( ltid );
ltid = NULL;
op->o_private = NULL;
if( rc != 0 ) {
/* begin transaction */
rc = txn_begin( bdb->bi_dbenv, NULL, <id, 0 );
+ text = NULL;
if( rc != 0 ) {
Debug( LDAP_DEBUG_TRACE,
"bdb_delete: txn_begin failed: %s (%d)\n",
? get_entry_referrals( be, conn, op, matched )
: NULL;
bdb_entry_return( be, matched );
+ matched = NULL;
+
} else {
refs = default_referral;
}
children, NULL, ACL_WRITE );
bdb_entry_return( be, p );
+ p = NULL;
if ( !rc ) {
Debug( LDAP_DEBUG_TRACE,
send_ldap_result( conn, op, LDAP_SUCCESS,
NULL, text, NULL, NULL );
+ if(rc == LDAP_SUCCESS && bdb->bi_txn_cp ) {
+ ldap_pvt_thread_yield();
+ txn_checkpoint( bdb->bi_dbenv,
+ bdb->bi_txn_cp_kbyte, bdb->bi_txn_cp_min, 0 );
+ }
+
done:
/* free entry */
- if( e != NULL ) bdb_entry_return( be, e );
+ if( e != NULL ) {
+ bdb_entry_return( be, e );
+ }
if( ltid != NULL ) {
txn_abort( ltid );