Cloud Spanner V1 API - Module Google::Cloud::Spanner::V1::TransactionOptions::ReadWrite::ReadLockMode (v1.7.0)

Reference documentation and code samples for the Cloud Spanner V1 API module Google::Cloud::Spanner::V1::TransactionOptions::ReadWrite::ReadLockMode.

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

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.

PESSIMISTIC

value: 1
Pessimistic lock mode.

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

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.