Class ExecuteBatchDmlResponse (2.1.0)

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

The response for ExecuteBatchDml][google.spanner.v1.Spanner.ExecuteBatchDml]. Contains a list of ResultSet][google.spanner.v1.ResultSet] messages, one for each DML statement that has successfully executed, in the same order as the statements in the request. If a statement fails, the status in the response body identifies the cause of the failure.

To check for DML statements that failed, use the following approach:

  1. Check the status in the response message. The google.rpc.Code][google.rpc.Code] enum value OK indicates that all statements were executed successfully.
  2. If the status was not OK, check the number of result sets in the response. If the response contains N ResultSet][google.spanner.v1.ResultSet] messages, then statement N+1 in the request failed.

Example 1:

  • Request: 5 DML statements, all executed successfully.
  • Response: 5 ResultSet][google.spanner.v1.ResultSet] messages, with the status OK.

Example 2:

  • Request: 5 DML statements. The third statement has a syntax error.
  • Response: 2 ResultSet][google.spanner.v1.ResultSet] messages, and a syntax error (INVALID_ARGUMENT) status. The number of ResultSet][google.spanner.v1.ResultSet] messages indicates that the third statement failed, and the fourth and fifth statements were not executed.


result_sets Sequence[`.result_set.ResultSet`]
One `ResultSet][google.spanner.v1.ResultSet]` for each statement in the request that ran successfully, in the same order as the statements in the request. Each `ResultSet][google.spanner.v1.ResultSet]` does not contain any rows. The `ResultSetStats][google.spanner.v1.ResultSetStats]` in each `ResultSet][google.spanner.v1.ResultSet]` contain the number of rows modified by the statement. Only the first `ResultSet][google.spanner.v1.ResultSet]` in the response contains valid `ResultSetMetadata][google.spanner.v1.ResultSetMetadata]`.
status `.gr_status.Status`
If all DML statements are executed successfully, the status is ``OK``. Otherwise, the error status of the first failed statement.


builtins.object > proto.message.Message > ExecuteBatchDmlResponse