diff options
author | Simo Sorce <idra@samba.org> | 2005-09-24 15:42:15 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:38:52 -0500 |
commit | 63b43dd12fb579aaaccedd07aaa630cb1cd7aa88 (patch) | |
tree | d54cc9e41c4410c2a2e42f7479ff52a1fa0c156b /source4/dsdb/samdb | |
parent | 70b52b02a77c695d32aa57daaeb5689cd6857eba (diff) | |
download | samba-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/samdb')
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/objectguid.c | 13 | ||||
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/samldb.c | 13 |
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 }; |