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_RANGEShint - reads done as part of DML statements
- reads done as part of queries that use
- At all other isolation levels, if
read_lock_modeis 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.