Enum TransactionOptions.IsolationLevel (6.88.0)

public enum TransactionOptions.IsolationLevel extends Enum<TransactionOptions.IsolationLevel> implements ProtocolMessageEnum

IsolationLevel is used when setting isolation_level for a transaction.

Protobuf enum google.spanner.v1.TransactionOptions.IsolationLevel

Implements

ProtocolMessageEnum

Static Fields

Name Description
ISOLATION_LEVEL_UNSPECIFIED

Default value.

If the value is not specified, the SERIALIZABLE isolation level is used.

ISOLATION_LEVEL_UNSPECIFIED = 0;

ISOLATION_LEVEL_UNSPECIFIED_VALUE

Default value.

If the value is not specified, the SERIALIZABLE isolation level is used.

ISOLATION_LEVEL_UNSPECIFIED = 0;

REPEATABLE_READ

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.

REPEATABLE_READ = 2;

REPEATABLE_READ_VALUE

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.

REPEATABLE_READ = 2;

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.

SERIALIZABLE = 1;

SERIALIZABLE_VALUE

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.

SERIALIZABLE = 1;

UNRECOGNIZED

Static Methods

Name Description
forNumber(int value)
getDescriptor()
internalGetValueMap()
valueOf(Descriptors.EnumValueDescriptor desc)
valueOf(int value)

Deprecated. Use #forNumber(int) instead.

valueOf(String name)
values()

Methods

Name Description
getDescriptorForType()
getNumber()
getValueDescriptor()