patch method

Future<Table> patch(
  1. Table request,
  2. String projectId,
  3. String datasetId,
  4. String tableId, {
  5. bool? autodetectSchema,
  6. String? $fields,
})

Updates information in an existing table.

The update method replaces the entire table resource, whereas the patch method only replaces fields that are provided in the submitted table resource. This method supports RFC5789 patch semantics.

request - The metadata request object.

Request parameters:

projectId - Required. Project ID of the table to update Value must have pattern ^\[^/\]+$.

datasetId - Required. Dataset ID of the table to update Value must have pattern ^\[^/\]+$.

tableId - Required. Table ID of the table to update Value must have pattern ^\[^/\]+$.

autodetectSchema - Optional. When true will autodetect schema, else will keep original schema

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

Completes with a Table.

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<Table> patch(
  Table request,
  core.String projectId,
  core.String datasetId,
  core.String tableId, {
  core.bool? autodetectSchema,
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if (autodetectSchema != null)
      'autodetect_schema': ['${autodetectSchema}'],
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'projects/' +
      core.Uri.encodeFull('$projectId') +
      '/datasets/' +
      core.Uri.encodeFull('$datasetId') +
      '/tables/' +
      core.Uri.encodeFull('$tableId');

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