This message has oneof_ fields (mutually exclusive fields).
For each oneof, at most one member field can be set at the same time.
Setting any member of the oneof automatically clears all other
members.
bool
Read at a timestamp where all previously
committed transactions are visible.
This field is a member of oneof_ timestamp_bound.
min_read_timestamp
google.protobuf.timestamp_pb2.Timestamp
Executes all reads at a timestamp >= min_read_timestamp.
This is useful for requesting fresher data than some
previous read, or data that is fresh enough to observe the
effects of some previously committed transaction whose
timestamp is known.
Note that this option can only be used in single-use
transactions.
A timestamp in RFC3339 UTC "Zulu" format, accurate to
nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
This field is a member of oneof_ timestamp_bound.
max_staleness
google.protobuf.duration_pb2.Duration
Read data at a timestamp >= NOW - max_staleness seconds.
Guarantees that all writes that have committed more than the
specified number of seconds ago are visible. Because Cloud
Spanner chooses the exact timestamp, this mode works even if
the client's local clock is substantially skewed from Cloud
Spanner commit timestamps.
Useful for reading the freshest data available at a nearby
replica, while bounding the possible staleness if the local
replica has fallen behind.
Note that this option can only be used in single-use
transactions.
This field is a member of oneof_ timestamp_bound.
read_timestamp
google.protobuf.timestamp_pb2.Timestamp
Executes all reads at the given timestamp. Unlike other
modes, reads at a specific timestamp are repeatable; the
same read at the same timestamp always returns the same
data. If the timestamp is in the future, the read is blocked
until the specified timestamp, modulo the read's deadline.
Useful for large scale consistent reads such as mapreduces,
or for coordinating many reads against a consistent snapshot
of the data.
A timestamp in RFC3339 UTC "Zulu" format, accurate to
nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
This field is a member of oneof_ timestamp_bound.
exact_staleness
google.protobuf.duration_pb2.Duration
Executes all reads at a timestamp that is
exact_staleness old. The timestamp is chosen soon after
the read is started.
Guarantees that all writes that have committed more than the
specified number of seconds ago are visible. Because Cloud
Spanner chooses the exact timestamp, this mode works even if
the client's local clock is substantially skewed from Cloud
Spanner commit timestamps.
Useful for reading at nearby replicas without the
distributed timestamp negotiation overhead of
max_staleness.
This field is a member of oneof_ timestamp_bound.
return_read_timestamp
bool
If true, the Cloud Spanner-selected read timestamp is
included in the Transaction][google.spanner.v1.Transaction]
message that describes the transaction.
[[["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,["# Class ReadOnly (3.57.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.57.0 (latest)](/python/docs/reference/spanner/latest/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.56.0](/python/docs/reference/spanner/3.56.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.55.0](/python/docs/reference/spanner/3.55.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.54.0](/python/docs/reference/spanner/3.54.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.53.0](/python/docs/reference/spanner/3.53.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.52.0](/python/docs/reference/spanner/3.52.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.51.0](/python/docs/reference/spanner/3.51.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.50.1](/python/docs/reference/spanner/3.50.1/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.46.0](/python/docs/reference/spanner/3.46.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.45.0](/python/docs/reference/spanner/3.45.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.44.0](/python/docs/reference/spanner/3.44.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.43.0](/python/docs/reference/spanner/3.43.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.42.0](/python/docs/reference/spanner/3.42.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.41.0](/python/docs/reference/spanner/3.41.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.40.1](/python/docs/reference/spanner/3.40.1/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.39.0](/python/docs/reference/spanner/3.39.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.38.0](/python/docs/reference/spanner/3.38.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.37.0](/python/docs/reference/spanner/3.37.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.36.0](/python/docs/reference/spanner/3.36.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.35.1](/python/docs/reference/spanner/3.35.1/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.34.0](/python/docs/reference/spanner/3.34.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.33.0](/python/docs/reference/spanner/3.33.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.32.0](/python/docs/reference/spanner/3.32.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.31.0](/python/docs/reference/spanner/3.31.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.30.0](/python/docs/reference/spanner/3.30.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.29.0](/python/docs/reference/spanner/3.29.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.28.0](/python/docs/reference/spanner/3.28.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.27.1](/python/docs/reference/spanner/3.27.1/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.26.0](/python/docs/reference/spanner/3.26.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.25.0](/python/docs/reference/spanner/3.25.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.24.0](/python/docs/reference/spanner/3.24.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.23.0](/python/docs/reference/spanner/3.23.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.22.2](/python/docs/reference/spanner/3.22.2/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.21.0](/python/docs/reference/spanner/3.21.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.20.0](/python/docs/reference/spanner/3.20.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.19.0](/python/docs/reference/spanner/3.19.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.18.0](/python/docs/reference/spanner/3.18.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.17.0](/python/docs/reference/spanner/3.17.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.16.0](/python/docs/reference/spanner/3.16.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.15.1](/python/docs/reference/spanner/3.15.1/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.14.1](/python/docs/reference/spanner/3.14.1/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.13.0](/python/docs/reference/spanner/3.13.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.12.1](/python/docs/reference/spanner/3.12.1/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.11.1](/python/docs/reference/spanner/3.11.1/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.10.0](/python/docs/reference/spanner/3.10.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.9.0](/python/docs/reference/spanner/3.9.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.8.0](/python/docs/reference/spanner/3.8.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.7.0](/python/docs/reference/spanner/3.7.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.6.0](/python/docs/reference/spanner/3.6.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.5.0](/python/docs/reference/spanner/3.5.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.4.0](/python/docs/reference/spanner/3.4.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.3.0](/python/docs/reference/spanner/3.3.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.2.0](/python/docs/reference/spanner/3.2.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.1.0](/python/docs/reference/spanner/3.1.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [3.0.0](/python/docs/reference/spanner/3.0.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [2.1.1](/python/docs/reference/spanner/2.1.1/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [2.0.0](/python/docs/reference/spanner/2.0.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [1.19.3](/python/docs/reference/spanner/1.19.3/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [1.18.0](/python/docs/reference/spanner/1.18.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [1.17.1](/python/docs/reference/spanner/1.17.1/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [1.16.0](/python/docs/reference/spanner/1.16.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [1.15.1](/python/docs/reference/spanner/1.15.1/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [1.14.0](/python/docs/reference/spanner/1.14.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [1.13.0](/python/docs/reference/spanner/1.13.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [1.12.0](/python/docs/reference/spanner/1.12.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [1.11.0](/python/docs/reference/spanner/1.11.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly)\n- [1.10.0](/python/docs/reference/spanner/1.10.0/google.cloud.spanner_v1.types.TransactionOptions.ReadOnly) \n\n ReadOnly(mapping=None, *, ignore_unknown_fields=False, **kwargs)\n\nMessage type to initiate a read-only transaction.\n\nThis message has `oneof`_ fields (mutually exclusive fields).\nFor each oneof, at most one member field can be set at the same time.\nSetting any member of the oneof automatically clears all other\nmembers.\n\n.. _oneof: \u003chttps://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields\u003e"]]