rollback method

Future<Empty> rollback (
  1. RollbackRequest request,
  2. String session,
  3. {String $fields}

Rolls back a transaction, releasing any locks it holds. It is a good idea to call this for any transaction that includes one or more Read or ExecuteSql requests and ultimately decides not to commit. Rollback returns OK if it successfully aborts the transaction, the transaction was already aborted, or the transaction is not found. Rollback never returns ABORTED.

request - The metadata request object.

Request parameters:

session - Required. The session in which the transaction to roll back is running. Value must have pattern "^projects/^/+/instances/^/+/databases/^/+/sessions/^/+$".

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

Completes with a Empty.

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.


async.Future<Empty> rollback(RollbackRequest request, core.String session,
    {core.String $fields}) {
  var _url;
  var _queryParams = new core.Map<core.String, core.List<core.String>>();
  var _uploadMedia;
  var _uploadOptions;
  var _downloadOptions = commons.DownloadOptions.Metadata;
  var _body;

  if (request != null) {
    _body = convert.json.encode((request).toJson());
  if (session == null) {
    throw new core.ArgumentError("Parameter session is required.");
  if ($fields != null) {
    _queryParams["fields"] = [$fields];

  _url =
      'v1/' + commons.Escaper.ecapeVariableReserved('$session') + ':rollback';

  var _response = _requester.request(_url, "POST",
      body: _body,
      queryParams: _queryParams,
      uploadOptions: _uploadOptions,
      uploadMedia: _uploadMedia,
      downloadOptions: _downloadOptions);
  return _response.then((data) => new Empty.fromJson(data));