Cloud Spanner V1 Client - Class ReadLockMode (1.95.0)

Reference documentation and code samples for the Cloud Spanner V1 Client class ReadLockMode.

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

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

Namespace

Google \ Cloud \ Spanner \ V1 \ TransactionOptions \ ReadWrite

Methods

static::name

Parameter
Name Description
value mixed

static::value

Parameter
Name Description
name mixed

Constants

READ_LOCK_MODE_UNSPECIFIED

Value: 0

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.

Generated from protobuf enum READ_LOCK_MODE_UNSPECIFIED = 0;

PESSIMISTIC

Value: 1

Pessimistic lock mode.

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

Generated from protobuf enum PESSIMISTIC = 1;

OPTIMISTIC

Value: 2

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.

Generated from protobuf enum OPTIMISTIC = 2;