]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/proto-bdb.h
Use refcnt instead of keeping entry locked in Add response
[openldap] / servers / slapd / back-bdb / proto-bdb.h
index f255334675bb5c619f1e0245f9f1c51d83ad69d5..f0070775d25cd27d3d720e15f2eb446e2a32832a 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2000-2008 The OpenLDAP Foundation.
+ * Copyright 2000-2011 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -106,7 +106,7 @@ int bdb_dn2id(
        struct berval *dn,
        EntryInfo *ei,
        DB_TXN *txn,
-       DB_LOCK *lock );
+       DBC **cursor );
 
 int bdb_dn2id_add(
        Operation *op,
@@ -501,13 +501,13 @@ void bdb_unlocked_cache_return_entry_rw( struct bdb_info *bdb, Entry *e, int rw
 #define bdb_cache_delete                       BDB_SYMBOL(cache_delete)
 #define bdb_cache_delete_cleanup       BDB_SYMBOL(cache_delete_cleanup)
 #define bdb_cache_find_id                      BDB_SYMBOL(cache_find_id)
-#define bdb_cache_find_info                    BDB_SYMBOL(cache_find_info)
 #define bdb_cache_find_ndn                     BDB_SYMBOL(cache_find_ndn)
 #define bdb_cache_find_parent          BDB_SYMBOL(cache_find_parent)
 #define bdb_cache_modify                       BDB_SYMBOL(cache_modify)
 #define bdb_cache_modrdn                       BDB_SYMBOL(cache_modrdn)
 #define bdb_cache_release_all          BDB_SYMBOL(cache_release_all)
 #define bdb_cache_delete_entry         BDB_SYMBOL(cache_delete_entry)
+#define bdb_cache_deref                                BDB_SYMBOL(cache_deref)
 
 int bdb_cache_children(
        Operation *op,
@@ -544,13 +544,11 @@ int bdb_cache_find_ndn(
        struct berval   *ndn,
        EntryInfo       **res
 );
-EntryInfo * bdb_cache_find_info(
-       struct bdb_info *bdb,
-       ID id
-);
 
 #define        ID_LOCKED       1
 #define        ID_NOCACHE      2
+#define        ID_NOENTRY      4
+#define        ID_CHKPURGE     8
 int bdb_cache_find_id(
        Operation *op,
        DB_TXN  *tid,
@@ -577,6 +575,7 @@ void bdb_cache_delete_cleanup(
        EntryInfo *ei
 );
 void bdb_cache_release_all( Cache *cache );
+void bdb_cache_deref( EntryInfo *ei );
 
 #ifdef BDB_HIER
 int hdb_cache_load(
@@ -631,6 +630,7 @@ bdb_trans_backoff( int num_retries );
 #define bdb_hasSubordinates            BDB_SYMBOL(hasSubordinates)
 #define bdb_tool_entry_open            BDB_SYMBOL(tool_entry_open)
 #define bdb_tool_entry_close           BDB_SYMBOL(tool_entry_close)
+#define bdb_tool_entry_first_x         BDB_SYMBOL(tool_entry_first_x)
 #define bdb_tool_entry_next            BDB_SYMBOL(tool_entry_next)
 #define bdb_tool_entry_get             BDB_SYMBOL(tool_entry_get)
 #define bdb_tool_entry_put             BDB_SYMBOL(tool_entry_put)
@@ -661,6 +661,7 @@ extern BI_has_subordinates          bdb_hasSubordinates;
 /* tools.c */
 extern BI_tool_entry_open              bdb_tool_entry_open;
 extern BI_tool_entry_close             bdb_tool_entry_close;
+extern BI_tool_entry_first_x           bdb_tool_entry_first_x;
 extern BI_tool_entry_next              bdb_tool_entry_next;
 extern BI_tool_entry_get               bdb_tool_entry_get;
 extern BI_tool_entry_put               bdb_tool_entry_put;