Class IsolationLevel (3.58.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 more information, see
    `TrueTime and external
    consistency <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 is
    only successfully committed 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.