- 3.53.0 (latest)
- 3.52.0
- 3.51.0
- 3.50.1
- 3.46.0
- 3.45.0
- 3.44.0
- 3.43.0
- 3.42.0
- 3.41.0
- 3.40.1
- 3.39.0
- 3.38.0
- 3.37.0
- 3.36.0
- 3.35.1
- 3.34.0
- 3.33.0
- 3.32.0
- 3.31.0
- 3.30.0
- 3.29.0
- 3.28.0
- 3.27.1
- 3.26.0
- 3.25.0
- 3.24.0
- 3.23.0
- 3.22.2
- 3.21.0
- 3.20.0
- 3.19.0
- 3.18.0
- 3.17.0
- 3.16.0
- 3.15.1
- 3.14.1
- 3.13.0
- 3.12.1
- 3.11.1
- 3.10.0
- 3.9.0
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.0
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.0
- 2.1.1
- 2.0.0
- 1.19.3
- 1.18.0
- 1.17.1
- 1.16.0
- 1.15.1
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
ReadLockMode(value)
ReadLockMode
is used to set the read lock mode for read-write
transactions.
- 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 for:
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 to validate that
the data that was served at the snapshot time is
unchanged at commit time.
- At all other isolation levels, if `read_lock_mode` is
the default value, then pessimistic read lock is used.
PESSIMISTIC (1):
Pessimistic lock mode.
Read locks are acquired immediately on read. Semantics
described only applies to `SERIALIZABLE` isolation.
OPTIMISTIC (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.
Enum |
|
---|---|
Name | Description |
READ_LOCK_MODE_UNSPECIFIED |
Default value. |