Cloud Spanner V1 API - Module Google::Cloud::Spanner::V1::TransactionOptions::ReadWrite::ReadLockMode (v1.10.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 to validate that the data that was served at the snapshot time is unchanged at commit time in the following cases:
    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
  • At all other isolation levels, if read_lock_mode is the default value, then pessimistic read locks are 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.