diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/dbwrap.h | 5 | ||||
-rw-r--r-- | source3/lib/dbwrap.c | 15 |
2 files changed, 20 insertions, 0 deletions
diff --git a/source3/include/dbwrap.h b/source3/include/dbwrap.h index 095719a01d..654c7a4f7a 100644 --- a/source3/include/dbwrap.h +++ b/source3/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/source3/lib/dbwrap.c b/source3/lib/dbwrap.c index 001424a6c0..fd924639a9 100644 --- a/source3/lib/dbwrap.c +++ b/source3/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; |