Cleanup bdb_next_id unused arg

This commit is contained in:
Howard Chu 2008-02-10 00:56:44 +00:00
parent 26109d2a55
commit 90e644a1e9
4 changed files with 17 additions and 17 deletions

View File

@ -33,6 +33,7 @@ bdb_add(Operation *op, SlapReply *rs )
AttributeDescription *children = slap_schema.si_ad_children;
AttributeDescription *entry = slap_schema.si_ad_entry;
DB_TXN *ltid = NULL, *lt2;
ID eid = NOID;
struct bdb_op_info opinfo = {0};
int subentry;
BDB_LOCKER locker = 0, rlocker = 0;
@ -115,20 +116,6 @@ txnReturn:
subentry = is_entry_subentry( op->oq_add.rs_e );
/*
* acquire an ID outside of the operation transaction
* to avoid serializing adds.
*/
rs->sr_err = bdb_next_id( op->o_bd, NULL, &op->oq_add.rs_e->e_id );
if( rs->sr_err != 0 ) {
Debug( LDAP_DEBUG_TRACE,
LDAP_XSTRING(bdb_add) ": next_id failed (%d)\n",
rs->sr_err, 0, 0 );
rs->sr_err = LDAP_OTHER;
rs->sr_text = "internal error";
goto return_results;
}
/* Get our thread locker ID */
rs->sr_err = LOCK_ID( bdb->bi_dbenv, &rlocker );
@ -315,6 +302,19 @@ retry: /* transaction retry */
goto return_results;;
}
if ( eid == NOID ) {
rs->sr_err = bdb_next_id( op->o_bd, &eid );
if( rs->sr_err != 0 ) {
Debug( LDAP_DEBUG_TRACE,
LDAP_XSTRING(bdb_add) ": next_id failed (%d)\n",
rs->sr_err, 0, 0 );
rs->sr_err = LDAP_OTHER;
rs->sr_text = "internal error";
goto return_results;
}
op->oq_add.rs_e->e_id = eid;
}
/* nested transaction */
rs->sr_err = TXN_BEGIN( bdb->bi_dbenv, ltid, &lt2,
bdb->bi_db_opflags );

View File

@ -21,7 +21,7 @@
#include "back-bdb.h"
int bdb_next_id( BackendDB *be, DB_TXN *tid, ID *out )
int bdb_next_id( BackendDB *be, ID *out )
{
struct bdb_info *bdb = (struct bdb_info *) be->be_private;

View File

@ -419,7 +419,7 @@ bdb_key_change(
#define bdb_next_id BDB_SYMBOL(next_id)
#define bdb_last_id BDB_SYMBOL(last_id)
int bdb_next_id( BackendDB *be, DB_TXN *tid, ID *id );
int bdb_next_id( BackendDB *be, ID *id );
int bdb_last_id( BackendDB *be, DB_TXN *tid );
/*

View File

@ -364,7 +364,7 @@ static int bdb_tool_next_id(
ei = &eidummy;
}
}
rc = bdb_next_id( op->o_bd, tid, &e->e_id );
rc = bdb_next_id( op->o_bd, &e->e_id );
if ( rc ) {
snprintf( text->bv_val, text->bv_len,
"next_id failed: %s (%d)",