summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/include
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-09-03 18:29:58 +1000
committerAndrew Tridgell <tridge@samba.org>2009-09-03 18:36:09 +1000
commitbfccc4590dc94b37258b7225d153c4c01d1a28d6 (patch)
tree901027032373df9aaffc0ee1b3e44c57bd93d46e /source4/lib/ldb/include
parentc37f290043c55ec6428a313b4ec3ca2f91e5e98e (diff)
downloadsamba-bfccc4590dc94b37258b7225d153c4c01d1a28d6.tar.gz
samba-bfccc4590dc94b37258b7225d153c4c01d1a28d6.tar.bz2
samba-bfccc4590dc94b37258b7225d153c4c01d1a28d6.zip
always use prepare_commit in ldb transaction commits if possible
The reason we need this is to make multi-tdb transactions safe, with the partition module. The linked_attributes and repl_meta_data modules now do extra processing when the transaction ends, and that processing can fail. When it fails we need to cancel the transaction, which we can only do if the hook is on the prepare commit instead of the end transaction call. Otherwise the partition module cannot ensure that no commit has been done on another partition.
Diffstat (limited to 'source4/lib/ldb/include')
-rw-r--r--source4/lib/ldb/include/ldb_module.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/source4/lib/ldb/include/ldb_module.h b/source4/lib/ldb/include/ldb_module.h
index cc24d8a6c0..1d6329ca2f 100644
--- a/source4/lib/ldb/include/ldb_module.h
+++ b/source4/lib/ldb/include/ldb_module.h
@@ -127,6 +127,7 @@ int ldb_next_request(struct ldb_module *module, struct ldb_request *request);
int ldb_next_start_trans(struct ldb_module *module);
int ldb_next_end_trans(struct ldb_module *module);
int ldb_next_del_trans(struct ldb_module *module);
+int ldb_next_prepare_commit(struct ldb_module *module);
int ldb_next_init(struct ldb_module *module);
void ldb_set_errstring(struct ldb_context *ldb, const char *err_string);