- 3.59.0 (latest)
- 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
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 commit -
Raises
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] , **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 ](spanner_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(return_commit_stats=False)
Commit mutations to the database.
-
Parameters
return_commit_stats( bool ) – If true, the response will return commit stats which can be accessed though commit_stats.
-
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, query_options=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 ](spanner_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(
QueryMode) – Mode governing return of results / query plan. See: QueryMode . -
query_options– (Optional) Query optimizer configuration to use for the given query. If a dict is provided, it must be of the same form as the protobuf message
QueryOptions -
partition( 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, query_options=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 ](spanner_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(
QueryMode) – Mode governing return of results / query plan. See: QueryMode . -
query_options(
QueryOptionsordict) – (Optional) Options that are provided for query plan stability.
-
-
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 ](spanner_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 retrieved -
index( 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 retrieved -
index( 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.
-

