Reference documentation and code samples for the Cloud Spanner V1 Client class ReadLockMode.
ReadLockMode
is used to set the read lock mode for read-write
transactions.
Protobuf type google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode
Namespace
Google \ Cloud \ Spanner \ V1 \ TransactionOptions \ ReadWriteMethods
static::name
Parameter | |
---|---|
Name | Description |
value |
mixed
|
static::value
Parameter | |
---|---|
Name | Description |
name |
mixed
|
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.
Generated from protobuf enum READ_LOCK_MODE_UNSPECIFIED = 0;
PESSIMISTIC
Value: 1
Pessimistic lock mode.
Read locks are acquired immediately on read.
Semantics described only applies to SERIALIZABLE
isolation.
Generated from protobuf enum PESSIMISTIC = 1;
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.
Generated from protobuf enum OPTIMISTIC = 2;