summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
Diffstat (limited to 'source3')
-rw-r--r--source3/include/dbwrap.h5
-rw-r--r--source3/lib/dbwrap.c15
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;