Transaction may write. Authorization to begin a read-write transaction requiresspanner.databases.beginOrRollbackReadWriteTransactionpermission on thesessionresource.
Partitioned DML transaction. Authorization to begin a Partitioned DML transaction requiresspanner.databases.beginPartitionedDmlTransactionpermission on thesessionresource.
Transaction does not write. Authorization to begin a read-only transaction requiresspanner.databases.beginReadOnlyTransactionpermission on thesessionresource.
↳ exclude_txn_from_change_streams
bool
Whenexclude_txn_from_change_streamsis set totrue, it prevents read or write transactions from being tracked in change streams. * * If the DDL optionallow_txn_exclusionis set totrue, then the updates made within this transaction aren't recorded in the change stream. * * If you don't set the DDL optionallow_txn_exclusionor if it's set tofalse, then the updates made within this transaction are recorded in the change stream. Whenexclude_txn_from_change_streamsis set tofalseor not set, modifications from this transaction are recorded in all change streams that are tracking columns modified by these transactions. Theexclude_txn_from_change_streamsoption can only be specified for read-write or partitioned DML transactions, otherwise the API returns anINVALID_ARGUMENTerror.
↳ isolation_level
int
Isolation level for the transaction.
getReadWrite
Transaction may write.
Authorization to begin a read-write transaction requiresspanner.databases.beginOrRollbackReadWriteTransactionpermission
on thesessionresource.
Whenexclude_txn_from_change_streamsis set totrue, it prevents read
or write transactions from being tracked in change streams.
If the DDL optionallow_txn_exclusionis set totrue, then the
updates
made within this transaction aren't recorded in the change stream.
If you don't set the DDL optionallow_txn_exclusionor if it's
set tofalse, then the updates made within this transaction are
recorded in the change stream.
Whenexclude_txn_from_change_streamsis set tofalseor not set,
modifications from this transaction are recorded in all change streams
that are tracking columns modified by these transactions.
Theexclude_txn_from_change_streamsoption can only be specified
for read-write or partitioned DML transactions, otherwise the API returns
anINVALID_ARGUMENTerror.
Returns
Type
Description
bool
setExcludeTxnFromChangeStreams
Whenexclude_txn_from_change_streamsis set totrue, it prevents read
or write transactions from being tracked in change streams.
If the DDL optionallow_txn_exclusionis set totrue, then the
updates
made within this transaction aren't recorded in the change stream.
If you don't set the DDL optionallow_txn_exclusionor if it's
set tofalse, then the updates made within this transaction are
recorded in the change stream.
Whenexclude_txn_from_change_streamsis set tofalseor not set,
modifications from this transaction are recorded in all change streams
that are tracking columns modified by these transactions.
Theexclude_txn_from_change_streamsoption can only be specified
for read-write or partitioned DML transactions, otherwise the API returns
anINVALID_ARGUMENTerror.
[[["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,["# Cloud Spanner V1 Client - Class TransactionOptions (1.104.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.104.0 (latest)](/php/docs/reference/cloud-spanner/latest/V1.TransactionOptions)\n- [1.103.0](/php/docs/reference/cloud-spanner/1.103.0/V1.TransactionOptions)\n- [1.102.0](/php/docs/reference/cloud-spanner/1.102.0/V1.TransactionOptions)\n- [1.101.0](/php/docs/reference/cloud-spanner/1.101.0/V1.TransactionOptions)\n- [1.100.0](/php/docs/reference/cloud-spanner/1.100.0/V1.TransactionOptions)\n- [1.98.0](/php/docs/reference/cloud-spanner/1.98.0/V1.TransactionOptions)\n- [1.97.0](/php/docs/reference/cloud-spanner/1.97.0/V1.TransactionOptions)\n- [1.96.0](/php/docs/reference/cloud-spanner/1.96.0/V1.TransactionOptions)\n- [1.95.0](/php/docs/reference/cloud-spanner/1.95.0/V1.TransactionOptions)\n- [1.94.0](/php/docs/reference/cloud-spanner/1.94.0/V1.TransactionOptions)\n- [1.93.1](/php/docs/reference/cloud-spanner/1.93.1/V1.TransactionOptions)\n- [1.92.1](/php/docs/reference/cloud-spanner/1.92.1/V1.TransactionOptions)\n- [1.91.0](/php/docs/reference/cloud-spanner/1.91.0/V1.TransactionOptions)\n- [1.90.0](/php/docs/reference/cloud-spanner/1.90.0/V1.TransactionOptions)\n- [1.89.0](/php/docs/reference/cloud-spanner/1.89.0/V1.TransactionOptions)\n- [1.88.0](/php/docs/reference/cloud-spanner/1.88.0/V1.TransactionOptions)\n- [1.87.0](/php/docs/reference/cloud-spanner/1.87.0/V1.TransactionOptions)\n- [1.86.0](/php/docs/reference/cloud-spanner/1.86.0/V1.TransactionOptions)\n- [1.85.0](/php/docs/reference/cloud-spanner/1.85.0/V1.TransactionOptions)\n- [1.84.0](/php/docs/reference/cloud-spanner/1.84.0/V1.TransactionOptions)\n- [1.83.0](/php/docs/reference/cloud-spanner/1.83.0/V1.TransactionOptions)\n- [1.82.0](/php/docs/reference/cloud-spanner/1.82.0/V1.TransactionOptions)\n- [1.81.0](/php/docs/reference/cloud-spanner/1.81.0/V1.TransactionOptions)\n- [1.80.0](/php/docs/reference/cloud-spanner/1.80.0/V1.TransactionOptions)\n- [1.79.0](/php/docs/reference/cloud-spanner/1.79.0/V1.TransactionOptions)\n- [1.78.0](/php/docs/reference/cloud-spanner/1.78.0/V1.TransactionOptions)\n- [1.77.0](/php/docs/reference/cloud-spanner/1.77.0/V1.TransactionOptions)\n- [1.76.1](/php/docs/reference/cloud-spanner/1.76.1/V1.TransactionOptions)\n- [1.68.0](/php/docs/reference/cloud-spanner/1.68.0/V1.TransactionOptions)\n- [1.67.0](/php/docs/reference/cloud-spanner/1.67.0/V1.TransactionOptions)\n- [1.66.0](/php/docs/reference/cloud-spanner/1.66.0/V1.TransactionOptions)\n- [1.65.0](/php/docs/reference/cloud-spanner/1.65.0/V1.TransactionOptions)\n- [1.64.0](/php/docs/reference/cloud-spanner/1.64.0/V1.TransactionOptions)\n- [1.63.2](/php/docs/reference/cloud-spanner/1.63.2/V1.TransactionOptions)\n- [1.62.1](/php/docs/reference/cloud-spanner/1.62.1/V1.TransactionOptions)\n- [1.61.0](/php/docs/reference/cloud-spanner/1.61.0/V1.TransactionOptions)\n- [1.60.0](/php/docs/reference/cloud-spanner/1.60.0/V1.TransactionOptions)\n- [1.59.0](/php/docs/reference/cloud-spanner/1.59.0/V1.TransactionOptions)\n- [1.58.4](/php/docs/reference/cloud-spanner/1.58.4/V1.TransactionOptions)\n- [1.57.0](/php/docs/reference/cloud-spanner/1.57.0/V1.TransactionOptions)\n- [1.56.0](/php/docs/reference/cloud-spanner/1.56.0/V1.TransactionOptions)\n- [1.55.0](/php/docs/reference/cloud-spanner/1.55.0/V1.TransactionOptions)\n- [1.54.2](/php/docs/reference/cloud-spanner/1.54.2/V1.TransactionOptions) \nReference documentation and code samples for the Cloud Spanner V1 Client class TransactionOptions.\n\nOptions to use for transactions.\n\nGenerated from protobuf message `google.spanner.v1.TransactionOptions`\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ Spanner \\\\ V1\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getReadWrite\n\nTransaction may write.\n\nAuthorization to begin a read-write transaction requires\n`spanner.databases.beginOrRollbackReadWriteTransaction` permission\non the `session` resource.\n\n### hasReadWrite\n\n### setReadWrite\n\nTransaction may write.\n\nAuthorization to begin a read-write transaction requires\n`spanner.databases.beginOrRollbackReadWriteTransaction` permission\non the `session` resource.\n\n### getPartitionedDml\n\nPartitioned DML transaction.\n\nAuthorization to begin a Partitioned DML transaction requires\n`spanner.databases.beginPartitionedDmlTransaction` permission\non the `session` resource.\n\n### hasPartitionedDml\n\n### setPartitionedDml\n\nPartitioned DML transaction.\n\nAuthorization to begin a Partitioned DML transaction requires\n`spanner.databases.beginPartitionedDmlTransaction` permission\non the `session` resource.\n\n### getReadOnly\n\nTransaction does not write.\n\nAuthorization to begin a read-only transaction requires\n`spanner.databases.beginReadOnlyTransaction` permission\non the `session` resource.\n\n### hasReadOnly\n\n### setReadOnly\n\nTransaction does not write.\n\nAuthorization to begin a read-only transaction requires\n`spanner.databases.beginReadOnlyTransaction` permission\non the `session` resource.\n\n### getExcludeTxnFromChangeStreams\n\nWhen `exclude_txn_from_change_streams` is set to `true`, it prevents read\nor write transactions from being tracked in change streams.\n\n- 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.\n- 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.\n\n### setExcludeTxnFromChangeStreams\n\nWhen `exclude_txn_from_change_streams` is set to `true`, it prevents read\nor write transactions from being tracked in change streams.\n\n- 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.\n- 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.\n\n### getIsolationLevel\n\nIsolation level for the transaction.\n\n### setIsolationLevel\n\nIsolation level for the transaction.\n\n### getMode"]]