Class IsolationLevel (3.53.0)

IsolationLevel(value)

IsolationLevel is used when setting isolation_level for a transaction.

    If the value is not specified, the `SERIALIZABLE`
    isolation level is used.
SERIALIZABLE (1):
    All transactions appear as if they executed
    in a serial order, even if some of the reads,
    writes, and other operations of distinct
    transactions actually occurred in parallel.
    Spanner assigns commit timestamps that reflect
    the order of committed transactions to implement
    this property. Spanner offers a stronger
    guarantee than serializability called external
    consistency. For further details, please refer
    to
    https://cloud.google.com/spanner/docs/true-time-external-consistency#serializability.
REPEATABLE_READ (2):
    All reads performed during the transaction observe a
    consistent snapshot of the database, and the transaction
    will only successfully commit in the absence of conflicts
    between its updates and any concurrent updates that have
    occurred since that snapshot. Consequently, in contrast to
    `SERIALIZABLE` transactions, only write-write conflicts
    are detected in snapshot transactions.

    This isolation level does not support Read-only and
    Partitioned DML transactions.

    When `REPEATABLE_READ` is specified on a read-write
    transaction, the locking semantics default to
    `OPTIMISTIC`.

Enum

Name Description
ISOLATION_LEVEL_UNSPECIFIED Default value.