Browse Source

tdb2: unify tdb1_store into tdb_store

Switch on the TDB_VERSION1 flag.
Rusty Russell 14 years ago
parent
commit
2bba2a856a

+ 1 - 0
ccan/tdb2/private.h

@@ -652,6 +652,7 @@ enum TDB_ERROR tdb1_fetch(struct tdb_context *tdb, TDB_DATA key,
 			  TDB_DATA *data);
 			  TDB_DATA *data);
 int tdb1_append(struct tdb_context *tdb, TDB_DATA key, TDB_DATA new_dbuf);
 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_delete(struct tdb_context *tdb, TDB_DATA key);
+int tdb1_exists(struct tdb_context *tdb, TDB_DATA key);
 
 
 /* tdb.c: */
 /* tdb.c: */
 enum TDB_ERROR COLD tdb_logerr(struct tdb_context *tdb,
 enum TDB_ERROR COLD tdb_logerr(struct tdb_context *tdb,

+ 4 - 0
ccan/tdb2/tdb.c

@@ -284,6 +284,10 @@ bool tdb_exists(struct tdb_context *tdb, TDB_DATA key)
 	struct tdb_used_record rec;
 	struct tdb_used_record rec;
 	struct hash_info h;
 	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);
 	off = find_and_lock(tdb, key, F_RDLCK, &h, &rec, NULL);
 	if (TDB_OFF_IS_ERR(off)) {
 	if (TDB_OFF_IS_ERR(off)) {
 		tdb->last_error = off;
 		tdb->last_error = off;

+ 0 - 2
ccan/tdb2/tdb1.h

@@ -53,8 +53,6 @@ int tdb1_traverse(struct tdb_context *tdb, tdb1_traverse_func fn, void *private_
 
 
 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_lockall(struct tdb_context *tdb);
 
 
 int tdb1_unlockall(struct tdb_context *tdb);
 int tdb1_unlockall(struct tdb_context *tdb);

+ 1 - 0
ccan/tdb2/tdb1_tdb.c

@@ -275,6 +275,7 @@ int tdb1_exists(struct tdb_context *tdb, TDB_DATA key)
 	uint32_t hash = tdb_hash(tdb, key.dptr, key.dsize);
 	uint32_t hash = tdb_hash(tdb, key.dptr, key.dsize);
 	int ret;
 	int ret;
 
 
+	assert(tdb->flags & TDB_VERSION1);
 	ret = tdb1_exists_hash(tdb, key, hash);
 	ret = tdb1_exists_hash(tdb, key, hash);
 	return ret;
 	return ret;
 }
 }

+ 4 - 4
ccan/tdb2/test/run-tdb1-nested-transactions.c

@@ -54,18 +54,18 @@ int main(int argc, char *argv[])
 	ok1(tdb1_transaction_start(tdb) == 0);
 	ok1(tdb1_transaction_start(tdb) == 0);
 	ok1(tdb_delete(tdb, key) == TDB_SUCCESS);
 	ok1(tdb_delete(tdb, key) == TDB_SUCCESS);
 	ok1(tdb1_transaction_commit(tdb) == 0);
 	ok1(tdb1_transaction_commit(tdb) == 0);
-	ok1(!tdb1_exists(tdb, key));
+	ok1(!tdb_exists(tdb, key));
 	ok1(tdb1_transaction_cancel(tdb) == 0);
 	ok1(tdb1_transaction_cancel(tdb) == 0);
 	/* Surprise! Kills inner "committed" transaction. */
 	/* 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(tdb1_transaction_start(tdb) == 0);
 	ok1(tdb1_transaction_start(tdb) == 0);
 	ok1(tdb_delete(tdb, key) == TDB_SUCCESS);
 	ok1(tdb_delete(tdb, key) == TDB_SUCCESS);
 	ok1(tdb1_transaction_commit(tdb) == 0);
 	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);
 	tdb_close(tdb);
 
 
 	return exit_status();
 	return exit_status();