Module: Google::Cloud::Spanner::V1::TransactionOptions::ReadWrite::ReadLockMode

Defined in:
proto_docs/google/spanner/v1/transaction.rb

Overview

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

Constant Summary collapse

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.
0
PESSIMISTIC =

Pessimistic lock mode.

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

1
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.

2