runInTransaction<T extends Object> method

Future<Result<T>> runInTransaction<T extends Object>(
  1. String connectionId,
  2. Future<Result<T>> action(
    1. int txnId
    ), {
  3. IsolationLevel? isolationLevel,
  4. SavepointDialect? savepointDialect,
  5. TransactionAccessMode? accessMode,
  6. Duration? lockTimeout,
})

Runs action inside a freshly opened transaction with automatic commit-on-success / rollback-on-failure semantics.

Implementation

Future<Result<T>> runInTransaction<T extends Object>(
  String connectionId,
  Future<Result<T>> Function(int txnId) action, {
  IsolationLevel? isolationLevel,
  SavepointDialect? savepointDialect,
  TransactionAccessMode? accessMode,
  Duration? lockTimeout,
}) =>
    OdbcErrorBoundary.run(
      'runInTransaction',
      () => OdbcTransactionService(this).runInTransaction(
        connectionId,
        action,
        isolationLevel: isolationLevel,
        savepointDialect: savepointDialect,
        accessMode: accessMode,
        lockTimeout: lockTimeout,
      ),
    );