public sealed class ExecuteBatchDmlResponse : IMessage<ExecuteBatchDmlResponse>, IEquatable<ExecuteBatchDmlResponse>, IDeepCloneable<ExecuteBatchDmlResponse>, IBufferMessage, IMessage
Reference 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
OK
indicates 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+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.
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 will be included if the read-write transaction is on a multiplexed session. 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. This feature is not yet supported and will result in an UNIMPLEMENTED error.
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 |