Send feedback
Enum TransactionOptions.ReadWrite.ReadLockMode (6.99.0)
Stay organized with collections
Save and categorize content based on your preferences.
Version latestkeyboard_arrow_down
public enum TransactionOptions . ReadWrite . ReadLockMode extends Enum<TransactionOptions . ReadWrite . ReadLockMode > implements ProtocolMessageEnum
ReadLockMode
is used to set the read lock mode for read-write
transactions.
Protobuf enum google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode
Static Fields
Name
Description
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.
OPTIMISTIC = 2;
OPTIMISTIC_VALUE
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.
OPTIMISTIC = 2;
PESSIMISTIC
Pessimistic lock mode.
Read locks are acquired immediately on read.
Semantics described only applies to
SERIALIZABLE
isolation.
PESSIMISTIC = 1;
PESSIMISTIC_VALUE
Pessimistic lock mode.
Read locks are acquired immediately on read.
Semantics described only applies to
SERIALIZABLE
isolation.
PESSIMISTIC = 1;
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:
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
At all other isolation levels, if read_lock_mode
is the default
value, then pessimistic read locks are used.
READ_LOCK_MODE_UNSPECIFIED = 0;
READ_LOCK_MODE_UNSPECIFIED_VALUE
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:
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
At all other isolation levels, if read_lock_mode
is the default
value, then pessimistic read locks are used.
READ_LOCK_MODE_UNSPECIFIED = 0;
UNRECOGNIZED
Static Methods
Name
Description
forNumber(int value)
getDescriptor()
internalGetValueMap()
valueOf(Descriptors.EnumValueDescriptor desc)
valueOf(int value)
Deprecated. Use #forNumber(int) instead.
valueOf(String name)
values()
Methods
Name
Description
getDescriptorForType()
getNumber()
getValueDescriptor()
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-09-04 UTC.
Need to tell us more?
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Enum TransactionOptions.ReadWrite.ReadLockMode (6.98.1)\n\nVersion latestkeyboard_arrow_down\n\n- [6.98.1 (latest)](/java/docs/reference/google-cloud-spanner/latest/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.98.0](/java/docs/reference/google-cloud-spanner/6.98.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.97.1](/java/docs/reference/google-cloud-spanner/6.97.1/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.96.1](/java/docs/reference/google-cloud-spanner/6.96.1/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.95.1](/java/docs/reference/google-cloud-spanner/6.95.1/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.94.0](/java/docs/reference/google-cloud-spanner/6.94.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.93.0](/java/docs/reference/google-cloud-spanner/6.93.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.89.0](/java/docs/reference/google-cloud-spanner/6.89.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.88.0](/java/docs/reference/google-cloud-spanner/6.88.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.87.0](/java/docs/reference/google-cloud-spanner/6.87.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.86.0](/java/docs/reference/google-cloud-spanner/6.86.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.85.0](/java/docs/reference/google-cloud-spanner/6.85.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.83.0](/java/docs/reference/google-cloud-spanner/6.83.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.82.0](/java/docs/reference/google-cloud-spanner/6.82.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.80.1](/java/docs/reference/google-cloud-spanner/6.80.1/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.79.0](/java/docs/reference/google-cloud-spanner/6.79.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.77.0](/java/docs/reference/google-cloud-spanner/6.77.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.74.1](/java/docs/reference/google-cloud-spanner/6.74.1/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.72.0](/java/docs/reference/google-cloud-spanner/6.72.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.71.0](/java/docs/reference/google-cloud-spanner/6.71.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.69.0](/java/docs/reference/google-cloud-spanner/6.69.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.68.0](/java/docs/reference/google-cloud-spanner/6.68.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.66.0](/java/docs/reference/google-cloud-spanner/6.66.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.65.1](/java/docs/reference/google-cloud-spanner/6.65.1/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.62.0](/java/docs/reference/google-cloud-spanner/6.62.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.60.0](/java/docs/reference/google-cloud-spanner/6.60.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.58.0](/java/docs/reference/google-cloud-spanner/6.58.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.57.0](/java/docs/reference/google-cloud-spanner/6.57.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.56.0](/java/docs/reference/google-cloud-spanner/6.56.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.55.0](/java/docs/reference/google-cloud-spanner/6.55.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.54.0](/java/docs/reference/google-cloud-spanner/6.54.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.53.0](/java/docs/reference/google-cloud-spanner/6.53.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.52.1](/java/docs/reference/google-cloud-spanner/6.52.1/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.51.0](/java/docs/reference/google-cloud-spanner/6.51.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.50.1](/java/docs/reference/google-cloud-spanner/6.50.1/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.49.0](/java/docs/reference/google-cloud-spanner/6.49.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.25.1](/java/docs/reference/google-cloud-spanner/6.25.1/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.24.0](/java/docs/reference/google-cloud-spanner/6.24.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.23.4](/java/docs/reference/google-cloud-spanner/6.23.4/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.22.0](/java/docs/reference/google-cloud-spanner/6.22.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.21.2](/java/docs/reference/google-cloud-spanner/6.21.2/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.20.0](/java/docs/reference/google-cloud-spanner/6.20.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.19.1](/java/docs/reference/google-cloud-spanner/6.19.1/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.18.0](/java/docs/reference/google-cloud-spanner/6.18.0/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.17.4](/java/docs/reference/google-cloud-spanner/6.17.4/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode)\n- [6.14.1](/java/docs/reference/google-cloud-spanner/6.14.1/com.google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode) \n\n public enum TransactionOptions.ReadWrite.ReadLockMode extends Enum\u003cTransactionOptions.ReadWrite.ReadLockMode\u003e implements ProtocolMessageEnum\n\n`ReadLockMode` is used to set the read lock mode for read-write\ntransactions.\n\nProtobuf enum `google.spanner.v1.TransactionOptions.ReadWrite.ReadLockMode` \n\nImplements\n----------\n\n[ProtocolMessageEnum](https://cloud.google.com/java/docs/reference/protobuf/latest/com.google.protobuf.ProtocolMessageEnum.html) \n\nInherited Members\n-----------------\n\n[Enum.\\\u003cT\\\u003evalueOf(Class\\\u003cT\\\u003e,String)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#valueOf-java.lang.Class-java.lang.String-) \n[Enum.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#clone--) \n[Enum.compareTo(E)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#compareTo-E-) \n[Enum.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#equals-java.lang.Object-) \n[Enum.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#finalize--) \n[Enum.getDeclaringClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#getDeclaringClass--) \n[Enum.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#hashCode--) \n[Enum.name()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#name--) \n[Enum.ordinal()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#ordinal--) \n[Enum.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html#toString--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)"]]