Enum TransactionOptions.ReadWrite.ReadLockMode (6.88.0)

public enum TransactionOptions.ReadWrite.ReadLockMode extends Enum<TransactionOptions.ReadWrite.ReadLockMode> implements ProtocolMessageEnum

ReadLockMode is used to set the read lock mode for read-write transactions.

Protobuf enum google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode

Implements

ProtocolMessageEnum

Static Fields

Name Description
OPTIMISTIC

Optimistic lock mode.

Locks for reads within the transaction are not acquired on read. Instead the locks are acquired on a commit to validate that read/queried data has not changed since the transaction started. Semantics described only applies to SERIALIZABLE isolation.

OPTIMISTIC = 2;

OPTIMISTIC_VALUE

Optimistic lock mode.

Locks for reads within the transaction are not acquired on read. Instead the locks are acquired on a commit to validate that read/queried data has not changed since the transaction started. Semantics described only applies to SERIALIZABLE isolation.

OPTIMISTIC = 2;

PESSIMISTIC

Pessimistic lock mode.

Read locks are acquired immediately on read. Semantics described only applies to SERIALIZABLE isolation.

PESSIMISTIC = 1;

PESSIMISTIC_VALUE

Pessimistic lock mode.

Read locks are acquired immediately on read. Semantics described only applies to SERIALIZABLE isolation.

PESSIMISTIC = 1;

READ_LOCK_MODE_UNSPECIFIED

Default value.

  • If isolation level is REPEATABLE_READ, then it is an error to specify read_lock_mode. Locking semantics default to OPTIMISTIC. No validation checks are done for reads, except for:
    1. reads done as part of queries that use SELECT FOR UPDATE
    2. reads done as part of statements with a LOCK_SCANNED_RANGES hint
    3. reads done as part of DML statements to validate that the data that was served at the snapshot time is unchanged at commit time.
  • At all other isolation levels, if read_lock_mode is the default value, then pessimistic read lock is used.

READ_LOCK_MODE_UNSPECIFIED = 0;

READ_LOCK_MODE_UNSPECIFIED_VALUE

Default value.

  • If isolation level is REPEATABLE_READ, then it is an error to specify read_lock_mode. Locking semantics default to OPTIMISTIC. No validation checks are done for reads, except for:
    1. reads done as part of queries that use SELECT FOR UPDATE
    2. reads done as part of statements with a LOCK_SCANNED_RANGES hint
    3. reads done as part of DML statements to validate that the data that was served at the snapshot time is unchanged at commit time.
  • At all other isolation levels, if read_lock_mode is the default value, then pessimistic read lock is used.

READ_LOCK_MODE_UNSPECIFIED = 0;

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()