public sealed class ExecuteBatchDmlResponse : IMessage<ExecuteBatchDmlResponse>, IEquatable<ExecuteBatchDmlResponse>, IDeepCloneable<ExecuteBatchDmlResponse>, IBufferMessage, IMessageReference documentation and code samples for the Google Cloud Spanner v1 API class ExecuteBatchDmlResponse.
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:
- Check the status in the response message. The
[google.rpc.Code][google.rpc.Code] enum
value
OKindicates that all statements were executed successfully. - If the status was not
OK, check the number of result sets in the response. If the response containsN[ResultSet][google.spanner.v1.ResultSet] messages, then statementN+1in 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.
Implements
IMessageExecuteBatchDmlResponse, IEquatableExecuteBatchDmlResponse, IDeepCloneableExecuteBatchDmlResponse, IBufferMessage, IMessageNamespace
Google.Cloud.Spanner.V1Assembly
Google.Cloud.Spanner.V1.dll
Constructors
ExecuteBatchDmlResponse()
public ExecuteBatchDmlResponse()ExecuteBatchDmlResponse(ExecuteBatchDmlResponse)
public ExecuteBatchDmlResponse(ExecuteBatchDmlResponse other)| Parameter | |
|---|---|
| Name | Description |
other |
ExecuteBatchDmlResponse |
Properties
PrecommitToken
public MultiplexedSessionPrecommitToken PrecommitToken { get; set; }Optional. A precommit token is included if the read-write transaction is on a multiplexed session. Pass the precommit token with the highest sequence number from this transaction attempt should be passed to the [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
| Property Value | |
|---|---|
| Type | Description |
MultiplexedSessionPrecommitToken |
|
ResultSets
public RepeatedField<ResultSet> ResultSets { get; }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].
| Property Value | |
|---|---|
| Type | Description |
RepeatedFieldResultSet |
|
Status
public Status Status { get; set; }If all DML statements are executed successfully, the status is OK.
Otherwise, the error status of the first failed statement.
| Property Value | |
|---|---|
| Type | Description |
Status |
|