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 specifyread_lock_mode
. Locking semantics default toOPTIMISTIC
. No validation checks are done for reads, except for:- 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 to validate that the data that was served at the snapshot time is unchanged at commit time.
- reads done as part of queries that use
- 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.