readLockMode property
Read lock mode for the transaction. Possible string values are:
- "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 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: 1. reads done as part of queries that useSELECT FOR UPDATE
2. reads done as part of statements with aLOCK_SCANNED_RANGES
hint 3. reads done as part of DML statements * At all other isolation levels, ifread_lock_mode
is the default value, then pessimistic read locks are used. - "PESSIMISTIC" : Pessimistic lock mode. Read locks are acquired immediately on read. Semantics described only applies to SERIALIZABLE isolation.
- "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.
Implementation
core.String? readLockMode;