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 toOPTIMISTIC
. 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:- reads done as part of queries that use
SELECT FOR UPDATE
- reads done as part of statements with a
LOCK_SCANNED_RANGES
hint - reads done as part of DML statements
- reads done as part of queries that use
- 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.