data.data = d;
/* Delete our ID from the parent's list */
- rc = cursor->c_get( cursor, &key, &data, DB_GET_BOTH_RANGE | DB_RMW );
+ rc = cursor->c_get( cursor, &key, &data, DB_GET_BOTH_RANGE );
if ( rc == 0 ) {
if ( !strcmp( d->nrdn, BEI(e)->bei_nrdn.bv_val ))
rc = cursor->c_del( cursor, 0 );
*/
if ( rc == 0 ) {
BDB_ID2DISK( e->e_id, &nid );
- rc = cursor->c_get( cursor, &key, &data, DB_SET | DB_RMW );
+ rc = cursor->c_get( cursor, &key, &data, DB_SET );
if ( rc == 0 )
rc = cursor->c_del( cursor, 0 );
}
struct dn2id_cookie *cx
)
{
+ BDB_IDL_ZERO( cx->tmp );
+
+ if ( !cx->ei ) {
+ cx->ei = bdb_cache_find_info( cx->bdb, cx->id );
+ if ( !cx->ei ) {
+ cx->rc = DB_NOTFOUND;
+ goto saveit;
+ }
+ }
+
if ( cx->bdb->bi_idl_cache_size ) {
cx->key.data = &cx->id;
cx->rc = bdb_idl_cache_get(cx->bdb, cx->db, &cx->key, cx->tmp);
goto gotit;
}
}
- BDB_IDL_ZERO( cx->tmp );
-
- if ( !cx->ei ) {
- cx->ei = bdb_cache_find_info( cx->bdb, cx->id );
- if ( !cx->ei ) {
- cx->rc = DB_NOTFOUND;
- goto saveit;
- }
- }
bdb_cache_entryinfo_lock( cx->ei );