summaryrefslogtreecommitdiff
path: root/source4/dsdb
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2005-09-24 15:42:15 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:38:52 -0500
commit63b43dd12fb579aaaccedd07aaa630cb1cd7aa88 (patch)
treed54cc9e41c4410c2a2e42f7479ff52a1fa0c156b /source4/dsdb
parent70b52b02a77c695d32aa57daaeb5689cd6857eba (diff)
downloadsamba-63b43dd12fb579aaaccedd07aaa630cb1cd7aa88.tar.gz
samba-63b43dd12fb579aaaccedd07aaa630cb1cd7aa88.tar.bz2
samba-63b43dd12fb579aaaccedd07aaa630cb1cd7aa88.zip
r10477: expose transactions outside ldb and change the API once more
do not autostart transactions on ldb operations if a transaction is already in place test transactions on winsdb all my tests passes so far tridge please confirm this is ok for you (This used to be commit c2bb2a36bdbe0ec7519697a9a9ba7526a0defac2)
Diffstat (limited to 'source4/dsdb')
-rw-r--r--source4/dsdb/samdb/ldb_modules/objectguid.c13
-rw-r--r--source4/dsdb/samdb/ldb_modules/samldb.c13
2 files changed, 20 insertions, 6 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/objectguid.c b/source4/dsdb/samdb/ldb_modules/objectguid.c
index 2a27398fbc..bdef4d5147 100644
--- a/source4/dsdb/samdb/ldb_modules/objectguid.c
+++ b/source4/dsdb/samdb/ldb_modules/objectguid.c
@@ -145,10 +145,16 @@ static int objectguid_start_trans(struct ldb_module *module)
return ldb_next_start_trans(module);
}
-static int objectguid_end_trans(struct ldb_module *module, int status)
+static int objectguid_end_trans(struct ldb_module *module)
{
ldb_debug(module->ldb, LDB_DEBUG_TRACE, "objectguid_end_trans\n");
- return ldb_next_end_trans(module, status);
+ return ldb_next_end_trans(module);
+}
+
+static int objectguid_del_trans(struct ldb_module *module)
+{
+ ldb_debug(module->ldb, LDB_DEBUG_TRACE, "objectguid_del_trans\n");
+ return ldb_next_del_trans(module);
}
static int objectguid_destructor(void *module_ctx)
@@ -167,7 +173,8 @@ static const struct ldb_module_ops objectguid_ops = {
.delete_record = objectguid_delete_record,
.rename_record = objectguid_rename_record,
.start_transaction = objectguid_start_trans,
- .end_transaction = objectguid_end_trans
+ .end_transaction = objectguid_end_trans,
+ .del_transaction = objectguid_del_trans
};
diff --git a/source4/dsdb/samdb/ldb_modules/samldb.c b/source4/dsdb/samdb/ldb_modules/samldb.c
index 18c7b27be3..28e56fe0ca 100644
--- a/source4/dsdb/samdb/ldb_modules/samldb.c
+++ b/source4/dsdb/samdb/ldb_modules/samldb.c
@@ -581,10 +581,16 @@ static int samldb_start_trans(struct ldb_module *module)
return ldb_next_start_trans(module);
}
-static int samldb_end_trans(struct ldb_module *module, int status)
+static int samldb_end_trans(struct ldb_module *module)
{
ldb_debug(module->ldb, LDB_DEBUG_TRACE, "samldb_end_trans\n");
- return ldb_next_end_trans(module, status);
+ return ldb_next_end_trans(module);
+}
+
+static int samldb_del_trans(struct ldb_module *module)
+{
+ ldb_debug(module->ldb, LDB_DEBUG_TRACE, "samldb_del_trans\n");
+ return ldb_next_del_trans(module);
}
static int samldb_destructor(void *module_ctx)
@@ -603,7 +609,8 @@ static const struct ldb_module_ops samldb_ops = {
.delete_record = samldb_delete_record,
.rename_record = samldb_rename_record,
.start_transaction = samldb_start_trans,
- .end_transaction = samldb_end_trans
+ .end_transaction = samldb_end_trans,
+ .del_transaction = samldb_del_trans
};