# Module transaction (3.68.0)

3.68.0 (latest) 3.67.0 3.66.0 3.65.0 3.64.0 3.63.0 3.62.0 3.61.0 3.60.0 3.59.0 3.58.0 3.57.0 3.56.0 3.55.0 3.54.0 3.53.0 3.52.0 3.51.0 3.50.1 3.46.0 3.45.0 3.44.0 3.43.0 3.42.0 3.41.0 3.40.1 3.39.0 3.38.0 3.37.0 3.36.0 3.35.1 3.34.0 3.33.0 3.32.0 3.31.0 3.30.0 3.29.0 3.28.0 3.27.1 3.26.0 3.25.0 3.24.0 3.23.0 3.22.2 3.21.0 3.20.0 3.19.0 3.18.0 3.17.0 3.16.0 3.15.1 3.14.1 3.13.0 3.12.1 3.11.1 3.10.0 3.9.0 3.8.0 3.7.0 3.6.0 3.5.0 3.4.0 3.3.0 3.2.0 3.1.0 3.0.0 2.1.1 2.0.0 1.19.3 1.18.0 1.17.1 1.16.0 1.15.1 1.14.0 1.13.0 1.12.0 1.11.0 1.10.0 Spanner read-write transaction support.

## Classes

### [BatchTransactionId](https://docs.cloud.google.com/python/docs/reference/spanner/latest/google.cloud.spanner_v1.transaction.BatchTransactionId)

    BatchTransactionId(transaction_id: str, session_id: str, read_timestamp: Any)

API documentation for `spanner_v1.transaction.BatchTransactionId` class.

### [DefaultTransactionOptions](https://docs.cloud.google.com/python/docs/reference/spanner/latest/google.cloud.spanner_v1.transaction.DefaultTransactionOptions)

    DefaultTransactionOptions(isolation_level: str = <IsolationLevel.ISOLATION_LEVEL_UNSPECIFIED: 0>, read_lock_mode: str = <ReadLockMode.READ_LOCK_MODE_UNSPECIFIED: 0>)

DefaultTransactionOptions(isolation_level: str = \<IsolationLevel.ISOLATION_LEVEL_UNSPECIFIED: 0\>, read_lock_mode: str = \<ReadLockMode.READ_LOCK_MODE_UNSPECIFIED: 0\>)

### [Transaction](https://docs.cloud.google.com/python/docs/reference/spanner/latest/google.cloud.spanner_v1.transaction.Transaction)

    Transaction(session, client_context=None)

Implement read-write transaction semantics for a session.

| **Parameter** ||
|---|---|
| **Name** | **Description** |
| `session` | `https://docs.cloud.google.com/python/docs/reference/spanner/latest/google.cloud.spanner_v1.session.Session` the session used to perform the commit |

| **Exceptions** ||
|---|---|
| **Type** | **Description** |
| `ValueError` | if session has an existing transaction |