beginTransaction method

Future<int> beginTransaction(
  1. int connectionId,
  2. int isolationLevel, {
  3. int savepointDialect = 0,
  4. int accessMode = 0,
  5. int lockTimeoutMs = 0,
})

Starts a transaction in the worker for connectionId with isolationLevel. Returns the transaction ID on success.

savepointDialect is the wire code from SavepointDialect.code (default 0 = auto, resolved by the Rust engine via SQLGetInfo). accessMode is the wire code from TransactionAccessMode.code (default 0 = readWrite). Sprint 4.1. lockTimeoutMs is the per-transaction lock timeout in milliseconds (default 0 = engine default). Sprint 4.2.

Implementation

Future<int> beginTransaction(
  int connectionId,
  int isolationLevel, {
  int savepointDialect = 0,
  int accessMode = 0,
  int lockTimeoutMs = 0,
}) async {
  final r = await _sendRequest<IntResponse>(
    BeginTransactionRequest(
      _nextRequestId(),
      connectionId,
      isolationLevel,
      savepointDialect: savepointDialect,
      accessMode: accessMode,
      lockTimeoutMs: lockTimeoutMs,
    ),
  );
  return r.value;
}