transaction method

Future transaction(
  1. Function queryBlock
)

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');
}