beginTransaction method

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

Begins a new transaction with the specified isolation level.

The connectionId must be a valid active connection. The isolationLevel should be a numeric value (0-3) corresponding to isolation level enum values (0=ReadUncommitted, 1=ReadCommitted, 2=RepeatableRead, 3=Serializable). The savepointDialect is the wire code from SavepointDialect.code (default 0 = auto, resolved by the Rust engine via SQLGetInfo). The accessMode is the wire code from TransactionAccessMode.code (default 0 = readWrite). Sprint 4.1. The lockTimeoutMs is the per-transaction lock timeout in milliseconds (default 0 = engine default). Sprint 4.2.

Returns a transaction ID on success, 0 on failure.

Implementation

int beginTransaction(
  int connectionId,
  int isolationLevel, {
  int savepointDialect = 0,
  int accessMode = 0,
  int lockTimeoutMs = 0,
}) =>
    _native.transactionBegin(
      connectionId,
      isolationLevel,
      savepointDialect: savepointDialect,
      accessMode: accessMode,
      lockTimeoutMs: lockTimeoutMs,
    );