diff --git a/.jsdoc.js b/.jsdoc.js index a278e262..e0a97894 100644 --- a/.jsdoc.js +++ b/.jsdoc.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,7 +40,7 @@ module.exports = { includePattern: '\\.js$' }, templates: { - copyright: 'Copyright 2025 Google LLC', + copyright: 'Copyright 2026 Google LLC', includeDate: false, sourceFiles: false, systemName: '@google-cloud/bigquery-storage', diff --git a/protos/google/cloud/bigquery/storage/v1/arrow.proto b/protos/google/cloud/bigquery/storage/v1/arrow.proto index f4f17c3c..0132aab1 100644 --- a/protos/google/cloud/bigquery/storage/v1/arrow.proto +++ b/protos/google/cloud/bigquery/storage/v1/arrow.proto @@ -58,7 +58,32 @@ message ArrowSerializationOptions { ZSTD = 2; } + // The precision of the timestamp value in the Avro message. This precision + // will **only** be applied to the column(s) with the `TIMESTAMP_PICOS` type. + enum PicosTimestampPrecision { + // Unspecified timestamp precision. The default precision is microseconds. + PICOS_TIMESTAMP_PRECISION_UNSPECIFIED = 0; + + // Timestamp values returned by Read API will be truncated to microsecond + // level precision. The value will be encoded as Arrow TIMESTAMP type in a + // 64 bit integer. + TIMESTAMP_PRECISION_MICROS = 1; + + // Timestamp values returned by Read API will be truncated to nanosecond + // level precision. The value will be encoded as Arrow TIMESTAMP type in a + // 64 bit integer. + TIMESTAMP_PRECISION_NANOS = 2; + + // Read API will return full precision picosecond value. The value will be + // encoded as a string which conforms to ISO 8601 format. + TIMESTAMP_PRECISION_PICOS = 3; + } + // The compression codec to use for Arrow buffers in serialized record // batches. CompressionCodec buffer_compression = 2; + + // Optional. Set timestamp precision option. If not set, the default precision + // is microseconds. + PicosTimestampPrecision picos_timestamp_precision = 3; } diff --git a/protos/google/cloud/bigquery/storage/v1/avro.proto b/protos/google/cloud/bigquery/storage/v1/avro.proto index ddf7c15a..6082fa58 100644 --- a/protos/google/cloud/bigquery/storage/v1/avro.proto +++ b/protos/google/cloud/bigquery/storage/v1/avro.proto @@ -42,6 +42,27 @@ message AvroRows { // Contains options specific to Avro Serialization. message AvroSerializationOptions { + // The precision of the timestamp value in the Avro message. This precision + // will **only** be applied to the column(s) with the `TIMESTAMP_PICOS` type. + enum PicosTimestampPrecision { + // Unspecified timestamp precision. The default precision is microseconds. + PICOS_TIMESTAMP_PRECISION_UNSPECIFIED = 0; + + // Timestamp values returned by Read API will be truncated to microsecond + // level precision. The value will be encoded as Avro TIMESTAMP type in a + // 64 bit integer. + TIMESTAMP_PRECISION_MICROS = 1; + + // Timestamp values returned by Read API will be truncated to nanosecond + // level precision. The value will be encoded as Avro TIMESTAMP type in a + // 64 bit integer. + TIMESTAMP_PRECISION_NANOS = 2; + + // Read API will return full precision picosecond value. The value will be + // encoded as a string which conforms to ISO 8601 format. + TIMESTAMP_PRECISION_PICOS = 3; + } + // Enable displayName attribute in Avro schema. // // The Avro specification requires field names to be alphanumeric. By @@ -53,4 +74,8 @@ message AvroSerializationOptions { // value and populates a "displayName" attribute for every avro field with the // original column name. bool enable_display_name_attribute = 1; + + // Optional. Set timestamp precision option. If not set, the default precision + // is microseconds. + PicosTimestampPrecision picos_timestamp_precision = 2; } diff --git a/protos/google/cloud/bigquery/storage/v1/storage.proto b/protos/google/cloud/bigquery/storage/v1/storage.proto index c9dc3f3d..dc0ae7f9 100644 --- a/protos/google/cloud/bigquery/storage/v1/storage.proto +++ b/protos/google/cloud/bigquery/storage/v1/storage.proto @@ -78,9 +78,9 @@ service BigQueryRead { } // Reads rows from the stream in the format prescribed by the ReadSession. - // Each response contains one or more table rows, up to a maximum of 100 MiB + // Each response contains one or more table rows, up to a maximum of 128 MB // per response; read requests which attempt to read individual rows larger - // than 100 MiB will fail. + // than 128 MB will fail. // // Each request also returns a set of stream statistics reflecting the current // state of the stream. @@ -423,8 +423,6 @@ message CreateWriteStreamRequest { // Requests larger than this return an error, typically `INVALID_ARGUMENT`. message AppendRowsRequest { // Arrow schema and data. - // Arrow format is an experimental feature only selected for allowlisted - // customers. message ArrowData { // Optional. Arrow Schema used to serialize the data. ArrowSchema writer_schema = 1; @@ -436,8 +434,8 @@ message AppendRowsRequest { // ProtoData contains the data rows and schema when constructing append // requests. message ProtoData { - // The protocol buffer schema used to serialize the data. Provide this value - // whenever: + // Optional. The protocol buffer schema used to serialize the data. Provide + // this value whenever: // // * You send the first request of an RPC connection. // @@ -446,7 +444,7 @@ message AppendRowsRequest { // * You specify a new destination table. ProtoSchema writer_schema = 1; - // Serialized row data in protobuf message format. + // Required. Serialized row data in protobuf message format. // Currently, the backend expects the serialized rows to adhere to // proto2 semantics when appending rows, particularly with respect to // how default values are encoded. @@ -522,8 +520,7 @@ message AppendRowsRequest { // Rows in proto format. ProtoData proto_rows = 4; - // Rows in arrow format. This is an experimental feature only selected for - // allowlisted customers. + // Rows in arrow format. ArrowData arrow_rows = 5; } @@ -553,8 +550,8 @@ message AppendRowsRequest { // Optional. Default missing value interpretation for all columns in the // table. When a value is specified on an `AppendRowsRequest`, it is applied - // to all requests on the connection from that point forward, until a - // subsequent `AppendRowsRequest` sets it to a different value. + // to all requests from that point forward, until a subsequent + // `AppendRowsRequest` sets it to a different value. // `missing_value_interpretation` can override // `default_missing_value_interpretation`. For example, if you want to write // `NULL` instead of using default values for some columns, you can set diff --git a/protos/google/cloud/bigquery/storage/v1/stream.proto b/protos/google/cloud/bigquery/storage/v1/stream.proto index 2e52a073..f0d1dfef 100644 --- a/protos/google/cloud/bigquery/storage/v1/stream.proto +++ b/protos/google/cloud/bigquery/storage/v1/stream.proto @@ -328,8 +328,8 @@ message WriteStream { // Immutable. Mode of the stream. WriteMode write_mode = 7 [(google.api.field_behavior) = IMMUTABLE]; - // Immutable. The geographic location where the stream's dataset resides. See - // https://cloud.google.com/bigquery/docs/locations for supported + // Output only. The geographic location where the stream's dataset resides. + // See https://cloud.google.com/bigquery/docs/locations for supported // locations. - string location = 8 [(google.api.field_behavior) = IMMUTABLE]; + string location = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; } diff --git a/protos/google/cloud/bigquery/storage/v1/table.proto b/protos/google/cloud/bigquery/storage/v1/table.proto index eb75d706..30c30228 100644 --- a/protos/google/cloud/bigquery/storage/v1/table.proto +++ b/protos/google/cloud/bigquery/storage/v1/table.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.cloud.bigquery.storage.v1; import "google/api/field_behavior.proto"; +import "google/protobuf/wrappers.proto"; option csharp_namespace = "Google.Cloud.BigQuery.Storage.V1"; option go_package = "cloud.google.com/go/bigquery/storage/apiv1/storagepb;storagepb"; @@ -178,6 +179,16 @@ message TableFieldSchema { // (https://cloud.google.com/bigquery/docs/default-values) for this field. string default_value_expression = 10 [(google.api.field_behavior) = OPTIONAL]; + // Optional. Precision (maximum number of total digits in base 10) for seconds + // of TIMESTAMP type. + // + // Possible values include: + // + // * 6 (Default, for TIMESTAMP type with microsecond precision) + // * 12 (For TIMESTAMP type with picosecond precision) + google.protobuf.Int64Value timestamp_precision = 27 + [(google.api.field_behavior) = OPTIONAL]; + // Optional. The subtype of the RANGE, if the type of this field is RANGE. If // the type is RANGE, this field is required. Possible values for the field // element type of a RANGE include: diff --git a/protos/protos.d.ts b/protos/protos.d.ts index 0f9ad177..b5666824 100644 --- a/protos/protos.d.ts +++ b/protos/protos.d.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -234,6 +234,9 @@ export namespace google { /** ArrowSerializationOptions bufferCompression */ bufferCompression?: (google.cloud.bigquery.storage.v1.ArrowSerializationOptions.CompressionCodec|keyof typeof google.cloud.bigquery.storage.v1.ArrowSerializationOptions.CompressionCodec|null); + + /** ArrowSerializationOptions picosTimestampPrecision */ + picosTimestampPrecision?: (google.cloud.bigquery.storage.v1.ArrowSerializationOptions.PicosTimestampPrecision|keyof typeof google.cloud.bigquery.storage.v1.ArrowSerializationOptions.PicosTimestampPrecision|null); } /** Represents an ArrowSerializationOptions. */ @@ -248,6 +251,9 @@ export namespace google { /** ArrowSerializationOptions bufferCompression. */ public bufferCompression: (google.cloud.bigquery.storage.v1.ArrowSerializationOptions.CompressionCodec|keyof typeof google.cloud.bigquery.storage.v1.ArrowSerializationOptions.CompressionCodec); + /** ArrowSerializationOptions picosTimestampPrecision. */ + public picosTimestampPrecision: (google.cloud.bigquery.storage.v1.ArrowSerializationOptions.PicosTimestampPrecision|keyof typeof google.cloud.bigquery.storage.v1.ArrowSerializationOptions.PicosTimestampPrecision); + /** * Creates a new ArrowSerializationOptions instance using the specified properties. * @param [properties] Properties to set @@ -334,6 +340,14 @@ export namespace google { LZ4_FRAME = 1, ZSTD = 2 } + + /** PicosTimestampPrecision enum. */ + enum PicosTimestampPrecision { + PICOS_TIMESTAMP_PRECISION_UNSPECIFIED = 0, + TIMESTAMP_PRECISION_MICROS = 1, + TIMESTAMP_PRECISION_NANOS = 2, + TIMESTAMP_PRECISION_PICOS = 3 + } } /** Properties of an AvroSchema. */ @@ -541,6 +555,9 @@ export namespace google { /** AvroSerializationOptions enableDisplayNameAttribute */ enableDisplayNameAttribute?: (boolean|null); + + /** AvroSerializationOptions picosTimestampPrecision */ + picosTimestampPrecision?: (google.cloud.bigquery.storage.v1.AvroSerializationOptions.PicosTimestampPrecision|keyof typeof google.cloud.bigquery.storage.v1.AvroSerializationOptions.PicosTimestampPrecision|null); } /** Represents an AvroSerializationOptions. */ @@ -555,6 +572,9 @@ export namespace google { /** AvroSerializationOptions enableDisplayNameAttribute. */ public enableDisplayNameAttribute: boolean; + /** AvroSerializationOptions picosTimestampPrecision. */ + public picosTimestampPrecision: (google.cloud.bigquery.storage.v1.AvroSerializationOptions.PicosTimestampPrecision|keyof typeof google.cloud.bigquery.storage.v1.AvroSerializationOptions.PicosTimestampPrecision); + /** * Creates a new AvroSerializationOptions instance using the specified properties. * @param [properties] Properties to set @@ -633,6 +653,17 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + namespace AvroSerializationOptions { + + /** PicosTimestampPrecision enum. */ + enum PicosTimestampPrecision { + PICOS_TIMESTAMP_PRECISION_UNSPECIFIED = 0, + TIMESTAMP_PRECISION_MICROS = 1, + TIMESTAMP_PRECISION_NANOS = 2, + TIMESTAMP_PRECISION_PICOS = 3 + } + } + /** Properties of a ProtoSchema. */ interface IProtoSchema { @@ -4363,6 +4394,9 @@ export namespace google { /** TableFieldSchema defaultValueExpression */ defaultValueExpression?: (string|null); + /** TableFieldSchema timestampPrecision */ + timestampPrecision?: (google.protobuf.IInt64Value|null); + /** TableFieldSchema rangeElementType */ rangeElementType?: (google.cloud.bigquery.storage.v1.TableFieldSchema.IFieldElementType|null); } @@ -4403,6 +4437,9 @@ export namespace google { /** TableFieldSchema defaultValueExpression. */ public defaultValueExpression: string; + /** TableFieldSchema timestampPrecision. */ + public timestampPrecision?: (google.protobuf.IInt64Value|null); + /** TableFieldSchema rangeElementType. */ public rangeElementType?: (google.cloud.bigquery.storage.v1.TableFieldSchema.IFieldElementType|null); @@ -15961,109 +15998,6 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } - /** Properties of a Timestamp. */ - interface ITimestamp { - - /** Timestamp seconds */ - seconds?: (number|Long|string|null); - - /** Timestamp nanos */ - nanos?: (number|null); - } - - /** Represents a Timestamp. */ - class Timestamp implements ITimestamp { - - /** - * Constructs a new Timestamp. - * @param [properties] Properties to set - */ - constructor(properties?: google.protobuf.ITimestamp); - - /** Timestamp seconds. */ - public seconds: (number|Long|string); - - /** Timestamp nanos. */ - public nanos: number; - - /** - * Creates a new Timestamp instance using the specified properties. - * @param [properties] Properties to set - * @returns Timestamp instance - */ - public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp; - - /** - * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @param message Timestamp message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @param message Timestamp message or plain object to encode - * @param [writer] Writer to encode to - * @returns Writer - */ - public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; - - /** - * Decodes a Timestamp message from the specified reader or buffer. - * @param reader Reader or buffer to decode from - * @param [length] Message length if known beforehand - * @returns Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp; - - /** - * Decodes a Timestamp message from the specified reader or buffer, length delimited. - * @param reader Reader or buffer to decode from - * @returns Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp; - - /** - * Verifies a Timestamp message. - * @param message Plain object to verify - * @returns `null` if valid, otherwise the reason why it is not - */ - public static verify(message: { [k: string]: any }): (string|null); - - /** - * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. - * @param object Plain object - * @returns Timestamp - */ - public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp; - - /** - * Creates a plain object from a Timestamp message. Also converts values to other types if specified. - * @param message Timestamp - * @param [options] Conversion options - * @returns Plain object - */ - public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any }; - - /** - * Converts this Timestamp to JSON. - * @returns JSON object - */ - public toJSON(): { [k: string]: any }; - - /** - * Gets the default type url for Timestamp - * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns The default type url - */ - public static getTypeUrl(typeUrlPrefix?: string): string; - } - /** Properties of a DoubleValue. */ interface IDoubleValue { @@ -16937,6 +16871,109 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of a Timestamp. */ + interface ITimestamp { + + /** Timestamp seconds */ + seconds?: (number|Long|string|null); + + /** Timestamp nanos */ + nanos?: (number|null); + } + + /** Represents a Timestamp. */ + class Timestamp implements ITimestamp { + + /** + * Constructs a new Timestamp. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ITimestamp); + + /** Timestamp seconds. */ + public seconds: (number|Long|string); + + /** Timestamp nanos. */ + public nanos: number; + + /** + * Creates a new Timestamp instance using the specified properties. + * @param [properties] Properties to set + * @returns Timestamp instance + */ + public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @param message Timestamp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @param message Timestamp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp; + + /** + * Verifies a Timestamp message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Timestamp + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @param message Timestamp + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Timestamp to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Timestamp + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of an Any. */ interface IAny { diff --git a/protos/protos.js b/protos/protos.js index e5b18720..e86f3b79 100644 --- a/protos/protos.js +++ b/protos/protos.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -548,6 +548,7 @@ * @memberof google.cloud.bigquery.storage.v1 * @interface IArrowSerializationOptions * @property {google.cloud.bigquery.storage.v1.ArrowSerializationOptions.CompressionCodec|null} [bufferCompression] ArrowSerializationOptions bufferCompression + * @property {google.cloud.bigquery.storage.v1.ArrowSerializationOptions.PicosTimestampPrecision|null} [picosTimestampPrecision] ArrowSerializationOptions picosTimestampPrecision */ /** @@ -573,6 +574,14 @@ */ ArrowSerializationOptions.prototype.bufferCompression = 0; + /** + * ArrowSerializationOptions picosTimestampPrecision. + * @member {google.cloud.bigquery.storage.v1.ArrowSerializationOptions.PicosTimestampPrecision} picosTimestampPrecision + * @memberof google.cloud.bigquery.storage.v1.ArrowSerializationOptions + * @instance + */ + ArrowSerializationOptions.prototype.picosTimestampPrecision = 0; + /** * Creates a new ArrowSerializationOptions instance using the specified properties. * @function create @@ -599,6 +608,8 @@ writer = $Writer.create(); if (message.bufferCompression != null && Object.hasOwnProperty.call(message, "bufferCompression")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.bufferCompression); + if (message.picosTimestampPrecision != null && Object.hasOwnProperty.call(message, "picosTimestampPrecision")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.picosTimestampPrecision); return writer; }; @@ -639,6 +650,10 @@ message.bufferCompression = reader.int32(); break; } + case 3: { + message.picosTimestampPrecision = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -683,6 +698,16 @@ case 2: break; } + if (message.picosTimestampPrecision != null && message.hasOwnProperty("picosTimestampPrecision")) + switch (message.picosTimestampPrecision) { + default: + return "picosTimestampPrecision: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } return null; }; @@ -718,6 +743,30 @@ message.bufferCompression = 2; break; } + switch (object.picosTimestampPrecision) { + default: + if (typeof object.picosTimestampPrecision === "number") { + message.picosTimestampPrecision = object.picosTimestampPrecision; + break; + } + break; + case "PICOS_TIMESTAMP_PRECISION_UNSPECIFIED": + case 0: + message.picosTimestampPrecision = 0; + break; + case "TIMESTAMP_PRECISION_MICROS": + case 1: + message.picosTimestampPrecision = 1; + break; + case "TIMESTAMP_PRECISION_NANOS": + case 2: + message.picosTimestampPrecision = 2; + break; + case "TIMESTAMP_PRECISION_PICOS": + case 3: + message.picosTimestampPrecision = 3; + break; + } return message; }; @@ -734,10 +783,14 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.bufferCompression = options.enums === String ? "COMPRESSION_UNSPECIFIED" : 0; + object.picosTimestampPrecision = options.enums === String ? "PICOS_TIMESTAMP_PRECISION_UNSPECIFIED" : 0; + } if (message.bufferCompression != null && message.hasOwnProperty("bufferCompression")) object.bufferCompression = options.enums === String ? $root.google.cloud.bigquery.storage.v1.ArrowSerializationOptions.CompressionCodec[message.bufferCompression] === undefined ? message.bufferCompression : $root.google.cloud.bigquery.storage.v1.ArrowSerializationOptions.CompressionCodec[message.bufferCompression] : message.bufferCompression; + if (message.picosTimestampPrecision != null && message.hasOwnProperty("picosTimestampPrecision")) + object.picosTimestampPrecision = options.enums === String ? $root.google.cloud.bigquery.storage.v1.ArrowSerializationOptions.PicosTimestampPrecision[message.picosTimestampPrecision] === undefined ? message.picosTimestampPrecision : $root.google.cloud.bigquery.storage.v1.ArrowSerializationOptions.PicosTimestampPrecision[message.picosTimestampPrecision] : message.picosTimestampPrecision; return object; }; @@ -783,6 +836,24 @@ return values; })(); + /** + * PicosTimestampPrecision enum. + * @name google.cloud.bigquery.storage.v1.ArrowSerializationOptions.PicosTimestampPrecision + * @enum {number} + * @property {number} PICOS_TIMESTAMP_PRECISION_UNSPECIFIED=0 PICOS_TIMESTAMP_PRECISION_UNSPECIFIED value + * @property {number} TIMESTAMP_PRECISION_MICROS=1 TIMESTAMP_PRECISION_MICROS value + * @property {number} TIMESTAMP_PRECISION_NANOS=2 TIMESTAMP_PRECISION_NANOS value + * @property {number} TIMESTAMP_PRECISION_PICOS=3 TIMESTAMP_PRECISION_PICOS value + */ + ArrowSerializationOptions.PicosTimestampPrecision = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "PICOS_TIMESTAMP_PRECISION_UNSPECIFIED"] = 0; + values[valuesById[1] = "TIMESTAMP_PRECISION_MICROS"] = 1; + values[valuesById[2] = "TIMESTAMP_PRECISION_NANOS"] = 2; + values[valuesById[3] = "TIMESTAMP_PRECISION_PICOS"] = 3; + return values; + })(); + return ArrowSerializationOptions; })(); @@ -1250,6 +1321,7 @@ * @memberof google.cloud.bigquery.storage.v1 * @interface IAvroSerializationOptions * @property {boolean|null} [enableDisplayNameAttribute] AvroSerializationOptions enableDisplayNameAttribute + * @property {google.cloud.bigquery.storage.v1.AvroSerializationOptions.PicosTimestampPrecision|null} [picosTimestampPrecision] AvroSerializationOptions picosTimestampPrecision */ /** @@ -1275,6 +1347,14 @@ */ AvroSerializationOptions.prototype.enableDisplayNameAttribute = false; + /** + * AvroSerializationOptions picosTimestampPrecision. + * @member {google.cloud.bigquery.storage.v1.AvroSerializationOptions.PicosTimestampPrecision} picosTimestampPrecision + * @memberof google.cloud.bigquery.storage.v1.AvroSerializationOptions + * @instance + */ + AvroSerializationOptions.prototype.picosTimestampPrecision = 0; + /** * Creates a new AvroSerializationOptions instance using the specified properties. * @function create @@ -1301,6 +1381,8 @@ writer = $Writer.create(); if (message.enableDisplayNameAttribute != null && Object.hasOwnProperty.call(message, "enableDisplayNameAttribute")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enableDisplayNameAttribute); + if (message.picosTimestampPrecision != null && Object.hasOwnProperty.call(message, "picosTimestampPrecision")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.picosTimestampPrecision); return writer; }; @@ -1341,6 +1423,10 @@ message.enableDisplayNameAttribute = reader.bool(); break; } + case 2: { + message.picosTimestampPrecision = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -1379,6 +1465,16 @@ if (message.enableDisplayNameAttribute != null && message.hasOwnProperty("enableDisplayNameAttribute")) if (typeof message.enableDisplayNameAttribute !== "boolean") return "enableDisplayNameAttribute: boolean expected"; + if (message.picosTimestampPrecision != null && message.hasOwnProperty("picosTimestampPrecision")) + switch (message.picosTimestampPrecision) { + default: + return "picosTimestampPrecision: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } return null; }; @@ -1396,6 +1492,30 @@ var message = new $root.google.cloud.bigquery.storage.v1.AvroSerializationOptions(); if (object.enableDisplayNameAttribute != null) message.enableDisplayNameAttribute = Boolean(object.enableDisplayNameAttribute); + switch (object.picosTimestampPrecision) { + default: + if (typeof object.picosTimestampPrecision === "number") { + message.picosTimestampPrecision = object.picosTimestampPrecision; + break; + } + break; + case "PICOS_TIMESTAMP_PRECISION_UNSPECIFIED": + case 0: + message.picosTimestampPrecision = 0; + break; + case "TIMESTAMP_PRECISION_MICROS": + case 1: + message.picosTimestampPrecision = 1; + break; + case "TIMESTAMP_PRECISION_NANOS": + case 2: + message.picosTimestampPrecision = 2; + break; + case "TIMESTAMP_PRECISION_PICOS": + case 3: + message.picosTimestampPrecision = 3; + break; + } return message; }; @@ -1412,10 +1532,14 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.enableDisplayNameAttribute = false; + object.picosTimestampPrecision = options.enums === String ? "PICOS_TIMESTAMP_PRECISION_UNSPECIFIED" : 0; + } if (message.enableDisplayNameAttribute != null && message.hasOwnProperty("enableDisplayNameAttribute")) object.enableDisplayNameAttribute = message.enableDisplayNameAttribute; + if (message.picosTimestampPrecision != null && message.hasOwnProperty("picosTimestampPrecision")) + object.picosTimestampPrecision = options.enums === String ? $root.google.cloud.bigquery.storage.v1.AvroSerializationOptions.PicosTimestampPrecision[message.picosTimestampPrecision] === undefined ? message.picosTimestampPrecision : $root.google.cloud.bigquery.storage.v1.AvroSerializationOptions.PicosTimestampPrecision[message.picosTimestampPrecision] : message.picosTimestampPrecision; return object; }; @@ -1445,6 +1569,24 @@ return typeUrlPrefix + "/google.cloud.bigquery.storage.v1.AvroSerializationOptions"; }; + /** + * PicosTimestampPrecision enum. + * @name google.cloud.bigquery.storage.v1.AvroSerializationOptions.PicosTimestampPrecision + * @enum {number} + * @property {number} PICOS_TIMESTAMP_PRECISION_UNSPECIFIED=0 PICOS_TIMESTAMP_PRECISION_UNSPECIFIED value + * @property {number} TIMESTAMP_PRECISION_MICROS=1 TIMESTAMP_PRECISION_MICROS value + * @property {number} TIMESTAMP_PRECISION_NANOS=2 TIMESTAMP_PRECISION_NANOS value + * @property {number} TIMESTAMP_PRECISION_PICOS=3 TIMESTAMP_PRECISION_PICOS value + */ + AvroSerializationOptions.PicosTimestampPrecision = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "PICOS_TIMESTAMP_PRECISION_UNSPECIFIED"] = 0; + values[valuesById[1] = "TIMESTAMP_PRECISION_MICROS"] = 1; + values[valuesById[2] = "TIMESTAMP_PRECISION_NANOS"] = 2; + values[valuesById[3] = "TIMESTAMP_PRECISION_PICOS"] = 3; + return values; + })(); + return AvroSerializationOptions; })(); @@ -10617,6 +10759,7 @@ * @property {number|Long|null} [precision] TableFieldSchema precision * @property {number|Long|null} [scale] TableFieldSchema scale * @property {string|null} [defaultValueExpression] TableFieldSchema defaultValueExpression + * @property {google.protobuf.IInt64Value|null} [timestampPrecision] TableFieldSchema timestampPrecision * @property {google.cloud.bigquery.storage.v1.TableFieldSchema.IFieldElementType|null} [rangeElementType] TableFieldSchema rangeElementType */ @@ -10708,6 +10851,14 @@ */ TableFieldSchema.prototype.defaultValueExpression = ""; + /** + * TableFieldSchema timestampPrecision. + * @member {google.protobuf.IInt64Value|null|undefined} timestampPrecision + * @memberof google.cloud.bigquery.storage.v1.TableFieldSchema + * @instance + */ + TableFieldSchema.prototype.timestampPrecision = null; + /** * TableFieldSchema rangeElementType. * @member {google.cloud.bigquery.storage.v1.TableFieldSchema.IFieldElementType|null|undefined} rangeElementType @@ -10761,6 +10912,8 @@ writer.uint32(/* id 10, wireType 2 =*/82).string(message.defaultValueExpression); if (message.rangeElementType != null && Object.hasOwnProperty.call(message, "rangeElementType")) $root.google.cloud.bigquery.storage.v1.TableFieldSchema.FieldElementType.encode(message.rangeElementType, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.timestampPrecision != null && Object.hasOwnProperty.call(message, "timestampPrecision")) + $root.google.protobuf.Int64Value.encode(message.timestampPrecision, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim(); return writer; }; @@ -10835,6 +10988,10 @@ message.defaultValueExpression = reader.string(); break; } + case 27: { + message.timestampPrecision = $root.google.protobuf.Int64Value.decode(reader, reader.uint32()); + break; + } case 11: { message.rangeElementType = $root.google.cloud.bigquery.storage.v1.TableFieldSchema.FieldElementType.decode(reader, reader.uint32()); break; @@ -10934,6 +11091,11 @@ if (message.defaultValueExpression != null && message.hasOwnProperty("defaultValueExpression")) if (!$util.isString(message.defaultValueExpression)) return "defaultValueExpression: string expected"; + if (message.timestampPrecision != null && message.hasOwnProperty("timestampPrecision")) { + var error = $root.google.protobuf.Int64Value.verify(message.timestampPrecision); + if (error) + return "timestampPrecision." + error; + } if (message.rangeElementType != null && message.hasOwnProperty("rangeElementType")) { var error = $root.google.cloud.bigquery.storage.v1.TableFieldSchema.FieldElementType.verify(message.rangeElementType); if (error) @@ -11097,6 +11259,11 @@ message.scale = new $util.LongBits(object.scale.low >>> 0, object.scale.high >>> 0).toNumber(); if (object.defaultValueExpression != null) message.defaultValueExpression = String(object.defaultValueExpression); + if (object.timestampPrecision != null) { + if (typeof object.timestampPrecision !== "object") + throw TypeError(".google.cloud.bigquery.storage.v1.TableFieldSchema.timestampPrecision: object expected"); + message.timestampPrecision = $root.google.protobuf.Int64Value.fromObject(object.timestampPrecision); + } if (object.rangeElementType != null) { if (typeof object.rangeElementType !== "object") throw TypeError(".google.cloud.bigquery.storage.v1.TableFieldSchema.rangeElementType: object expected"); @@ -11142,6 +11309,7 @@ object.scale = options.longs === String ? "0" : 0; object.defaultValueExpression = ""; object.rangeElementType = null; + object.timestampPrecision = null; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; @@ -11175,6 +11343,8 @@ object.defaultValueExpression = message.defaultValueExpression; if (message.rangeElementType != null && message.hasOwnProperty("rangeElementType")) object.rangeElementType = $root.google.cloud.bigquery.storage.v1.TableFieldSchema.FieldElementType.toObject(message.rangeElementType, options); + if (message.timestampPrecision != null && message.hasOwnProperty("timestampPrecision")) + object.timestampPrecision = $root.google.protobuf.Int64Value.toObject(message.timestampPrecision, options); return object; }; @@ -41336,275 +41506,32 @@ }; /** - * Converts this Duration to JSON. - * @function toJSON - * @memberof google.protobuf.Duration - * @instance - * @returns {Object.} JSON object - */ - Duration.prototype.toJSON = function toJSON() { - return this.constructor.toObject(this, $protobuf.util.toJSONOptions); - }; - - /** - * Gets the default type url for Duration - * @function getTypeUrl - * @memberof google.protobuf.Duration - * @static - * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") - * @returns {string} The default type url - */ - Duration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { - if (typeUrlPrefix === undefined) { - typeUrlPrefix = "type.googleapis.com"; - } - return typeUrlPrefix + "/google.protobuf.Duration"; - }; - - return Duration; - })(); - - protobuf.Timestamp = (function() { - - /** - * Properties of a Timestamp. - * @memberof google.protobuf - * @interface ITimestamp - * @property {number|Long|null} [seconds] Timestamp seconds - * @property {number|null} [nanos] Timestamp nanos - */ - - /** - * Constructs a new Timestamp. - * @memberof google.protobuf - * @classdesc Represents a Timestamp. - * @implements ITimestamp - * @constructor - * @param {google.protobuf.ITimestamp=} [properties] Properties to set - */ - function Timestamp(properties) { - if (properties) - for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) - this[keys[i]] = properties[keys[i]]; - } - - /** - * Timestamp seconds. - * @member {number|Long} seconds - * @memberof google.protobuf.Timestamp - * @instance - */ - Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Timestamp nanos. - * @member {number} nanos - * @memberof google.protobuf.Timestamp - * @instance - */ - Timestamp.prototype.nanos = 0; - - /** - * Creates a new Timestamp instance using the specified properties. - * @function create - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp=} [properties] Properties to set - * @returns {google.protobuf.Timestamp} Timestamp instance - */ - Timestamp.create = function create(properties) { - return new Timestamp(properties); - }; - - /** - * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @function encode - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Timestamp.encode = function encode(message, writer) { - if (!writer) - writer = $Writer.create(); - if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) - writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); - if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) - writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); - return writer; - }; - - /** - * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. - * @function encodeDelimited - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode - * @param {$protobuf.Writer} [writer] Writer to encode to - * @returns {$protobuf.Writer} Writer - */ - Timestamp.encodeDelimited = function encodeDelimited(message, writer) { - return this.encode(message, writer).ldelim(); - }; - - /** - * Decodes a Timestamp message from the specified reader or buffer. - * @function decode - * @memberof google.protobuf.Timestamp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @param {number} [length] Message length if known beforehand - * @returns {google.protobuf.Timestamp} Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Timestamp.decode = function decode(reader, length, error) { - if (!(reader instanceof $Reader)) - reader = $Reader.create(reader); - var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); - while (reader.pos < end) { - var tag = reader.uint32(); - if (tag === error) - break; - switch (tag >>> 3) { - case 1: { - message.seconds = reader.int64(); - break; - } - case 2: { - message.nanos = reader.int32(); - break; - } - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }; - - /** - * Decodes a Timestamp message from the specified reader or buffer, length delimited. - * @function decodeDelimited - * @memberof google.protobuf.Timestamp - * @static - * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from - * @returns {google.protobuf.Timestamp} Timestamp - * @throws {Error} If the payload is not a reader or valid buffer - * @throws {$protobuf.util.ProtocolError} If required fields are missing - */ - Timestamp.decodeDelimited = function decodeDelimited(reader) { - if (!(reader instanceof $Reader)) - reader = new $Reader(reader); - return this.decode(reader, reader.uint32()); - }; - - /** - * Verifies a Timestamp message. - * @function verify - * @memberof google.protobuf.Timestamp - * @static - * @param {Object.} message Plain object to verify - * @returns {string|null} `null` if valid, otherwise the reason why it is not - */ - Timestamp.verify = function verify(message) { - if (typeof message !== "object" || message === null) - return "object expected"; - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) - return "seconds: integer|Long expected"; - if (message.nanos != null && message.hasOwnProperty("nanos")) - if (!$util.isInteger(message.nanos)) - return "nanos: integer expected"; - return null; - }; - - /** - * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. - * @function fromObject - * @memberof google.protobuf.Timestamp - * @static - * @param {Object.} object Plain object - * @returns {google.protobuf.Timestamp} Timestamp - */ - Timestamp.fromObject = function fromObject(object) { - if (object instanceof $root.google.protobuf.Timestamp) - return object; - var message = new $root.google.protobuf.Timestamp(); - if (object.seconds != null) - if ($util.Long) - (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; - else if (typeof object.seconds === "string") - message.seconds = parseInt(object.seconds, 10); - else if (typeof object.seconds === "number") - message.seconds = object.seconds; - else if (typeof object.seconds === "object") - message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); - if (object.nanos != null) - message.nanos = object.nanos | 0; - return message; - }; - - /** - * Creates a plain object from a Timestamp message. Also converts values to other types if specified. - * @function toObject - * @memberof google.protobuf.Timestamp - * @static - * @param {google.protobuf.Timestamp} message Timestamp - * @param {$protobuf.IConversionOptions} [options] Conversion options - * @returns {Object.} Plain object - */ - Timestamp.toObject = function toObject(message, options) { - if (!options) - options = {}; - var object = {}; - if (options.defaults) { - if ($util.Long) { - var long = new $util.Long(0, 0, false); - object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; - } else - object.seconds = options.longs === String ? "0" : 0; - object.nanos = 0; - } - if (message.seconds != null && message.hasOwnProperty("seconds")) - if (typeof message.seconds === "number") - object.seconds = options.longs === String ? String(message.seconds) : message.seconds; - else - object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; - if (message.nanos != null && message.hasOwnProperty("nanos")) - object.nanos = message.nanos; - return object; - }; - - /** - * Converts this Timestamp to JSON. + * Converts this Duration to JSON. * @function toJSON - * @memberof google.protobuf.Timestamp + * @memberof google.protobuf.Duration * @instance * @returns {Object.} JSON object */ - Timestamp.prototype.toJSON = function toJSON() { + Duration.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** - * Gets the default type url for Timestamp + * Gets the default type url for Duration * @function getTypeUrl - * @memberof google.protobuf.Timestamp + * @memberof google.protobuf.Duration * @static * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") * @returns {string} The default type url */ - Timestamp.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + Duration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { if (typeUrlPrefix === undefined) { typeUrlPrefix = "type.googleapis.com"; } - return typeUrlPrefix + "/google.protobuf.Timestamp"; + return typeUrlPrefix + "/google.protobuf.Duration"; }; - return Timestamp; + return Duration; })(); protobuf.DoubleValue = (function() { @@ -43489,6 +43416,249 @@ return BytesValue; })(); + protobuf.Timestamp = (function() { + + /** + * Properties of a Timestamp. + * @memberof google.protobuf + * @interface ITimestamp + * @property {number|Long|null} [seconds] Timestamp seconds + * @property {number|null} [nanos] Timestamp nanos + */ + + /** + * Constructs a new Timestamp. + * @memberof google.protobuf + * @classdesc Represents a Timestamp. + * @implements ITimestamp + * @constructor + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + */ + function Timestamp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Timestamp seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Timestamp nanos. + * @member {number} nanos + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.nanos = 0; + + /** + * Creates a new Timestamp instance using the specified properties. + * @function create + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + * @returns {google.protobuf.Timestamp} Timestamp instance + */ + Timestamp.create = function create(properties) { + return new Timestamp(properties); + }; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.seconds = reader.int64(); + break; + } + case 2: { + message.nanos = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Timestamp message. + * @function verify + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Timestamp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Timestamp} Timestamp + */ + Timestamp.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Timestamp) + return object; + var message = new $root.google.protobuf.Timestamp(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.Timestamp} message Timestamp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Timestamp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Timestamp to JSON. + * @function toJSON + * @memberof google.protobuf.Timestamp + * @instance + * @returns {Object.} JSON object + */ + Timestamp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Timestamp + * @function getTypeUrl + * @memberof google.protobuf.Timestamp + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Timestamp.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Timestamp"; + }; + + return Timestamp; + })(); + protobuf.Any = (function() { /** diff --git a/protos/protos.json b/protos/protos.json index 0307c1da..3cf9dc5a 100644 --- a/protos/protos.json +++ b/protos/protos.json @@ -61,6 +61,10 @@ "bufferCompression": { "type": "CompressionCodec", "id": 2 + }, + "picosTimestampPrecision": { + "type": "PicosTimestampPrecision", + "id": 3 } }, "nested": { @@ -70,6 +74,14 @@ "LZ4_FRAME": 1, "ZSTD": 2 } + }, + "PicosTimestampPrecision": { + "values": { + "PICOS_TIMESTAMP_PRECISION_UNSPECIFIED": 0, + "TIMESTAMP_PRECISION_MICROS": 1, + "TIMESTAMP_PRECISION_NANOS": 2, + "TIMESTAMP_PRECISION_PICOS": 3 + } } } }, @@ -101,6 +113,20 @@ "enableDisplayNameAttribute": { "type": "bool", "id": 1 + }, + "picosTimestampPrecision": { + "type": "PicosTimestampPrecision", + "id": 2 + } + }, + "nested": { + "PicosTimestampPrecision": { + "values": { + "PICOS_TIMESTAMP_PRECISION_UNSPECIFIED": 0, + "TIMESTAMP_PRECISION_MICROS": 1, + "TIMESTAMP_PRECISION_NANOS": 2, + "TIMESTAMP_PRECISION_PICOS": 3 + } } } }, @@ -1042,7 +1068,7 @@ "type": "string", "id": 8, "options": { - "(google.api.field_behavior)": "IMMUTABLE" + "(google.api.field_behavior)": "OUTPUT_ONLY" } } }, @@ -1138,6 +1164,13 @@ "(google.api.field_behavior)": "OPTIONAL" } }, + "timestampPrecision": { + "type": "google.protobuf.Int64Value", + "id": 27, + "options": { + "(google.api.field_behavior)": "OPTIONAL" + } + }, "rangeElementType": { "type": "FieldElementType", "id": 11, @@ -3150,7 +3183,14 @@ "type": "ServiceOptions", "id": 3 } - } + }, + "reserved": [ + [ + 4, + 4 + ], + "stream" + ] }, "MethodDescriptorProto": { "edition": "proto2", @@ -4155,18 +4195,6 @@ } } }, - "Timestamp": { - "fields": { - "seconds": { - "type": "int64", - "id": 1 - }, - "nanos": { - "type": "int32", - "id": 2 - } - } - }, "DoubleValue": { "fields": { "value": { @@ -4239,6 +4267,18 @@ } } }, + "Timestamp": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + }, "Any": { "fields": { "type_url": { diff --git a/samples/generated/v1/big_query_read.create_read_session.js b/samples/generated/v1/big_query_read.create_read_session.js index d6f53319..6b77630d 100644 --- a/samples/generated/v1/big_query_read.create_read_session.js +++ b/samples/generated/v1/big_query_read.create_read_session.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1/big_query_read.read_rows.js b/samples/generated/v1/big_query_read.read_rows.js index 90f0b63c..9fd06b13 100644 --- a/samples/generated/v1/big_query_read.read_rows.js +++ b/samples/generated/v1/big_query_read.read_rows.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1/big_query_read.split_read_stream.js b/samples/generated/v1/big_query_read.split_read_stream.js index 2ec67f39..3fade2a9 100644 --- a/samples/generated/v1/big_query_read.split_read_stream.js +++ b/samples/generated/v1/big_query_read.split_read_stream.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1/big_query_write.append_rows.js b/samples/generated/v1/big_query_write.append_rows.js index 240d6e2a..f4cd68ad 100644 --- a/samples/generated/v1/big_query_write.append_rows.js +++ b/samples/generated/v1/big_query_write.append_rows.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -62,8 +62,7 @@ function main(writeStream) { */ // const protoRows = {} /** - * Rows in arrow format. This is an experimental feature only selected for - * allowlisted customers. + * Rows in arrow format. */ // const arrowRows = {} /** @@ -91,8 +90,8 @@ function main(writeStream) { /** * Optional. Default missing value interpretation for all columns in the * table. When a value is specified on an `AppendRowsRequest`, it is applied - * to all requests on the connection from that point forward, until a - * subsequent `AppendRowsRequest` sets it to a different value. + * to all requests from that point forward, until a subsequent + * `AppendRowsRequest` sets it to a different value. * `missing_value_interpretation` can override * `default_missing_value_interpretation`. For example, if you want to write * `NULL` instead of using default values for some columns, you can set diff --git a/samples/generated/v1/big_query_write.batch_commit_write_streams.js b/samples/generated/v1/big_query_write.batch_commit_write_streams.js index 72d38777..a12e8a44 100644 --- a/samples/generated/v1/big_query_write.batch_commit_write_streams.js +++ b/samples/generated/v1/big_query_write.batch_commit_write_streams.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1/big_query_write.create_write_stream.js b/samples/generated/v1/big_query_write.create_write_stream.js index 022ca121..89d46f57 100644 --- a/samples/generated/v1/big_query_write.create_write_stream.js +++ b/samples/generated/v1/big_query_write.create_write_stream.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1/big_query_write.finalize_write_stream.js b/samples/generated/v1/big_query_write.finalize_write_stream.js index f20f6f0a..01e77370 100644 --- a/samples/generated/v1/big_query_write.finalize_write_stream.js +++ b/samples/generated/v1/big_query_write.finalize_write_stream.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1/big_query_write.flush_rows.js b/samples/generated/v1/big_query_write.flush_rows.js index 8434830c..90babd9f 100644 --- a/samples/generated/v1/big_query_write.flush_rows.js +++ b/samples/generated/v1/big_query_write.flush_rows.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1/big_query_write.get_write_stream.js b/samples/generated/v1/big_query_write.get_write_stream.js index 94785274..83e6d084 100644 --- a/samples/generated/v1/big_query_write.get_write_stream.js +++ b/samples/generated/v1/big_query_write.get_write_stream.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1/snippet_metadata_google.cloud.bigquery.storage.v1.json b/samples/generated/v1/snippet_metadata_google.cloud.bigquery.storage.v1.json index 0f17af12..8575e22f 100644 --- a/samples/generated/v1/snippet_metadata_google.cloud.bigquery.storage.v1.json +++ b/samples/generated/v1/snippet_metadata_google.cloud.bigquery.storage.v1.json @@ -67,7 +67,7 @@ "regionTag": "bigquerystorage_v1_generated_BigQueryRead_ReadRows_async", "title": "BigQueryRead readRows Sample", "origin": "API_DEFINITION", - "description": " Reads rows from the stream in the format prescribed by the ReadSession. Each response contains one or more table rows, up to a maximum of 100 MiB per response; read requests which attempt to read individual rows larger than 100 MiB will fail. Each request also returns a set of stream statistics reflecting the current state of the stream.", + "description": " Reads rows from the stream in the format prescribed by the ReadSession. Each response contains one or more table rows, up to a maximum of 128 MB per response; read requests which attempt to read individual rows larger than 128 MB will fail. Each request also returns a set of stream statistics reflecting the current state of the stream.", "canonical": true, "file": "big_query_read.read_rows.js", "language": "JAVASCRIPT", @@ -206,7 +206,7 @@ "segments": [ { "start": 25, - "end": 125, + "end": 124, "type": "FULL" } ], diff --git a/samples/generated/v1alpha/metastore_partition_service.batch_create_metastore_partitions.js b/samples/generated/v1alpha/metastore_partition_service.batch_create_metastore_partitions.js index f9552ee4..912f110b 100644 --- a/samples/generated/v1alpha/metastore_partition_service.batch_create_metastore_partitions.js +++ b/samples/generated/v1alpha/metastore_partition_service.batch_create_metastore_partitions.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1alpha/metastore_partition_service.batch_delete_metastore_partitions.js b/samples/generated/v1alpha/metastore_partition_service.batch_delete_metastore_partitions.js index 10d3f939..89d8e0ef 100644 --- a/samples/generated/v1alpha/metastore_partition_service.batch_delete_metastore_partitions.js +++ b/samples/generated/v1alpha/metastore_partition_service.batch_delete_metastore_partitions.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1alpha/metastore_partition_service.batch_update_metastore_partitions.js b/samples/generated/v1alpha/metastore_partition_service.batch_update_metastore_partitions.js index 0d662372..d330a5dc 100644 --- a/samples/generated/v1alpha/metastore_partition_service.batch_update_metastore_partitions.js +++ b/samples/generated/v1alpha/metastore_partition_service.batch_update_metastore_partitions.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1alpha/metastore_partition_service.list_metastore_partitions.js b/samples/generated/v1alpha/metastore_partition_service.list_metastore_partitions.js index 7b4faf85..d076f31e 100644 --- a/samples/generated/v1alpha/metastore_partition_service.list_metastore_partitions.js +++ b/samples/generated/v1alpha/metastore_partition_service.list_metastore_partitions.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1alpha/metastore_partition_service.stream_metastore_partitions.js b/samples/generated/v1alpha/metastore_partition_service.stream_metastore_partitions.js index 233f9675..49ad7f13 100644 --- a/samples/generated/v1alpha/metastore_partition_service.stream_metastore_partitions.js +++ b/samples/generated/v1alpha/metastore_partition_service.stream_metastore_partitions.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1beta/metastore_partition_service.batch_create_metastore_partitions.js b/samples/generated/v1beta/metastore_partition_service.batch_create_metastore_partitions.js index ce5d32f2..e3360292 100644 --- a/samples/generated/v1beta/metastore_partition_service.batch_create_metastore_partitions.js +++ b/samples/generated/v1beta/metastore_partition_service.batch_create_metastore_partitions.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1beta/metastore_partition_service.batch_delete_metastore_partitions.js b/samples/generated/v1beta/metastore_partition_service.batch_delete_metastore_partitions.js index f289e265..77c7e30c 100644 --- a/samples/generated/v1beta/metastore_partition_service.batch_delete_metastore_partitions.js +++ b/samples/generated/v1beta/metastore_partition_service.batch_delete_metastore_partitions.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1beta/metastore_partition_service.batch_update_metastore_partitions.js b/samples/generated/v1beta/metastore_partition_service.batch_update_metastore_partitions.js index 4ef034bf..86cb412b 100644 --- a/samples/generated/v1beta/metastore_partition_service.batch_update_metastore_partitions.js +++ b/samples/generated/v1beta/metastore_partition_service.batch_update_metastore_partitions.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1beta/metastore_partition_service.list_metastore_partitions.js b/samples/generated/v1beta/metastore_partition_service.list_metastore_partitions.js index 188046cc..7c2ed318 100644 --- a/samples/generated/v1beta/metastore_partition_service.list_metastore_partitions.js +++ b/samples/generated/v1beta/metastore_partition_service.list_metastore_partitions.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1beta/metastore_partition_service.stream_metastore_partitions.js b/samples/generated/v1beta/metastore_partition_service.stream_metastore_partitions.js index a773fb97..74d9060c 100644 --- a/samples/generated/v1beta/metastore_partition_service.stream_metastore_partitions.js +++ b/samples/generated/v1beta/metastore_partition_service.stream_metastore_partitions.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1beta1/big_query_storage.batch_create_read_session_streams.js b/samples/generated/v1beta1/big_query_storage.batch_create_read_session_streams.js index ab344271..b02f9700 100644 --- a/samples/generated/v1beta1/big_query_storage.batch_create_read_session_streams.js +++ b/samples/generated/v1beta1/big_query_storage.batch_create_read_session_streams.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1beta1/big_query_storage.create_read_session.js b/samples/generated/v1beta1/big_query_storage.create_read_session.js index 7b75eb95..68c773ef 100644 --- a/samples/generated/v1beta1/big_query_storage.create_read_session.js +++ b/samples/generated/v1beta1/big_query_storage.create_read_session.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1beta1/big_query_storage.finalize_stream.js b/samples/generated/v1beta1/big_query_storage.finalize_stream.js index 9f23c6a5..9d2a5912 100644 --- a/samples/generated/v1beta1/big_query_storage.finalize_stream.js +++ b/samples/generated/v1beta1/big_query_storage.finalize_stream.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1beta1/big_query_storage.read_rows.js b/samples/generated/v1beta1/big_query_storage.read_rows.js index 8dc6da15..6b8aec2a 100644 --- a/samples/generated/v1beta1/big_query_storage.read_rows.js +++ b/samples/generated/v1beta1/big_query_storage.read_rows.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/samples/generated/v1beta1/big_query_storage.split_read_stream.js b/samples/generated/v1beta1/big_query_storage.split_read_stream.js index e3fad01c..6a77bbf2 100644 --- a/samples/generated/v1beta1/big_query_storage.split_read_stream.js +++ b/samples/generated/v1beta1/big_query_storage.split_read_stream.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/src/v1/big_query_read_client.ts b/src/v1/big_query_read_client.ts index b34ec292..a949a2a9 100644 --- a/src/v1/big_query_read_client.ts +++ b/src/v1/big_query_read_client.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -757,9 +757,9 @@ export class BigQueryReadClient { /** * Reads rows from the stream in the format prescribed by the ReadSession. - * Each response contains one or more table rows, up to a maximum of 100 MiB + * Each response contains one or more table rows, up to a maximum of 128 MB * per response; read requests which attempt to read individual rows larger - * than 100 MiB will fail. + * than 128 MB will fail. * * Each request also returns a set of stream statistics reflecting the current * state of the stream. diff --git a/src/v1/big_query_write_client.ts b/src/v1/big_query_write_client.ts index a8db6ca4..e3f39f4d 100644 --- a/src/v1/big_query_write_client.ts +++ b/src/v1/big_query_write_client.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/src/v1/index.ts b/src/v1/index.ts index 4ef2dcd2..d888b4f1 100644 --- a/src/v1/index.ts +++ b/src/v1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/src/v1alpha/index.ts b/src/v1alpha/index.ts index c934f7b7..074f2f41 100644 --- a/src/v1alpha/index.ts +++ b/src/v1alpha/index.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/src/v1alpha/metastore_partition_service_client.ts b/src/v1alpha/metastore_partition_service_client.ts index ff3134f4..7f0224d2 100644 --- a/src/v1alpha/metastore_partition_service_client.ts +++ b/src/v1alpha/metastore_partition_service_client.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/src/v1beta/index.ts b/src/v1beta/index.ts index c934f7b7..074f2f41 100644 --- a/src/v1beta/index.ts +++ b/src/v1beta/index.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/src/v1beta/metastore_partition_service_client.ts b/src/v1beta/metastore_partition_service_client.ts index 2f0a4eb9..7a6c6746 100644 --- a/src/v1beta/metastore_partition_service_client.ts +++ b/src/v1beta/metastore_partition_service_client.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/src/v1beta1/big_query_storage_client.ts b/src/v1beta1/big_query_storage_client.ts index 782d6085..9caf1f30 100644 --- a/src/v1beta1/big_query_storage_client.ts +++ b/src/v1beta1/big_query_storage_client.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/src/v1beta1/index.ts b/src/v1beta1/index.ts index 157199d4..37968a07 100644 --- a/src/v1beta1/index.ts +++ b/src/v1beta1/index.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/system-test/fixtures/sample/src/index.js b/system-test/fixtures/sample/src/index.js index 15ec99a7..bf392b49 100644 --- a/system-test/fixtures/sample/src/index.js +++ b/system-test/fixtures/sample/src/index.js @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/system-test/fixtures/sample/src/index.ts b/system-test/fixtures/sample/src/index.ts index 3c3da47e..84220de7 100644 --- a/system-test/fixtures/sample/src/index.ts +++ b/system-test/fixtures/sample/src/index.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/system-test/install.ts b/system-test/install.ts index 5257a7ba..b47ec8b3 100644 --- a/system-test/install.ts +++ b/system-test/install.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/test/gapic_big_query_read_v1.ts b/test/gapic_big_query_read_v1.ts index 0672ab7e..46e1d50f 100644 --- a/test/gapic_big_query_read_v1.ts +++ b/test/gapic_big_query_read_v1.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/test/gapic_big_query_storage_v1beta1.ts b/test/gapic_big_query_storage_v1beta1.ts index 27cdb803..954c9699 100644 --- a/test/gapic_big_query_storage_v1beta1.ts +++ b/test/gapic_big_query_storage_v1beta1.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/test/gapic_big_query_write_v1.ts b/test/gapic_big_query_write_v1.ts index 7c78a4d3..e34ee400 100644 --- a/test/gapic_big_query_write_v1.ts +++ b/test/gapic_big_query_write_v1.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/test/gapic_metastore_partition_service_v1alpha.ts b/test/gapic_metastore_partition_service_v1alpha.ts index 5746d5e0..a300c77a 100644 --- a/test/gapic_metastore_partition_service_v1alpha.ts +++ b/test/gapic_metastore_partition_service_v1alpha.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/test/gapic_metastore_partition_service_v1beta.ts b/test/gapic_metastore_partition_service_v1beta.ts index da3e55a9..a871f444 100644 --- a/test/gapic_metastore_partition_service_v1beta.ts +++ b/test/gapic_metastore_partition_service_v1beta.ts @@ -1,4 +1,4 @@ -// Copyright 2025 Google LLC +// Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License.