readLockMode property

String? readLockMode
getter/setter pair

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 to OPTIMISTIC. 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 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 * At all other isolation levels, if read_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;