isolationLevel property
Isolation level for the transaction. Possible string values are:
- "ISOLATION_LEVEL_UNSPECIFIED" : Default value. If the value is not
specified, the
SERIALIZABLE
isolation level is used. - "SERIALIZABLE" : 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" : 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. WhenREPEATABLE_READ
is specified on a read-write transaction, the locking semantics default toOPTIMISTIC
.
Implementation
core.String? isolationLevel;