Class ReadLockMode (3.56.0)

ReadLockMode(value)

ReadLockMode is used to set the read lock mode for read-write transactions.

    -  If isolation level is
       `REPEATABLE_READ][google.spanner.v1.TransactionOptions.IsolationLevel.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 (1):
    Pessimistic lock mode.

    Read locks are acquired immediately on read. Semantics
    described only applies to
    `SERIALIZABLE][google.spanner.v1.TransactionOptions.IsolationLevel.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][google.spanner.v1.TransactionOptions.IsolationLevel.SERIALIZABLE]`
    isolation.

Enum

Name Description
READ_LOCK_MODE_UNSPECIFIED Default value.