+ rollbackTransaction,
+ startSerializableTransaction,
+ transactionRetryer
+}
+
+function commitTransaction (t, callback) {
+ return t.commit().asCallback(callback)
+}
+
+function rollbackTransaction (err, t, callback) {
+ // Try to rollback transaction
+ if (t) {
+ // Do not catch err, report the original one
+ t.rollback().asCallback(function () {
+ return callback(err)
+ })
+ } else {
+ return callback(err)
+ }