#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,
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)
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 );
#if 0
void bdb_unlocked_cache_return_entry_rw( Cache *cache, Entry *e, int rw );
#else
-#define bdb_unlocked_cache_return_entry_rw( a, b, c )
+#define bdb_unlocked_cache_return_entry_rw( a, b, c ) ((void)0)
#endif
#define bdb_unlocked_cache_return_entry_r( c, e ) \
bdb_unlocked_cache_return_entry_rw((c), (e), 0)
#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)
u_int32_t locker
);
int bdb_cache_modrdn(
+ struct bdb_info *bdb,
Entry *e,
struct berval *nrdn,
Entry *new,
EntryInfo *ein,
- DB_ENV *env,
u_int32_t locker,
DB_LOCK *lock
);
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,
#ifdef BDB_REUSE_LOCKERS
#define bdb_locker_id BDB_SYMBOL(locker_id)
-int bdb_locker_id( Operation *op, DB_ENV *env, int *locker );
+int bdb_locker_id( Operation *op, DB_ENV *env, u_int32_t *locker );
-#define LOCK_ID_FREE(env, locker)
+#define LOCK_ID_FREE(env, locker) ((void)0)
#define LOCK_ID(env, locker) bdb_locker_id(op, env, locker)
#else