]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/dn2entry.c
Cancel exop updates
[openldap] / servers / slapd / back-bdb / dn2entry.c
index 767c1571dbe85e22ddceedd7b2f75127d39f8742..32df2682fc36ae8d428aeb520772a8ab016aa30c 100644 (file)
@@ -1,7 +1,7 @@
 /* dn2entry.c - routines to deal with the dn2id / id2entry glue */
 /* $OpenLDAP$ */
 /*
- * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
 
 #include "back-bdb.h"
 
+
 /*
  * dn2entry - look up dn in the cache/indexes and return the corresponding
  * entry.
  */
 
 int
-bdb_dn2entry(
+bdb_dn2entry_rw(
        BackendDB       *be,
        DB_TXN *tid,
        struct berval *dn,
        Entry **e,
        Entry **matched,
-       int flags )
+       int flags,
+       int rw,
+       u_int32_t locker,
+       DB_LOCK *lock )
 {
        int rc;
        ID              id, id2 = 0;
 
-       Debug(LDAP_DEBUG_TRACE, "bdb_dn2entry(\"%s\")\n",
+#ifdef NEW_LOGGING
+       LDAP_LOG ( CACHE, ARGS, "bdb_dn2entry_rw(\"%s\")\n", dn->bv_val, 0, 0 );
+#else
+       Debug(LDAP_DEBUG_TRACE, "bdb_dn2entry_rw(\"%s\")\n",
                dn->bv_val, 0, 0 );
+#endif
 
        *e = NULL;
 
        if( matched != NULL ) {
                *matched = NULL;
-               rc = bdb_dn2id_matched( be, tid, dn, &id, &id2 );
+               rc = bdb_dn2id_matched( be, tid, dn, &id, &id2, flags );
        } else {
-               rc = bdb_dn2id( be, tid, dn, &id );
+               rc = bdb_dn2id( be, tid, dn, &id, flags );
        }
 
        if( rc != 0 ) {
@@ -46,9 +54,9 @@ bdb_dn2entry(
        }
 
        if( id2 == 0 ) {
-               rc = bdb_id2entry( be, tid, id, e );
+               rc = bdb_id2entry_rw( be, tid, id, e, rw, locker, lock );
        } else {
-               rc = bdb_id2entry( be, tid, id2, matched );
+               rc = bdb_id2entry_r( be, tid, id2, matched, locker, lock );
        }
 
        return rc;