Print error strings when transactions fail in ldb tools
[kai/samba.git] / source4 / lib / ldb / tools / ldbmodify.c
index dd6206b8241aa87c86183e057b616005dffac56f..0288e4e6885bb197155d37bbbbc32bef16df4f10 100644 (file)
@@ -89,7 +89,12 @@ int main(int argc, const char **argv)
        int i, ret=LDB_SUCCESS;
        struct ldb_cmdline *options;
 
-       ldb = ldb_init(NULL);
+       ldb = ldb_init(NULL, NULL);
+
+       if (ldb_transaction_start(ldb) != 0) {
+               printf("Failed to start transaction: %s\n", ldb_errstring(ldb));
+               exit(1);
+       }
 
        options = ldb_cmdline_process(ldb, argc, argv, usage);
 
@@ -108,6 +113,11 @@ int main(int argc, const char **argv)
                }
        }
 
+       if (count != 0 && ldb_transaction_commit(ldb) != 0) {
+               printf("Failed to commit transaction: %s\n", ldb_errstring(ldb));
+               exit(1);
+       }
+
        talloc_free(ldb);
 
        printf("Modified %d records with %d failures\n", count, failures);