executeBatchDml method

Future<ExecuteBatchDmlResponse> executeBatchDml(
  1. ExecuteBatchDmlRequest request,
  2. String session, {
  3. String? $fields,
})

Executes a batch of SQL DML statements.

This method allows many statements to be run with lower latency than submitting them sequentially with ExecuteSql. Statements are executed in sequential order. A request can succeed even if a statement fails. The ExecuteBatchDmlResponse.status field in the response provides information about the statement that failed. Clients must inspect this field to determine whether an error occurred. Execution stops after the first failed statement; the remaining statements are not executed.

request - The metadata request object.

Request parameters:

session - Required. The session in which the DML statements should be performed. Value must have pattern ^projects/\[^/\]+/instances/\[^/\]+/databases/\[^/\]+/sessions/\[^/\]+$.

$fields - Selector specifying which fields to include in a partial response.

Completes with a ExecuteBatchDmlResponse.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<ExecuteBatchDmlResponse> executeBatchDml(
  ExecuteBatchDmlRequest request,
  core.String session, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'v1/' + core.Uri.encodeFull('$session') + ':executeBatchDml';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return ExecuteBatchDmlResponse.fromJson(
      response_ as core.Map<core.String, core.dynamic>);
}