Class TransactionOptions (3.56.0)

TransactionOptions(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Options to use for transactions.

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.

.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields

Attributes

Name Description
read_write google.cloud.spanner_v1.types.TransactionOptions.ReadWrite
Transaction may write. Authorization to begin a read-write transaction requires spanner.databases.beginOrRollbackReadWriteTransaction permission on the session resource. This field is a member of oneof_ mode.
partitioned_dml google.cloud.spanner_v1.types.TransactionOptions.PartitionedDml
Partitioned DML transaction. Authorization to begin a Partitioned DML transaction requires spanner.databases.beginPartitionedDmlTransaction permission on the session resource. This field is a member of oneof_ mode.
read_only google.cloud.spanner_v1.types.TransactionOptions.ReadOnly
Transaction does not write. Authorization to begin a read-only transaction requires spanner.databases.beginReadOnlyTransaction permission on the session resource. This field is a member of oneof_ mode.
exclude_txn_from_change_streams bool
When exclude_txn_from_change_streams is set to true, it prevents read or write transactions from being tracked in change streams. - If the DDL option allow_txn_exclusion is set to true, then the updates made within this transaction aren't recorded in the change stream. - If you don't set the DDL option allow_txn_exclusion or if it's set to false, then the updates made within this transaction are recorded in the change stream. When exclude_txn_from_change_streams is set to false or not set, modifications from this transaction are recorded in all change streams that are tracking columns modified by these transactions. The exclude_txn_from_change_streams option can only be specified for read-write or partitioned DML transactions, otherwise the API returns an INVALID_ARGUMENT error.
isolation_level google.cloud.spanner_v1.types.TransactionOptions.IsolationLevel
Isolation level for the transaction.

Classes

IsolationLevel

IsolationLevel(value)

IsolationLevel is used when setting isolation_level for a transaction.

    If the value is not specified, the `SERIALIZABLE`
    isolation level is used.
SERIALIZABLE (1):
    All transactions appear as if they executed
    in a serial order, even if some of the reads,
    writes, and other operations of distinct
    transactions actually occurred in parallel.
    Spanner assigns commit timestamps that reflect
    the order of committed transactions to implement
    this property. Spanner offers a stronger
    guarantee than serializability called external
    consistency. For further details, please refer
    to
    https://cloud.google.com/spanner/docs/true-time-external-consistency#serializability.
REPEATABLE_READ (2):
    All reads performed during the transaction observe a
    consistent snapshot of the database, and the transaction is
    only successfully committed in the absence of conflicts
    between its updates and any concurrent updates that have
    occurred since that snapshot. Consequently, in contrast to
    `SERIALIZABLE` transactions, only write-write conflicts
    are detected in snapshot transactions.

    This isolation level does not support Read-only and
    Partitioned DML transactions.

    When `REPEATABLE_READ` is specified on a read-write
    transaction, the locking semantics default to
    `OPTIMISTIC`.

PartitionedDml

PartitionedDml(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Message type to initiate a Partitioned DML transaction.

ReadOnly

ReadOnly(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Message type to initiate a read-only transaction.

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.

.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields

ReadWrite

ReadWrite(mapping=None, *, ignore_unknown_fields=False, **kwargs)

Message type to initiate a read-write transaction. Currently this transaction type has no options.