]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/proto-bdb.h
ITS#4088 proposed fix
[openldap] / servers / slapd / back-bdb / proto-bdb.h
index 5955721f4ea4956476d61a987ba0c0fc6b538fc4..232289f7c924c26153a546b3e1f31da081757477 100644 (file)
@@ -217,6 +217,8 @@ BI_entry_get_rw bdb_entry_get;
 #define bdb_idl_cache_get                      BDB_SYMBOL(idl_cache_get)
 #define bdb_idl_cache_put                      BDB_SYMBOL(idl_cache_put)
 #define bdb_idl_cache_del                      BDB_SYMBOL(idl_cache_del)
+#define bdb_idl_cache_add_id           BDB_SYMBOL(idl_cache_add_id)
+#define bdb_idl_cache_del_id           BDB_SYMBOL(idl_cache_del_id)
 
 int bdb_idl_cache_get(
        struct bdb_info *bdb,
@@ -238,6 +240,20 @@ bdb_idl_cache_del(
        DB              *db,
        DBT             *key );
 
+void
+bdb_idl_cache_add_id(
+       struct bdb_info *bdb,
+       DB              *db,
+       DBT             *key,
+       ID              id );
+
+void
+bdb_idl_cache_del_id(
+       struct bdb_info *bdb,
+       DB              *db,
+       DBT             *key,
+       ID              id );
+
 #define bdb_idl_first                          BDB_SYMBOL(idl_first)
 #define bdb_idl_next                           BDB_SYMBOL(idl_next)
 #define bdb_idl_search                         BDB_SYMBOL(idl_search)
@@ -292,7 +308,7 @@ bdb_idl_union(
 ID bdb_idl_first( ID *ids, ID *cursor );
 ID bdb_idl_next( ID *ids, ID *cursor );
 
-void bdb_idl_sort( ID *ids );
+void bdb_idl_sort( ID *ids, ID *tmp );
 int bdb_idl_append( ID *a, ID *b );
 int bdb_idl_append_one( ID *ids, ID id );
 
@@ -427,6 +443,7 @@ void bdb_unlocked_cache_return_entry_rw( Cache *cache, Entry *e, int rw );
 #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)
@@ -479,6 +496,13 @@ int bdb_cache_find_id(
        u_int32_t       locker,
        DB_LOCK         *lock
 );
+int
+bdb_cache_find_parent(
+       Operation *op,
+       DB_TXN *txn,
+       ID id,
+       EntryInfo **res
+);
 int bdb_cache_delete(
        Cache   *cache,
        Entry   *e,