dbwrap: dbwrap_transaction_start_nonblock().
[ddiss/samba.git] / lib / dbwrap / dbwrap.c
index 835bd599efcd2e12724ad06cebf281ebd5589bcf..afb069221e689da354c48b3ae800248a9ae717cb 100644 (file)
@@ -425,6 +425,16 @@ int dbwrap_transaction_start(struct db_context *db)
        return db->transaction_start(db);
 }
 
+NTSTATUS dbwrap_transaction_start_nonblock(struct db_context *db)
+{
+       if (db->transaction_start_nonblock) {
+               return db->transaction_start_nonblock(db);
+       } else {
+               return dbwrap_transaction_start(db) == 0 ? NT_STATUS_OK
+                       : NT_STATUS_UNSUCCESSFUL;
+       }
+}
+
 int dbwrap_transaction_commit(struct db_context *db)
 {
        return db->transaction_commit(db);