Switch on the TDB_VERSION1 flag.
TDB_DATA *data);
int tdb1_append(struct tdb_context *tdb, TDB_DATA key, TDB_DATA new_dbuf);
int tdb1_delete(struct tdb_context *tdb, TDB_DATA key);
TDB_DATA *data);
int tdb1_append(struct tdb_context *tdb, TDB_DATA key, TDB_DATA new_dbuf);
int tdb1_delete(struct tdb_context *tdb, TDB_DATA key);
+int tdb1_exists(struct tdb_context *tdb, TDB_DATA key);
/* tdb.c: */
enum TDB_ERROR COLD tdb_logerr(struct tdb_context *tdb,
/* tdb.c: */
enum TDB_ERROR COLD tdb_logerr(struct tdb_context *tdb,
struct tdb_used_record rec;
struct hash_info h;
struct tdb_used_record rec;
struct hash_info h;
+ if (tdb->flags & TDB_VERSION1) {
+ return tdb1_exists(tdb, key);
+ }
+
off = find_and_lock(tdb, key, F_RDLCK, &h, &rec, NULL);
if (TDB_OFF_IS_ERR(off)) {
tdb->last_error = off;
off = find_and_lock(tdb, key, F_RDLCK, &h, &rec, NULL);
if (TDB_OFF_IS_ERR(off)) {
tdb->last_error = off;
int tdb1_traverse_read(struct tdb_context *tdb, tdb1_traverse_func fn, void *private_data);
int tdb1_traverse_read(struct tdb_context *tdb, tdb1_traverse_func fn, void *private_data);
-int tdb1_exists(struct tdb_context *tdb, TDB_DATA key);
-
int tdb1_lockall(struct tdb_context *tdb);
int tdb1_unlockall(struct tdb_context *tdb);
int tdb1_lockall(struct tdb_context *tdb);
int tdb1_unlockall(struct tdb_context *tdb);
uint32_t hash = tdb_hash(tdb, key.dptr, key.dsize);
int ret;
uint32_t hash = tdb_hash(tdb, key.dptr, key.dsize);
int ret;
+ assert(tdb->flags & TDB_VERSION1);
ret = tdb1_exists_hash(tdb, key, hash);
return ret;
}
ret = tdb1_exists_hash(tdb, key, hash);
return ret;
}
ok1(tdb1_transaction_start(tdb) == 0);
ok1(tdb_delete(tdb, key) == TDB_SUCCESS);
ok1(tdb1_transaction_commit(tdb) == 0);
ok1(tdb1_transaction_start(tdb) == 0);
ok1(tdb_delete(tdb, key) == TDB_SUCCESS);
ok1(tdb1_transaction_commit(tdb) == 0);
- ok1(!tdb1_exists(tdb, key));
+ ok1(!tdb_exists(tdb, key));
ok1(tdb1_transaction_cancel(tdb) == 0);
/* Surprise! Kills inner "committed" transaction. */
ok1(tdb1_transaction_cancel(tdb) == 0);
/* Surprise! Kills inner "committed" transaction. */
- ok1(tdb1_exists(tdb, key));
+ ok1(tdb_exists(tdb, key));
ok1(tdb1_transaction_start(tdb) == 0);
ok1(tdb1_transaction_start(tdb) == 0);
ok1(tdb_delete(tdb, key) == TDB_SUCCESS);
ok1(tdb1_transaction_commit(tdb) == 0);
ok1(tdb1_transaction_start(tdb) == 0);
ok1(tdb1_transaction_start(tdb) == 0);
ok1(tdb_delete(tdb, key) == TDB_SUCCESS);
ok1(tdb1_transaction_commit(tdb) == 0);
- ok1(!tdb1_exists(tdb, key));
+ ok1(!tdb_exists(tdb, key));
ok1(tdb1_transaction_commit(tdb) == 0);
ok1(tdb1_transaction_commit(tdb) == 0);
- ok1(!tdb1_exists(tdb, key));
+ ok1(!tdb_exists(tdb, key));
tdb_close(tdb);
return exit_status();
tdb_close(tdb);
return exit_status();