From: Stefan Metzmacher Date: Thu, 27 Mar 2008 15:08:21 +0000 (+0100) Subject: dbwrap: add db_open_trans() X-Git-Tag: samba-3.3.0pre1~3069 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=74a070b8a24fea1009e557f711b76fc14e8961dc;p=thirdparty%2Fsamba.git dbwrap: add db_open_trans() This should be used when transactions are wanted. For now it's just a wrapper of db_open(), but this will change. metze Signed-off-by: Stefan Metzmacher --- diff --git a/source/include/dbwrap.h b/source/include/dbwrap.h index 095719a01d3..654c7a4f7a0 100644 --- a/source/include/dbwrap.h +++ b/source/include/dbwrap.h @@ -54,6 +54,11 @@ struct db_context *db_open(TALLOC_CTX *mem_ctx, int hash_size, int tdb_flags, int open_flags, mode_t mode); +struct db_context *db_open_trans(TALLOC_CTX *mem_ctx, + const char *name, + int hash_size, int tdb_flags, + int open_flags, mode_t mode); + struct db_context *db_open_rbt(TALLOC_CTX *mem_ctx); struct db_context *db_open_tdb(TALLOC_CTX *mem_ctx, diff --git a/source/lib/dbwrap.c b/source/lib/dbwrap.c index 001424a6c0f..fd924639a98 100644 --- a/source/lib/dbwrap.c +++ b/source/lib/dbwrap.c @@ -42,6 +42,9 @@ static int dbwrap_fallback_fetch(struct db_context *db, TALLOC_CTX *mem_ctx, return 0; } +/** + * If you need transaction support use db_open_trans() + */ struct db_context *db_open(TALLOC_CTX *mem_ctx, const char *name, int hash_size, int tdb_flags, @@ -93,6 +96,18 @@ struct db_context *db_open(TALLOC_CTX *mem_ctx, return result; } +/** + * If you use this you can only modify with a transaction + */ +struct db_context *db_open_trans(TALLOC_CTX *mem_ctx, + const char *name, + int hash_size, int tdb_flags, + int open_flags, mode_t mode) +{ + /* TODO: implement this differently */ + return db_open(mem_ctx, name, hash_size, tdb_flags, open_flags, mode); +} + NTSTATUS dbwrap_delete_bystring(struct db_context *db, const char *key) { struct db_record *rec;