- 3.46.0 (latest)
- 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
Transaction API
Spanner read-write transaction support.
class google.cloud.spanner_v1.transaction.Transaction(session)
Implement read-write transaction semantics for a session.
Parameters
session (
Session
) – the session used to perform the commitRaises
ValueError – if session has an existing transaction
_enter_()
Begin with
block.
_exit_(exc_type, exc_val, exc_tb)
End with
block.
batch_update(statements)
Perform a batch of DML statements via an ExecuteBatchDml
request.
Parameters
statements (Sequence[Union[ *[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str), Tuple[[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str), Dict[[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str), [Any](gapic/v1/admin_database_types.md#google.cloud.spanner_admin_database_v1.types.Any)], **Dict[[str](https://python.readthedocs.io/en/latest/library/stdtypes.html#str), Union[[dict](https://python.readthedocs.io/en/latest/library/stdtypes.html#dict), [types.Type](gapic/v1/types.md#google.cloud.spanner_v1.types.Type)]]]]]*) – List of DML statements, with optional params / param types. If passed, ‘params’ is a dict mapping names to the values for parameter replacement. Keys must match the names used in the corresponding DML statement. If ‘params’ is passed, ‘param_types’ must also be passed, as a dict mapping names to the type of value passed in ‘params’.
Return type
Tuple(status, Sequence[int])
Returns
Status code, plus counts of rows affected by each completed DML statement. Note that if the staus code is not
OK
, the statement triggering the error will not have an entry in the list, nor will any statements following that one.
begin()
Begin a transaction on the database.
Return type
Returns
the ID for the newly-begun transaction.
Raises
ValueError – if the transaction is already begun, committed, or rolled back.
commit()
Commit mutations to the database.
Return type
datetime
Returns
timestamp of the committed changes.
Raises
ValueError – if there are no mutations to commit.
committed( = Non )
Timestamp at which the transaction was successfully committed.
delete(table, keyset)
Delete one or more table rows.
Parameters
table (str) – Name of the table to be modified.
keyset (
Keyset
) – Keys/ranges identifying rows to delete.
execute_sql(sql, params=None, param_types=None, query_mode=None, partition=None, retry=<_MethodDefault._DEFAULT_VALUE:
Perform an ExecuteStreamingSql
API request.
Parameters
sql (str) – SQL query statement
params (dict, **{str -> column value}) – values for parameter replacement. Keys must match the names used in
sql
.param_types (dict[str -> Union[dict, *[types.Type](gapic/v1/types.md#google.cloud.spanner_v1.types.Type)]*]) – (Optional) maps explicit types for one or more param values; required if parameters are passed.
query_mode (
google.cloud.spanner_v1.proto.ExecuteSqlRequest.QueryMode
) – Mode governing return of results / query plan. See https://cloud.google.com/spanner/reference/rpc/google.spanner.v1#google.spanner.v1.ExecuteSqlRequest.QueryMode1partition (bytes) – (Optional) one of the partition tokens returned from
partition_query()
.
Return type
Returns
a result set instance which can be used to consume rows.
Raises
ValueError – for reuse of single-use snapshots, or if a transaction ID is already pending for multiple-use snapshots.
execute_update(dml, params=None, param_types=None, query_mode=None)
Perform an ExecuteSql
API request with DML.
Parameters
dml (str) – SQL DML statement
params (dict, **{str -> column value}) – values for parameter replacement. Keys must match the names used in
dml
.param_types (dict[str -> Union[dict, *[types.Type](gapic/v1/types.md#google.cloud.spanner_v1.types.Type)]*]) – (Optional) maps explicit types for one or more param values; required if parameters are passed.
query_mode (
google.cloud.spanner_v1.proto.ExecuteSqlRequest.QueryMode
) – Mode governing return of results / query plan. See https://cloud.google.com/spanner/reference/rpc/google.spanner.v1#google.spanner.v1.ExecuteSqlRequest.QueryMode1
Return type
Returns
Count of rows affected by the DML statement.
insert(table, columns, values)
Insert one or more new table rows.
Parameters
table (str) – Name of the table to be modified.
columns (list of str) – Name of the table columns to be modified.
values (list of lists) – Values to be modified.
insert_or_update(table, columns, values)
Insert/update one or more table rows.
Parameters
table (str) – Name of the table to be modified.
columns (list of str) – Name of the table columns to be modified.
values (list of lists) – Values to be modified.
partition_query(sql, params=None, param_types=None, partition_size_bytes=None, max_partitions=None)
Perform a ParitionQuery
API request.
Parameters
sql (str) – SQL query statement
params (dict, **{str -> column value}) – values for parameter replacement. Keys must match the names used in
sql
.param_types (dict[str -> Union[dict, *[types.Type](gapic/v1/types.md#google.cloud.spanner_v1.types.Type)]*]) – (Optional) maps explicit types for one or more param values; required if parameters are passed.
partition_size_bytes (int) – (Optional) desired size for each partition generated. The service uses this as a hint, the actual partition size may differ.
max_partitions (int) – (Optional) desired maximum number of partitions generated. The service uses this as a hint, the actual number of partitions may differ.
Return type
iterable of bytes
Returns
a sequence of partition tokens
Raises
ValueError – for single-use snapshots, or if a transaction ID is already associtated with the snapshot.
partition_read(table, columns, keyset, index='', partition_size_bytes=None, max_partitions=None)
Perform a ParitionRead
API request for rows in a table.
Parameters
table (str) – name of the table from which to fetch data
columns (list of str) – names of columns to be retrieved
keyset (
KeySet
) – keys / ranges identifying rows to be retrievedindex (str) – (Optional) name of index to use, rather than the table’s primary key
partition_size_bytes (int) – (Optional) desired size for each partition generated. The service uses this as a hint, the actual partition size may differ.
max_partitions (int) – (Optional) desired maximum number of partitions generated. The service uses this as a hint, the actual number of partitions may differ.
Return type
iterable of bytes
Returns
a sequence of partition tokens
Raises
ValueError – for single-use snapshots, or if a transaction ID is already associtated with the snapshot.
read(table, columns, keyset, index='', limit=0, partition=None)
Perform a StreamingRead
API request for rows in a table.
Parameters
table (str) – name of the table from which to fetch data
columns (list of str) – names of columns to be retrieved
keyset (
KeySet
) – keys / ranges identifying rows to be retrievedindex (str) – (Optional) name of index to use, rather than the table’s primary key
limit (int) – (Optional) maximum number of rows to return. Incompatible with
partition
.partition (bytes) – (Optional) one of the partition tokens returned from
partition_read()
. Incompatible withlimit
.
Return type
Returns
a result set instance which can be used to consume rows.
Raises
ValueError – for reuse of single-use snapshots, or if a transaction ID is already pending for multiple-use snapshots.
replace(table, columns, values)
Replace one or more table rows.
Parameters
table (str) – Name of the table to be modified.
columns (list of str) – Name of the table columns to be modified.
values (list of lists) – Values to be modified.
rollback()
Roll back a transaction on the database.
update(table, columns, values)
Update one or more existing table rows.
Parameters
table (str) – Name of the table to be modified.
columns (list of str) – Name of the table columns to be modified.
values (list of lists) – Values to be modified.