use transactions in ldbadd, ldbmodify and ldbedit
[kai/samba.git] / source4 / lib / ldb / tools / ldbmodify.c
index 6e355a10cf5e11af091d5544eb23e5a789c0f25d..8b6309e016af2ee5b85869e7c7a0f5e519d2f6b3 100644 (file)
@@ -91,6 +91,11 @@ int main(int argc, const char **argv)
 
        ldb = ldb_init(NULL, NULL);
 
+       if (ldb_transaction_start(ldb) != 0) {
+               printf("Failed to start transaction\n");
+               exit(1);
+       }
+
        options = ldb_cmdline_process(ldb, argc, argv, usage);
 
        if (options->argc == 0) {
@@ -108,6 +113,11 @@ int main(int argc, const char **argv)
                }
        }
 
+       if (count != 0 && ldb_transaction_commit(ldb) != 0) {
+               printf("Failed to commit transaction\n");
+               exit(1);
+       }
+
        talloc_free(ldb);
 
        printf("Modified %d records with %d failures\n", count, failures);