transaction method
Implementation
Future transaction(Function queryBlock) async {
await query('start transaction');
try {
await queryBlock(TransactionContext._(this));
} catch (e) {
await query('rollback');
if (e is! _RollbackError) {
rethrow;
}
return e;
}
await query('commit');
}