diff --git a/protos/google/spanner/executor/v1/cloud_executor.proto b/protos/google/spanner/executor/v1/cloud_executor.proto index cf68519ef..5ca3b25ac 100644 --- a/protos/google/spanner/executor/v1/cloud_executor.proto +++ b/protos/google/spanner/executor/v1/cloud_executor.proto @@ -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. @@ -135,6 +135,9 @@ message SpannerAction { // Query cancellation action for testing the cancellation of a query. QueryCancellationAction query_cancellation = 51; + + // Action to adapt a message. + AdaptMessageAction adapt_message = 52; } } @@ -185,12 +188,22 @@ message DmlAction { // Whether to autocommit the transaction after executing the DML statement, // if the Executor supports autocommit. optional bool autocommit_if_supported = 2; + + // Whether to set this DML statement as the last statement in the + // transaction. The transaction should be committed after processing this DML + // statement. + optional bool last_statement = 3; } // Batch of DML statements invoked using batched execution. message BatchDmlAction { // DML statements. repeated QueryAction updates = 1; + + // Whether to set this request with the last statement option in the + // transaction. The transaction should be committed after processing this + // request. + optional bool last_statements = 2; } // Value represents a single value that can be read or written to/from @@ -396,7 +409,8 @@ message StartTransactionAction { // testing. string transaction_seed = 3; - // Execution options (e.g., whether transaction is opaque, optimistic). + // Execution options (e.g., whether transaction is opaque, optimistic, + // excluded from change streams). optional TransactionExecutionOptions execution_options = 4; } @@ -460,10 +474,29 @@ message ColumnMetadata { google.spanner.v1.Type type = 2; } -// Options for executing the transaction. message TransactionExecutionOptions { // Whether optimistic concurrency should be used to execute this transaction. bool optimistic = 1; + + // Whether traffic from this transaction will be excluded from tracking change + // streams with allow_txn_exclusion=true. + bool exclude_from_change_streams = 2; + + // Whether serializable isolation with optimistic mode concurrency should be + // used to execute this transaction. + bool serializable_optimistic = 3; + + // Whether snapshot isolation with optimistic mode concurrency should be used + // to execute this transaction. + bool snapshot_isolation_optimistic = 4; + + // Whether snapshot isolation with pessimistic mode concurrency should be used + // to execute this transaction. + bool snapshot_isolation_pessimistic = 5; + + // Whether to exclude mutations of this transaction from the allowed tracking + // change streams. + bool exclude_txn_from_change_streams = 6; } // FinishTransactionAction defines an action of finishing a transaction. @@ -573,6 +606,9 @@ message AdminAction { // Action that changes quorum of a Cloud Spanner database. ChangeQuorumCloudDatabaseAction change_quorum_cloud_database = 28; + + // Action that adds splits to a Cloud Spanner database. + AddSplitPointsAction add_split_points = 29; } } @@ -663,6 +699,9 @@ message CreateCloudInstanceAction { // labels. map labels = 5; + + // The edition of the instance. + google.spanner.admin.instance.v1.Instance.Edition edition = 8; } // Action that updates a Cloud Spanner instance. @@ -693,6 +732,9 @@ message UpdateCloudInstanceAction { // labels. map labels = 6; + + // The edition of the instance. + google.spanner.admin.instance.v1.Instance.Edition edition = 8; } // Action that deletes a Cloud Spanner instance. @@ -787,6 +829,29 @@ message ChangeQuorumCloudDatabaseAction { repeated string serving_locations = 2; } +// A single Adapt message request. +message AdaptMessageAction { + // The fully qualified uri of the database to send AdaptMessage to. + string database_uri = 1; + + // The protocol to use for the request. + string protocol = 2; + + // The payload of the request. + bytes payload = 3; + + // Attachments to be sent with the request. + map attachments = 4; + + // The query to be sent with the request. + string query = 5; + + // If true, the action will send a Prepare request first and then an + // Execute request right after to execute the query. This is only supported + // for Cloud Client path. + bool prepare_then_execute = 6; +} + // Action that lists Cloud Spanner databases. message ListCloudDatabasesAction { // Cloud project ID, e.g. "spanner-cloud-systest". @@ -805,7 +870,7 @@ message ListCloudDatabasesAction { string page_token = 4; } -// Action that lists Cloud Spanner databases. +// Action that lists Cloud Spanner instances. message ListCloudInstancesAction { // Cloud project ID, e.g. "spanner-cloud-systest". string project_id = 1; @@ -1067,6 +1132,21 @@ message CancelOperationAction { string operation = 1; } +// Action that adds a split point to a Cloud Spanner database. +message AddSplitPointsAction { + // Cloud project ID, e.g. "spanner-cloud-systest". + string project_id = 1; + + // Cloud instance ID (not path), e.g. "test-instance". + string instance_id = 2; + + // Cloud database ID (not full path), e.g. "db0". + string database_id = 3; + + // The split points to add. + repeated google.spanner.admin.database.v1.SplitPoints split_points = 4; +} + // Starts a batch read-only transaction in executor. Successful outcomes of this // action will contain batch_txn_id--the identificator that can be used to start // the same transaction in other Executors to parallelize partition processing. @@ -1260,6 +1340,10 @@ message SpannerActionOutcome { // Change stream records returned by a change stream query. repeated ChangeStreamRecord change_stream_records = 10; + + // If not zero, it indicates the read timestamp to use for validating + // the SnapshotIsolation transaction. + optional int64 snapshot_isolation_txn_read_timestamp = 11; } // AdminResult contains admin action results, for database/backup/operation. diff --git a/protos/protos.d.ts b/protos/protos.d.ts index 4e4a305d0..9bc6110e4 100644 --- a/protos/protos.d.ts +++ b/protos/protos.d.ts @@ -19997,6 +19997,9 @@ export namespace google { /** SpannerAction queryCancellation */ queryCancellation?: (google.spanner.executor.v1.IQueryCancellationAction|null); + + /** SpannerAction adaptMessage */ + adaptMessage?: (google.spanner.executor.v1.IAdaptMessageAction|null); } /** Represents a SpannerAction. */ @@ -20065,8 +20068,11 @@ export namespace google { /** SpannerAction queryCancellation. */ public queryCancellation?: (google.spanner.executor.v1.IQueryCancellationAction|null); + /** SpannerAction adaptMessage. */ + public adaptMessage?: (google.spanner.executor.v1.IAdaptMessageAction|null); + /** SpannerAction action. */ - public action?: ("start"|"finish"|"read"|"query"|"mutation"|"dml"|"batchDml"|"write"|"partitionedUpdate"|"admin"|"startBatchTxn"|"closeBatchTxn"|"generateDbPartitionsRead"|"generateDbPartitionsQuery"|"executePartition"|"executeChangeStreamQuery"|"queryCancellation"); + public action?: ("start"|"finish"|"read"|"query"|"mutation"|"dml"|"batchDml"|"write"|"partitionedUpdate"|"admin"|"startBatchTxn"|"closeBatchTxn"|"generateDbPartitionsRead"|"generateDbPartitionsQuery"|"executePartition"|"executeChangeStreamQuery"|"queryCancellation"|"adaptMessage"); /** * Creates a new SpannerAction instance using the specified properties. @@ -20490,6 +20496,9 @@ export namespace google { /** DmlAction autocommitIfSupported */ autocommitIfSupported?: (boolean|null); + + /** DmlAction lastStatement */ + lastStatement?: (boolean|null); } /** Represents a DmlAction. */ @@ -20507,6 +20516,9 @@ export namespace google { /** DmlAction autocommitIfSupported. */ public autocommitIfSupported?: (boolean|null); + /** DmlAction lastStatement. */ + public lastStatement?: (boolean|null); + /** * Creates a new DmlAction instance using the specified properties. * @param [properties] Properties to set @@ -20590,6 +20602,9 @@ export namespace google { /** BatchDmlAction updates */ updates?: (google.spanner.executor.v1.IQueryAction[]|null); + + /** BatchDmlAction lastStatements */ + lastStatements?: (boolean|null); } /** Represents a BatchDmlAction. */ @@ -20604,6 +20619,9 @@ export namespace google { /** BatchDmlAction updates. */ public updates: google.spanner.executor.v1.IQueryAction[]; + /** BatchDmlAction lastStatements. */ + public lastStatements?: (boolean|null); + /** * Creates a new BatchDmlAction instance using the specified properties. * @param [properties] Properties to set @@ -22406,6 +22424,21 @@ export namespace google { /** TransactionExecutionOptions optimistic */ optimistic?: (boolean|null); + + /** TransactionExecutionOptions excludeFromChangeStreams */ + excludeFromChangeStreams?: (boolean|null); + + /** TransactionExecutionOptions serializableOptimistic */ + serializableOptimistic?: (boolean|null); + + /** TransactionExecutionOptions snapshotIsolationOptimistic */ + snapshotIsolationOptimistic?: (boolean|null); + + /** TransactionExecutionOptions snapshotIsolationPessimistic */ + snapshotIsolationPessimistic?: (boolean|null); + + /** TransactionExecutionOptions excludeTxnFromChangeStreams */ + excludeTxnFromChangeStreams?: (boolean|null); } /** Represents a TransactionExecutionOptions. */ @@ -22420,6 +22453,21 @@ export namespace google { /** TransactionExecutionOptions optimistic. */ public optimistic: boolean; + /** TransactionExecutionOptions excludeFromChangeStreams. */ + public excludeFromChangeStreams: boolean; + + /** TransactionExecutionOptions serializableOptimistic. */ + public serializableOptimistic: boolean; + + /** TransactionExecutionOptions snapshotIsolationOptimistic. */ + public snapshotIsolationOptimistic: boolean; + + /** TransactionExecutionOptions snapshotIsolationPessimistic. */ + public snapshotIsolationPessimistic: boolean; + + /** TransactionExecutionOptions excludeTxnFromChangeStreams. */ + public excludeTxnFromChangeStreams: boolean; + /** * Creates a new TransactionExecutionOptions instance using the specified properties. * @param [properties] Properties to set @@ -22691,6 +22739,9 @@ export namespace google { /** AdminAction changeQuorumCloudDatabase */ changeQuorumCloudDatabase?: (google.spanner.executor.v1.IChangeQuorumCloudDatabaseAction|null); + + /** AdminAction addSplitPoints */ + addSplitPoints?: (google.spanner.executor.v1.IAddSplitPointsAction|null); } /** Represents an AdminAction. */ @@ -22786,8 +22837,11 @@ export namespace google { /** AdminAction changeQuorumCloudDatabase. */ public changeQuorumCloudDatabase?: (google.spanner.executor.v1.IChangeQuorumCloudDatabaseAction|null); + /** AdminAction addSplitPoints. */ + public addSplitPoints?: (google.spanner.executor.v1.IAddSplitPointsAction|null); + /** AdminAction action. */ - public action?: ("createUserInstanceConfig"|"updateUserInstanceConfig"|"deleteUserInstanceConfig"|"getCloudInstanceConfig"|"listInstanceConfigs"|"createCloudInstance"|"updateCloudInstance"|"deleteCloudInstance"|"listCloudInstances"|"getCloudInstance"|"createCloudDatabase"|"updateCloudDatabaseDdl"|"updateCloudDatabase"|"dropCloudDatabase"|"listCloudDatabases"|"listCloudDatabaseOperations"|"restoreCloudDatabase"|"getCloudDatabase"|"createCloudBackup"|"copyCloudBackup"|"getCloudBackup"|"updateCloudBackup"|"deleteCloudBackup"|"listCloudBackups"|"listCloudBackupOperations"|"getOperation"|"cancelOperation"|"changeQuorumCloudDatabase"); + public action?: ("createUserInstanceConfig"|"updateUserInstanceConfig"|"deleteUserInstanceConfig"|"getCloudInstanceConfig"|"listInstanceConfigs"|"createCloudInstance"|"updateCloudInstance"|"deleteCloudInstance"|"listCloudInstances"|"getCloudInstance"|"createCloudDatabase"|"updateCloudDatabaseDdl"|"updateCloudDatabase"|"dropCloudDatabase"|"listCloudDatabases"|"listCloudDatabaseOperations"|"restoreCloudDatabase"|"getCloudDatabase"|"createCloudBackup"|"copyCloudBackup"|"getCloudBackup"|"updateCloudBackup"|"deleteCloudBackup"|"listCloudBackups"|"listCloudBackupOperations"|"getOperation"|"cancelOperation"|"changeQuorumCloudDatabase"|"addSplitPoints"); /** * Creates a new AdminAction instance using the specified properties. @@ -23435,6 +23489,9 @@ export namespace google { /** CreateCloudInstanceAction labels */ labels?: ({ [k: string]: string }|null); + + /** CreateCloudInstanceAction edition */ + edition?: (google.spanner.admin.instance.v1.Instance.Edition|keyof typeof google.spanner.admin.instance.v1.Instance.Edition|null); } /** Represents a CreateCloudInstanceAction. */ @@ -23467,6 +23524,9 @@ export namespace google { /** CreateCloudInstanceAction labels. */ public labels: { [k: string]: string }; + /** CreateCloudInstanceAction edition. */ + public edition: (google.spanner.admin.instance.v1.Instance.Edition|keyof typeof google.spanner.admin.instance.v1.Instance.Edition); + /** * Creates a new CreateCloudInstanceAction instance using the specified properties. * @param [properties] Properties to set @@ -23568,6 +23628,9 @@ export namespace google { /** UpdateCloudInstanceAction labels */ labels?: ({ [k: string]: string }|null); + + /** UpdateCloudInstanceAction edition */ + edition?: (google.spanner.admin.instance.v1.Instance.Edition|keyof typeof google.spanner.admin.instance.v1.Instance.Edition|null); } /** Represents an UpdateCloudInstanceAction. */ @@ -23600,6 +23663,9 @@ export namespace google { /** UpdateCloudInstanceAction labels. */ public labels: { [k: string]: string }; + /** UpdateCloudInstanceAction edition. */ + public edition: (google.spanner.admin.instance.v1.Instance.Edition|keyof typeof google.spanner.admin.instance.v1.Instance.Edition); + /** * Creates a new UpdateCloudInstanceAction instance using the specified properties. * @param [properties] Properties to set @@ -24368,6 +24434,133 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of an AdaptMessageAction. */ + interface IAdaptMessageAction { + + /** AdaptMessageAction databaseUri */ + databaseUri?: (string|null); + + /** AdaptMessageAction protocol */ + protocol?: (string|null); + + /** AdaptMessageAction payload */ + payload?: (Uint8Array|Buffer|string|null); + + /** AdaptMessageAction attachments */ + attachments?: ({ [k: string]: string }|null); + + /** AdaptMessageAction query */ + query?: (string|null); + + /** AdaptMessageAction prepareThenExecute */ + prepareThenExecute?: (boolean|null); + } + + /** Represents an AdaptMessageAction. */ + class AdaptMessageAction implements IAdaptMessageAction { + + /** + * Constructs a new AdaptMessageAction. + * @param [properties] Properties to set + */ + constructor(properties?: google.spanner.executor.v1.IAdaptMessageAction); + + /** AdaptMessageAction databaseUri. */ + public databaseUri: string; + + /** AdaptMessageAction protocol. */ + public protocol: string; + + /** AdaptMessageAction payload. */ + public payload: (Uint8Array|Buffer|string); + + /** AdaptMessageAction attachments. */ + public attachments: { [k: string]: string }; + + /** AdaptMessageAction query. */ + public query: string; + + /** AdaptMessageAction prepareThenExecute. */ + public prepareThenExecute: boolean; + + /** + * Creates a new AdaptMessageAction instance using the specified properties. + * @param [properties] Properties to set + * @returns AdaptMessageAction instance + */ + public static create(properties?: google.spanner.executor.v1.IAdaptMessageAction): google.spanner.executor.v1.AdaptMessageAction; + + /** + * Encodes the specified AdaptMessageAction message. Does not implicitly {@link google.spanner.executor.v1.AdaptMessageAction.verify|verify} messages. + * @param message AdaptMessageAction message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.spanner.executor.v1.IAdaptMessageAction, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AdaptMessageAction message, length delimited. Does not implicitly {@link google.spanner.executor.v1.AdaptMessageAction.verify|verify} messages. + * @param message AdaptMessageAction message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.spanner.executor.v1.IAdaptMessageAction, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AdaptMessageAction message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AdaptMessageAction + * @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.spanner.executor.v1.AdaptMessageAction; + + /** + * Decodes an AdaptMessageAction message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AdaptMessageAction + * @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.spanner.executor.v1.AdaptMessageAction; + + /** + * Verifies an AdaptMessageAction 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 an AdaptMessageAction message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AdaptMessageAction + */ + public static fromObject(object: { [k: string]: any }): google.spanner.executor.v1.AdaptMessageAction; + + /** + * Creates a plain object from an AdaptMessageAction message. Also converts values to other types if specified. + * @param message AdaptMessageAction + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.spanner.executor.v1.AdaptMessageAction, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AdaptMessageAction to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AdaptMessageAction + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of a ListCloudDatabasesAction. */ interface IListCloudDatabasesAction { @@ -26184,6 +26377,121 @@ export namespace google { public static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of an AddSplitPointsAction. */ + interface IAddSplitPointsAction { + + /** AddSplitPointsAction projectId */ + projectId?: (string|null); + + /** AddSplitPointsAction instanceId */ + instanceId?: (string|null); + + /** AddSplitPointsAction databaseId */ + databaseId?: (string|null); + + /** AddSplitPointsAction splitPoints */ + splitPoints?: (google.spanner.admin.database.v1.ISplitPoints[]|null); + } + + /** Represents an AddSplitPointsAction. */ + class AddSplitPointsAction implements IAddSplitPointsAction { + + /** + * Constructs a new AddSplitPointsAction. + * @param [properties] Properties to set + */ + constructor(properties?: google.spanner.executor.v1.IAddSplitPointsAction); + + /** AddSplitPointsAction projectId. */ + public projectId: string; + + /** AddSplitPointsAction instanceId. */ + public instanceId: string; + + /** AddSplitPointsAction databaseId. */ + public databaseId: string; + + /** AddSplitPointsAction splitPoints. */ + public splitPoints: google.spanner.admin.database.v1.ISplitPoints[]; + + /** + * Creates a new AddSplitPointsAction instance using the specified properties. + * @param [properties] Properties to set + * @returns AddSplitPointsAction instance + */ + public static create(properties?: google.spanner.executor.v1.IAddSplitPointsAction): google.spanner.executor.v1.AddSplitPointsAction; + + /** + * Encodes the specified AddSplitPointsAction message. Does not implicitly {@link google.spanner.executor.v1.AddSplitPointsAction.verify|verify} messages. + * @param message AddSplitPointsAction message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.spanner.executor.v1.IAddSplitPointsAction, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AddSplitPointsAction message, length delimited. Does not implicitly {@link google.spanner.executor.v1.AddSplitPointsAction.verify|verify} messages. + * @param message AddSplitPointsAction message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.spanner.executor.v1.IAddSplitPointsAction, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AddSplitPointsAction message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AddSplitPointsAction + * @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.spanner.executor.v1.AddSplitPointsAction; + + /** + * Decodes an AddSplitPointsAction message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AddSplitPointsAction + * @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.spanner.executor.v1.AddSplitPointsAction; + + /** + * Verifies an AddSplitPointsAction 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 an AddSplitPointsAction message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AddSplitPointsAction + */ + public static fromObject(object: { [k: string]: any }): google.spanner.executor.v1.AddSplitPointsAction; + + /** + * Creates a plain object from an AddSplitPointsAction message. Also converts values to other types if specified. + * @param message AddSplitPointsAction + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.spanner.executor.v1.AddSplitPointsAction, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AddSplitPointsAction to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AddSplitPointsAction + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of a StartBatchTransactionAction. */ interface IStartBatchTransactionAction { @@ -26994,6 +27302,9 @@ export namespace google { /** SpannerActionOutcome changeStreamRecords */ changeStreamRecords?: (google.spanner.executor.v1.IChangeStreamRecord[]|null); + + /** SpannerActionOutcome snapshotIsolationTxnReadTimestamp */ + snapshotIsolationTxnReadTimestamp?: (number|Long|string|null); } /** Represents a SpannerActionOutcome. */ @@ -27035,6 +27346,9 @@ export namespace google { /** SpannerActionOutcome changeStreamRecords. */ public changeStreamRecords: google.spanner.executor.v1.IChangeStreamRecord[]; + /** SpannerActionOutcome snapshotIsolationTxnReadTimestamp. */ + public snapshotIsolationTxnReadTimestamp?: (number|Long|string|null); + /** * Creates a new SpannerActionOutcome instance using the specified properties. * @param [properties] Properties to set diff --git a/protos/protos.js b/protos/protos.js index 5d953ab1b..9d0cbed84 100644 --- a/protos/protos.js +++ b/protos/protos.js @@ -50959,6 +50959,7 @@ * @property {google.spanner.executor.v1.IExecutePartitionAction|null} [executePartition] SpannerAction executePartition * @property {google.spanner.executor.v1.IExecuteChangeStreamQuery|null} [executeChangeStreamQuery] SpannerAction executeChangeStreamQuery * @property {google.spanner.executor.v1.IQueryCancellationAction|null} [queryCancellation] SpannerAction queryCancellation + * @property {google.spanner.executor.v1.IAdaptMessageAction|null} [adaptMessage] SpannerAction adaptMessage */ /** @@ -51128,17 +51129,25 @@ */ SpannerAction.prototype.queryCancellation = null; + /** + * SpannerAction adaptMessage. + * @member {google.spanner.executor.v1.IAdaptMessageAction|null|undefined} adaptMessage + * @memberof google.spanner.executor.v1.SpannerAction + * @instance + */ + SpannerAction.prototype.adaptMessage = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * SpannerAction action. - * @member {"start"|"finish"|"read"|"query"|"mutation"|"dml"|"batchDml"|"write"|"partitionedUpdate"|"admin"|"startBatchTxn"|"closeBatchTxn"|"generateDbPartitionsRead"|"generateDbPartitionsQuery"|"executePartition"|"executeChangeStreamQuery"|"queryCancellation"|undefined} action + * @member {"start"|"finish"|"read"|"query"|"mutation"|"dml"|"batchDml"|"write"|"partitionedUpdate"|"admin"|"startBatchTxn"|"closeBatchTxn"|"generateDbPartitionsRead"|"generateDbPartitionsQuery"|"executePartition"|"executeChangeStreamQuery"|"queryCancellation"|"adaptMessage"|undefined} action * @memberof google.spanner.executor.v1.SpannerAction * @instance */ Object.defineProperty(SpannerAction.prototype, "action", { - get: $util.oneOfGetter($oneOfFields = ["start", "finish", "read", "query", "mutation", "dml", "batchDml", "write", "partitionedUpdate", "admin", "startBatchTxn", "closeBatchTxn", "generateDbPartitionsRead", "generateDbPartitionsQuery", "executePartition", "executeChangeStreamQuery", "queryCancellation"]), + get: $util.oneOfGetter($oneOfFields = ["start", "finish", "read", "query", "mutation", "dml", "batchDml", "write", "partitionedUpdate", "admin", "startBatchTxn", "closeBatchTxn", "generateDbPartitionsRead", "generateDbPartitionsQuery", "executePartition", "executeChangeStreamQuery", "queryCancellation", "adaptMessage"]), set: $util.oneOfSetter($oneOfFields) }); @@ -51204,6 +51213,8 @@ $root.google.spanner.executor.v1.ExecuteChangeStreamQuery.encode(message.executeChangeStreamQuery, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim(); if (message.queryCancellation != null && Object.hasOwnProperty.call(message, "queryCancellation")) $root.google.spanner.executor.v1.QueryCancellationAction.encode(message.queryCancellation, writer.uint32(/* id 51, wireType 2 =*/410).fork()).ldelim(); + if (message.adaptMessage != null && Object.hasOwnProperty.call(message, "adaptMessage")) + $root.google.spanner.executor.v1.AdaptMessageAction.encode(message.adaptMessage, writer.uint32(/* id 52, wireType 2 =*/418).fork()).ldelim(); return writer; }; @@ -51316,6 +51327,10 @@ message.queryCancellation = $root.google.spanner.executor.v1.QueryCancellationAction.decode(reader, reader.uint32()); break; } + case 52: { + message.adaptMessage = $root.google.spanner.executor.v1.AdaptMessageAction.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -51528,6 +51543,16 @@ return "queryCancellation." + error; } } + if (message.adaptMessage != null && message.hasOwnProperty("adaptMessage")) { + if (properties.action === 1) + return "action: multiple values"; + properties.action = 1; + { + var error = $root.google.spanner.executor.v1.AdaptMessageAction.verify(message.adaptMessage); + if (error) + return "adaptMessage." + error; + } + } return null; }; @@ -51635,6 +51660,11 @@ throw TypeError(".google.spanner.executor.v1.SpannerAction.queryCancellation: object expected"); message.queryCancellation = $root.google.spanner.executor.v1.QueryCancellationAction.fromObject(object.queryCancellation); } + if (object.adaptMessage != null) { + if (typeof object.adaptMessage !== "object") + throw TypeError(".google.spanner.executor.v1.SpannerAction.adaptMessage: object expected"); + message.adaptMessage = $root.google.spanner.executor.v1.AdaptMessageAction.fromObject(object.adaptMessage); + } return message; }; @@ -51744,6 +51774,11 @@ if (options.oneofs) object.action = "queryCancellation"; } + if (message.adaptMessage != null && message.hasOwnProperty("adaptMessage")) { + object.adaptMessage = $root.google.spanner.executor.v1.AdaptMessageAction.toObject(message.adaptMessage, options); + if (options.oneofs) + object.action = "adaptMessage"; + } return object; }; @@ -52630,6 +52665,7 @@ * @interface IDmlAction * @property {google.spanner.executor.v1.IQueryAction|null} [update] DmlAction update * @property {boolean|null} [autocommitIfSupported] DmlAction autocommitIfSupported + * @property {boolean|null} [lastStatement] DmlAction lastStatement */ /** @@ -52663,6 +52699,14 @@ */ DmlAction.prototype.autocommitIfSupported = null; + /** + * DmlAction lastStatement. + * @member {boolean|null|undefined} lastStatement + * @memberof google.spanner.executor.v1.DmlAction + * @instance + */ + DmlAction.prototype.lastStatement = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -52672,6 +52716,12 @@ set: $util.oneOfSetter($oneOfFields) }); + // Virtual OneOf for proto3 optional field + Object.defineProperty(DmlAction.prototype, "_lastStatement", { + get: $util.oneOfGetter($oneOfFields = ["lastStatement"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new DmlAction instance using the specified properties. * @function create @@ -52700,6 +52750,8 @@ $root.google.spanner.executor.v1.QueryAction.encode(message.update, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.autocommitIfSupported != null && Object.hasOwnProperty.call(message, "autocommitIfSupported")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.autocommitIfSupported); + if (message.lastStatement != null && Object.hasOwnProperty.call(message, "lastStatement")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.lastStatement); return writer; }; @@ -52744,6 +52796,10 @@ message.autocommitIfSupported = reader.bool(); break; } + case 3: { + message.lastStatement = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -52790,6 +52846,11 @@ if (typeof message.autocommitIfSupported !== "boolean") return "autocommitIfSupported: boolean expected"; } + if (message.lastStatement != null && message.hasOwnProperty("lastStatement")) { + properties._lastStatement = 1; + if (typeof message.lastStatement !== "boolean") + return "lastStatement: boolean expected"; + } return null; }; @@ -52812,6 +52873,8 @@ } if (object.autocommitIfSupported != null) message.autocommitIfSupported = Boolean(object.autocommitIfSupported); + if (object.lastStatement != null) + message.lastStatement = Boolean(object.lastStatement); return message; }; @@ -52837,6 +52900,11 @@ if (options.oneofs) object._autocommitIfSupported = "autocommitIfSupported"; } + if (message.lastStatement != null && message.hasOwnProperty("lastStatement")) { + object.lastStatement = message.lastStatement; + if (options.oneofs) + object._lastStatement = "lastStatement"; + } return object; }; @@ -52876,6 +52944,7 @@ * @memberof google.spanner.executor.v1 * @interface IBatchDmlAction * @property {Array.|null} [updates] BatchDmlAction updates + * @property {boolean|null} [lastStatements] BatchDmlAction lastStatements */ /** @@ -52902,6 +52971,23 @@ */ BatchDmlAction.prototype.updates = $util.emptyArray; + /** + * BatchDmlAction lastStatements. + * @member {boolean|null|undefined} lastStatements + * @memberof google.spanner.executor.v1.BatchDmlAction + * @instance + */ + BatchDmlAction.prototype.lastStatements = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + // Virtual OneOf for proto3 optional field + Object.defineProperty(BatchDmlAction.prototype, "_lastStatements", { + get: $util.oneOfGetter($oneOfFields = ["lastStatements"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new BatchDmlAction instance using the specified properties. * @function create @@ -52929,6 +53015,8 @@ if (message.updates != null && message.updates.length) for (var i = 0; i < message.updates.length; ++i) $root.google.spanner.executor.v1.QueryAction.encode(message.updates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.lastStatements != null && Object.hasOwnProperty.call(message, "lastStatements")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.lastStatements); return writer; }; @@ -52971,6 +53059,10 @@ message.updates.push($root.google.spanner.executor.v1.QueryAction.decode(reader, reader.uint32())); break; } + case 2: { + message.lastStatements = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -53006,6 +53098,7 @@ BatchDmlAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; + var properties = {}; if (message.updates != null && message.hasOwnProperty("updates")) { if (!Array.isArray(message.updates)) return "updates: array expected"; @@ -53015,6 +53108,11 @@ return "updates." + error; } } + if (message.lastStatements != null && message.hasOwnProperty("lastStatements")) { + properties._lastStatements = 1; + if (typeof message.lastStatements !== "boolean") + return "lastStatements: boolean expected"; + } return null; }; @@ -53040,6 +53138,8 @@ message.updates[i] = $root.google.spanner.executor.v1.QueryAction.fromObject(object.updates[i]); } } + if (object.lastStatements != null) + message.lastStatements = Boolean(object.lastStatements); return message; }; @@ -53063,6 +53163,11 @@ for (var j = 0; j < message.updates.length; ++j) object.updates[j] = $root.google.spanner.executor.v1.QueryAction.toObject(message.updates[j], options); } + if (message.lastStatements != null && message.hasOwnProperty("lastStatements")) { + object.lastStatements = message.lastStatements; + if (options.oneofs) + object._lastStatements = "lastStatements"; + } return object; }; @@ -57805,6 +57910,11 @@ * @memberof google.spanner.executor.v1 * @interface ITransactionExecutionOptions * @property {boolean|null} [optimistic] TransactionExecutionOptions optimistic + * @property {boolean|null} [excludeFromChangeStreams] TransactionExecutionOptions excludeFromChangeStreams + * @property {boolean|null} [serializableOptimistic] TransactionExecutionOptions serializableOptimistic + * @property {boolean|null} [snapshotIsolationOptimistic] TransactionExecutionOptions snapshotIsolationOptimistic + * @property {boolean|null} [snapshotIsolationPessimistic] TransactionExecutionOptions snapshotIsolationPessimistic + * @property {boolean|null} [excludeTxnFromChangeStreams] TransactionExecutionOptions excludeTxnFromChangeStreams */ /** @@ -57830,6 +57940,46 @@ */ TransactionExecutionOptions.prototype.optimistic = false; + /** + * TransactionExecutionOptions excludeFromChangeStreams. + * @member {boolean} excludeFromChangeStreams + * @memberof google.spanner.executor.v1.TransactionExecutionOptions + * @instance + */ + TransactionExecutionOptions.prototype.excludeFromChangeStreams = false; + + /** + * TransactionExecutionOptions serializableOptimistic. + * @member {boolean} serializableOptimistic + * @memberof google.spanner.executor.v1.TransactionExecutionOptions + * @instance + */ + TransactionExecutionOptions.prototype.serializableOptimistic = false; + + /** + * TransactionExecutionOptions snapshotIsolationOptimistic. + * @member {boolean} snapshotIsolationOptimistic + * @memberof google.spanner.executor.v1.TransactionExecutionOptions + * @instance + */ + TransactionExecutionOptions.prototype.snapshotIsolationOptimistic = false; + + /** + * TransactionExecutionOptions snapshotIsolationPessimistic. + * @member {boolean} snapshotIsolationPessimistic + * @memberof google.spanner.executor.v1.TransactionExecutionOptions + * @instance + */ + TransactionExecutionOptions.prototype.snapshotIsolationPessimistic = false; + + /** + * TransactionExecutionOptions excludeTxnFromChangeStreams. + * @member {boolean} excludeTxnFromChangeStreams + * @memberof google.spanner.executor.v1.TransactionExecutionOptions + * @instance + */ + TransactionExecutionOptions.prototype.excludeTxnFromChangeStreams = false; + /** * Creates a new TransactionExecutionOptions instance using the specified properties. * @function create @@ -57856,6 +58006,16 @@ writer = $Writer.create(); if (message.optimistic != null && Object.hasOwnProperty.call(message, "optimistic")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.optimistic); + if (message.excludeFromChangeStreams != null && Object.hasOwnProperty.call(message, "excludeFromChangeStreams")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.excludeFromChangeStreams); + if (message.serializableOptimistic != null && Object.hasOwnProperty.call(message, "serializableOptimistic")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.serializableOptimistic); + if (message.snapshotIsolationOptimistic != null && Object.hasOwnProperty.call(message, "snapshotIsolationOptimistic")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.snapshotIsolationOptimistic); + if (message.snapshotIsolationPessimistic != null && Object.hasOwnProperty.call(message, "snapshotIsolationPessimistic")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.snapshotIsolationPessimistic); + if (message.excludeTxnFromChangeStreams != null && Object.hasOwnProperty.call(message, "excludeTxnFromChangeStreams")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.excludeTxnFromChangeStreams); return writer; }; @@ -57896,6 +58056,26 @@ message.optimistic = reader.bool(); break; } + case 2: { + message.excludeFromChangeStreams = reader.bool(); + break; + } + case 3: { + message.serializableOptimistic = reader.bool(); + break; + } + case 4: { + message.snapshotIsolationOptimistic = reader.bool(); + break; + } + case 5: { + message.snapshotIsolationPessimistic = reader.bool(); + break; + } + case 6: { + message.excludeTxnFromChangeStreams = reader.bool(); + break; + } default: reader.skipType(tag & 7); break; @@ -57934,6 +58114,21 @@ if (message.optimistic != null && message.hasOwnProperty("optimistic")) if (typeof message.optimistic !== "boolean") return "optimistic: boolean expected"; + if (message.excludeFromChangeStreams != null && message.hasOwnProperty("excludeFromChangeStreams")) + if (typeof message.excludeFromChangeStreams !== "boolean") + return "excludeFromChangeStreams: boolean expected"; + if (message.serializableOptimistic != null && message.hasOwnProperty("serializableOptimistic")) + if (typeof message.serializableOptimistic !== "boolean") + return "serializableOptimistic: boolean expected"; + if (message.snapshotIsolationOptimistic != null && message.hasOwnProperty("snapshotIsolationOptimistic")) + if (typeof message.snapshotIsolationOptimistic !== "boolean") + return "snapshotIsolationOptimistic: boolean expected"; + if (message.snapshotIsolationPessimistic != null && message.hasOwnProperty("snapshotIsolationPessimistic")) + if (typeof message.snapshotIsolationPessimistic !== "boolean") + return "snapshotIsolationPessimistic: boolean expected"; + if (message.excludeTxnFromChangeStreams != null && message.hasOwnProperty("excludeTxnFromChangeStreams")) + if (typeof message.excludeTxnFromChangeStreams !== "boolean") + return "excludeTxnFromChangeStreams: boolean expected"; return null; }; @@ -57951,6 +58146,16 @@ var message = new $root.google.spanner.executor.v1.TransactionExecutionOptions(); if (object.optimistic != null) message.optimistic = Boolean(object.optimistic); + if (object.excludeFromChangeStreams != null) + message.excludeFromChangeStreams = Boolean(object.excludeFromChangeStreams); + if (object.serializableOptimistic != null) + message.serializableOptimistic = Boolean(object.serializableOptimistic); + if (object.snapshotIsolationOptimistic != null) + message.snapshotIsolationOptimistic = Boolean(object.snapshotIsolationOptimistic); + if (object.snapshotIsolationPessimistic != null) + message.snapshotIsolationPessimistic = Boolean(object.snapshotIsolationPessimistic); + if (object.excludeTxnFromChangeStreams != null) + message.excludeTxnFromChangeStreams = Boolean(object.excludeTxnFromChangeStreams); return message; }; @@ -57967,10 +58172,26 @@ if (!options) options = {}; var object = {}; - if (options.defaults) + if (options.defaults) { object.optimistic = false; + object.excludeFromChangeStreams = false; + object.serializableOptimistic = false; + object.snapshotIsolationOptimistic = false; + object.snapshotIsolationPessimistic = false; + object.excludeTxnFromChangeStreams = false; + } if (message.optimistic != null && message.hasOwnProperty("optimistic")) object.optimistic = message.optimistic; + if (message.excludeFromChangeStreams != null && message.hasOwnProperty("excludeFromChangeStreams")) + object.excludeFromChangeStreams = message.excludeFromChangeStreams; + if (message.serializableOptimistic != null && message.hasOwnProperty("serializableOptimistic")) + object.serializableOptimistic = message.serializableOptimistic; + if (message.snapshotIsolationOptimistic != null && message.hasOwnProperty("snapshotIsolationOptimistic")) + object.snapshotIsolationOptimistic = message.snapshotIsolationOptimistic; + if (message.snapshotIsolationPessimistic != null && message.hasOwnProperty("snapshotIsolationPessimistic")) + object.snapshotIsolationPessimistic = message.snapshotIsolationPessimistic; + if (message.excludeTxnFromChangeStreams != null && message.hasOwnProperty("excludeTxnFromChangeStreams")) + object.excludeTxnFromChangeStreams = message.excludeTxnFromChangeStreams; return object; }; @@ -58282,6 +58503,7 @@ * @property {google.spanner.executor.v1.IGetOperationAction|null} [getOperation] AdminAction getOperation * @property {google.spanner.executor.v1.ICancelOperationAction|null} [cancelOperation] AdminAction cancelOperation * @property {google.spanner.executor.v1.IChangeQuorumCloudDatabaseAction|null} [changeQuorumCloudDatabase] AdminAction changeQuorumCloudDatabase + * @property {google.spanner.executor.v1.IAddSplitPointsAction|null} [addSplitPoints] AdminAction addSplitPoints */ /** @@ -58523,17 +58745,25 @@ */ AdminAction.prototype.changeQuorumCloudDatabase = null; + /** + * AdminAction addSplitPoints. + * @member {google.spanner.executor.v1.IAddSplitPointsAction|null|undefined} addSplitPoints + * @memberof google.spanner.executor.v1.AdminAction + * @instance + */ + AdminAction.prototype.addSplitPoints = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * AdminAction action. - * @member {"createUserInstanceConfig"|"updateUserInstanceConfig"|"deleteUserInstanceConfig"|"getCloudInstanceConfig"|"listInstanceConfigs"|"createCloudInstance"|"updateCloudInstance"|"deleteCloudInstance"|"listCloudInstances"|"getCloudInstance"|"createCloudDatabase"|"updateCloudDatabaseDdl"|"updateCloudDatabase"|"dropCloudDatabase"|"listCloudDatabases"|"listCloudDatabaseOperations"|"restoreCloudDatabase"|"getCloudDatabase"|"createCloudBackup"|"copyCloudBackup"|"getCloudBackup"|"updateCloudBackup"|"deleteCloudBackup"|"listCloudBackups"|"listCloudBackupOperations"|"getOperation"|"cancelOperation"|"changeQuorumCloudDatabase"|undefined} action + * @member {"createUserInstanceConfig"|"updateUserInstanceConfig"|"deleteUserInstanceConfig"|"getCloudInstanceConfig"|"listInstanceConfigs"|"createCloudInstance"|"updateCloudInstance"|"deleteCloudInstance"|"listCloudInstances"|"getCloudInstance"|"createCloudDatabase"|"updateCloudDatabaseDdl"|"updateCloudDatabase"|"dropCloudDatabase"|"listCloudDatabases"|"listCloudDatabaseOperations"|"restoreCloudDatabase"|"getCloudDatabase"|"createCloudBackup"|"copyCloudBackup"|"getCloudBackup"|"updateCloudBackup"|"deleteCloudBackup"|"listCloudBackups"|"listCloudBackupOperations"|"getOperation"|"cancelOperation"|"changeQuorumCloudDatabase"|"addSplitPoints"|undefined} action * @memberof google.spanner.executor.v1.AdminAction * @instance */ Object.defineProperty(AdminAction.prototype, "action", { - get: $util.oneOfGetter($oneOfFields = ["createUserInstanceConfig", "updateUserInstanceConfig", "deleteUserInstanceConfig", "getCloudInstanceConfig", "listInstanceConfigs", "createCloudInstance", "updateCloudInstance", "deleteCloudInstance", "listCloudInstances", "getCloudInstance", "createCloudDatabase", "updateCloudDatabaseDdl", "updateCloudDatabase", "dropCloudDatabase", "listCloudDatabases", "listCloudDatabaseOperations", "restoreCloudDatabase", "getCloudDatabase", "createCloudBackup", "copyCloudBackup", "getCloudBackup", "updateCloudBackup", "deleteCloudBackup", "listCloudBackups", "listCloudBackupOperations", "getOperation", "cancelOperation", "changeQuorumCloudDatabase"]), + get: $util.oneOfGetter($oneOfFields = ["createUserInstanceConfig", "updateUserInstanceConfig", "deleteUserInstanceConfig", "getCloudInstanceConfig", "listInstanceConfigs", "createCloudInstance", "updateCloudInstance", "deleteCloudInstance", "listCloudInstances", "getCloudInstance", "createCloudDatabase", "updateCloudDatabaseDdl", "updateCloudDatabase", "dropCloudDatabase", "listCloudDatabases", "listCloudDatabaseOperations", "restoreCloudDatabase", "getCloudDatabase", "createCloudBackup", "copyCloudBackup", "getCloudBackup", "updateCloudBackup", "deleteCloudBackup", "listCloudBackups", "listCloudBackupOperations", "getOperation", "cancelOperation", "changeQuorumCloudDatabase", "addSplitPoints"]), set: $util.oneOfSetter($oneOfFields) }); @@ -58617,6 +58847,8 @@ $root.google.spanner.executor.v1.UpdateCloudDatabaseAction.encode(message.updateCloudDatabase, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim(); if (message.changeQuorumCloudDatabase != null && Object.hasOwnProperty.call(message, "changeQuorumCloudDatabase")) $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction.encode(message.changeQuorumCloudDatabase, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim(); + if (message.addSplitPoints != null && Object.hasOwnProperty.call(message, "addSplitPoints")) + $root.google.spanner.executor.v1.AddSplitPointsAction.encode(message.addSplitPoints, writer.uint32(/* id 29, wireType 2 =*/234).fork()).ldelim(); return writer; }; @@ -58765,6 +58997,10 @@ message.changeQuorumCloudDatabase = $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction.decode(reader, reader.uint32()); break; } + case 29: { + message.addSplitPoints = $root.google.spanner.executor.v1.AddSplitPointsAction.decode(reader, reader.uint32()); + break; + } default: reader.skipType(tag & 7); break; @@ -59079,6 +59315,16 @@ return "changeQuorumCloudDatabase." + error; } } + if (message.addSplitPoints != null && message.hasOwnProperty("addSplitPoints")) { + if (properties.action === 1) + return "action: multiple values"; + properties.action = 1; + { + var error = $root.google.spanner.executor.v1.AddSplitPointsAction.verify(message.addSplitPoints); + if (error) + return "addSplitPoints." + error; + } + } return null; }; @@ -59234,6 +59480,11 @@ throw TypeError(".google.spanner.executor.v1.AdminAction.changeQuorumCloudDatabase: object expected"); message.changeQuorumCloudDatabase = $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction.fromObject(object.changeQuorumCloudDatabase); } + if (object.addSplitPoints != null) { + if (typeof object.addSplitPoints !== "object") + throw TypeError(".google.spanner.executor.v1.AdminAction.addSplitPoints: object expected"); + message.addSplitPoints = $root.google.spanner.executor.v1.AddSplitPointsAction.fromObject(object.addSplitPoints); + } return message; }; @@ -59390,6 +59641,11 @@ if (options.oneofs) object.action = "changeQuorumCloudDatabase"; } + if (message.addSplitPoints != null && message.hasOwnProperty("addSplitPoints")) { + object.addSplitPoints = $root.google.spanner.executor.v1.AddSplitPointsAction.toObject(message.addSplitPoints, options); + if (options.oneofs) + object.action = "addSplitPoints"; + } return object; }; @@ -60790,6 +61046,7 @@ * @property {number|null} [processingUnits] CreateCloudInstanceAction processingUnits * @property {google.spanner.admin.instance.v1.IAutoscalingConfig|null} [autoscalingConfig] CreateCloudInstanceAction autoscalingConfig * @property {Object.|null} [labels] CreateCloudInstanceAction labels + * @property {google.spanner.admin.instance.v1.Instance.Edition|null} [edition] CreateCloudInstanceAction edition */ /** @@ -60864,6 +61121,14 @@ */ CreateCloudInstanceAction.prototype.labels = $util.emptyObject; + /** + * CreateCloudInstanceAction edition. + * @member {google.spanner.admin.instance.v1.Instance.Edition} edition + * @memberof google.spanner.executor.v1.CreateCloudInstanceAction + * @instance + */ + CreateCloudInstanceAction.prototype.edition = 0; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -60924,6 +61189,8 @@ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.processingUnits); if (message.autoscalingConfig != null && Object.hasOwnProperty.call(message, "autoscalingConfig")) $root.google.spanner.admin.instance.v1.AutoscalingConfig.encode(message.autoscalingConfig, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) + writer.uint32(/* id 8, wireType 0 =*/64).int32(message.edition); return writer; }; @@ -61007,6 +61274,10 @@ message.labels[key] = value; break; } + case 8: { + message.edition = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -61078,6 +61349,16 @@ if (!$util.isString(message.labels[key[i]])) return "labels: string{k:string} expected"; } + if (message.edition != null && message.hasOwnProperty("edition")) + switch (message.edition) { + default: + return "edition: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } return null; }; @@ -61115,6 +61396,30 @@ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) message.labels[keys[i]] = String(object.labels[keys[i]]); } + switch (object.edition) { + default: + if (typeof object.edition === "number") { + message.edition = object.edition; + break; + } + break; + case "EDITION_UNSPECIFIED": + case 0: + message.edition = 0; + break; + case "STANDARD": + case 1: + message.edition = 1; + break; + case "ENTERPRISE": + case 2: + message.edition = 2; + break; + case "ENTERPRISE_PLUS": + case 3: + message.edition = 3; + break; + } return message; }; @@ -61137,6 +61442,7 @@ object.instanceId = ""; object.projectId = ""; object.instanceConfigId = ""; + object.edition = options.enums === String ? "EDITION_UNSPECIFIED" : 0; } if (message.instanceId != null && message.hasOwnProperty("instanceId")) object.instanceId = message.instanceId; @@ -61165,6 +61471,8 @@ if (options.oneofs) object._autoscalingConfig = "autoscalingConfig"; } + if (message.edition != null && message.hasOwnProperty("edition")) + object.edition = options.enums === String ? $root.google.spanner.admin.instance.v1.Instance.Edition[message.edition] === undefined ? message.edition : $root.google.spanner.admin.instance.v1.Instance.Edition[message.edition] : message.edition; return object; }; @@ -61210,6 +61518,7 @@ * @property {number|null} [processingUnits] UpdateCloudInstanceAction processingUnits * @property {google.spanner.admin.instance.v1.IAutoscalingConfig|null} [autoscalingConfig] UpdateCloudInstanceAction autoscalingConfig * @property {Object.|null} [labels] UpdateCloudInstanceAction labels + * @property {google.spanner.admin.instance.v1.Instance.Edition|null} [edition] UpdateCloudInstanceAction edition */ /** @@ -61284,6 +61593,14 @@ */ UpdateCloudInstanceAction.prototype.labels = $util.emptyObject; + /** + * UpdateCloudInstanceAction edition. + * @member {google.spanner.admin.instance.v1.Instance.Edition} edition + * @memberof google.spanner.executor.v1.UpdateCloudInstanceAction + * @instance + */ + UpdateCloudInstanceAction.prototype.edition = 0; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -61350,6 +61667,8 @@ writer.uint32(/* id 6, wireType 2 =*/50).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim(); if (message.autoscalingConfig != null && Object.hasOwnProperty.call(message, "autoscalingConfig")) $root.google.spanner.admin.instance.v1.AutoscalingConfig.encode(message.autoscalingConfig, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) + writer.uint32(/* id 8, wireType 0 =*/64).int32(message.edition); return writer; }; @@ -61433,6 +61752,10 @@ message.labels[key] = value; break; } + case 8: { + message.edition = reader.int32(); + break; + } default: reader.skipType(tag & 7); break; @@ -61506,6 +61829,16 @@ if (!$util.isString(message.labels[key[i]])) return "labels: string{k:string} expected"; } + if (message.edition != null && message.hasOwnProperty("edition")) + switch (message.edition) { + default: + return "edition: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } return null; }; @@ -61543,6 +61876,30 @@ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) message.labels[keys[i]] = String(object.labels[keys[i]]); } + switch (object.edition) { + default: + if (typeof object.edition === "number") { + message.edition = object.edition; + break; + } + break; + case "EDITION_UNSPECIFIED": + case 0: + message.edition = 0; + break; + case "STANDARD": + case 1: + message.edition = 1; + break; + case "ENTERPRISE": + case 2: + message.edition = 2; + break; + case "ENTERPRISE_PLUS": + case 3: + message.edition = 3; + break; + } return message; }; @@ -61564,6 +61921,7 @@ if (options.defaults) { object.instanceId = ""; object.projectId = ""; + object.edition = options.enums === String ? "EDITION_UNSPECIFIED" : 0; } if (message.instanceId != null && message.hasOwnProperty("instanceId")) object.instanceId = message.instanceId; @@ -61595,6 +61953,8 @@ if (options.oneofs) object._autoscalingConfig = "autoscalingConfig"; } + if (message.edition != null && message.hasOwnProperty("edition")) + object.edition = options.enums === String ? $root.google.spanner.admin.instance.v1.Instance.Edition[message.edition] === undefined ? message.edition : $root.google.spanner.admin.instance.v1.Instance.Edition[message.edition] : message.edition; return object; }; @@ -63389,27 +63749,30 @@ return ChangeQuorumCloudDatabaseAction; })(); - v1.ListCloudDatabasesAction = (function() { + v1.AdaptMessageAction = (function() { /** - * Properties of a ListCloudDatabasesAction. + * Properties of an AdaptMessageAction. * @memberof google.spanner.executor.v1 - * @interface IListCloudDatabasesAction - * @property {string|null} [projectId] ListCloudDatabasesAction projectId - * @property {string|null} [instanceId] ListCloudDatabasesAction instanceId - * @property {number|null} [pageSize] ListCloudDatabasesAction pageSize - * @property {string|null} [pageToken] ListCloudDatabasesAction pageToken + * @interface IAdaptMessageAction + * @property {string|null} [databaseUri] AdaptMessageAction databaseUri + * @property {string|null} [protocol] AdaptMessageAction protocol + * @property {Uint8Array|null} [payload] AdaptMessageAction payload + * @property {Object.|null} [attachments] AdaptMessageAction attachments + * @property {string|null} [query] AdaptMessageAction query + * @property {boolean|null} [prepareThenExecute] AdaptMessageAction prepareThenExecute */ /** - * Constructs a new ListCloudDatabasesAction. + * Constructs a new AdaptMessageAction. * @memberof google.spanner.executor.v1 - * @classdesc Represents a ListCloudDatabasesAction. - * @implements IListCloudDatabasesAction + * @classdesc Represents an AdaptMessageAction. + * @implements IAdaptMessageAction * @constructor - * @param {google.spanner.executor.v1.IListCloudDatabasesAction=} [properties] Properties to set + * @param {google.spanner.executor.v1.IAdaptMessageAction=} [properties] Properties to set */ - function ListCloudDatabasesAction(properties) { + function AdaptMessageAction(properties) { + this.attachments = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -63417,119 +63780,482 @@ } /** - * ListCloudDatabasesAction projectId. - * @member {string} projectId - * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * AdaptMessageAction databaseUri. + * @member {string} databaseUri + * @memberof google.spanner.executor.v1.AdaptMessageAction * @instance */ - ListCloudDatabasesAction.prototype.projectId = ""; + AdaptMessageAction.prototype.databaseUri = ""; /** - * ListCloudDatabasesAction instanceId. - * @member {string} instanceId - * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * AdaptMessageAction protocol. + * @member {string} protocol + * @memberof google.spanner.executor.v1.AdaptMessageAction * @instance */ - ListCloudDatabasesAction.prototype.instanceId = ""; + AdaptMessageAction.prototype.protocol = ""; /** - * ListCloudDatabasesAction pageSize. - * @member {number} pageSize - * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * AdaptMessageAction payload. + * @member {Uint8Array} payload + * @memberof google.spanner.executor.v1.AdaptMessageAction * @instance */ - ListCloudDatabasesAction.prototype.pageSize = 0; + AdaptMessageAction.prototype.payload = $util.newBuffer([]); /** - * ListCloudDatabasesAction pageToken. - * @member {string} pageToken - * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * AdaptMessageAction attachments. + * @member {Object.} attachments + * @memberof google.spanner.executor.v1.AdaptMessageAction * @instance */ - ListCloudDatabasesAction.prototype.pageToken = ""; + AdaptMessageAction.prototype.attachments = $util.emptyObject; /** - * Creates a new ListCloudDatabasesAction instance using the specified properties. + * AdaptMessageAction query. + * @member {string} query + * @memberof google.spanner.executor.v1.AdaptMessageAction + * @instance + */ + AdaptMessageAction.prototype.query = ""; + + /** + * AdaptMessageAction prepareThenExecute. + * @member {boolean} prepareThenExecute + * @memberof google.spanner.executor.v1.AdaptMessageAction + * @instance + */ + AdaptMessageAction.prototype.prepareThenExecute = false; + + /** + * Creates a new AdaptMessageAction instance using the specified properties. * @function create - * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @memberof google.spanner.executor.v1.AdaptMessageAction * @static - * @param {google.spanner.executor.v1.IListCloudDatabasesAction=} [properties] Properties to set - * @returns {google.spanner.executor.v1.ListCloudDatabasesAction} ListCloudDatabasesAction instance + * @param {google.spanner.executor.v1.IAdaptMessageAction=} [properties] Properties to set + * @returns {google.spanner.executor.v1.AdaptMessageAction} AdaptMessageAction instance */ - ListCloudDatabasesAction.create = function create(properties) { - return new ListCloudDatabasesAction(properties); + AdaptMessageAction.create = function create(properties) { + return new AdaptMessageAction(properties); }; /** - * Encodes the specified ListCloudDatabasesAction message. Does not implicitly {@link google.spanner.executor.v1.ListCloudDatabasesAction.verify|verify} messages. + * Encodes the specified AdaptMessageAction message. Does not implicitly {@link google.spanner.executor.v1.AdaptMessageAction.verify|verify} messages. * @function encode - * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @memberof google.spanner.executor.v1.AdaptMessageAction * @static - * @param {google.spanner.executor.v1.IListCloudDatabasesAction} message ListCloudDatabasesAction message or plain object to encode + * @param {google.spanner.executor.v1.IAdaptMessageAction} message AdaptMessageAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListCloudDatabasesAction.encode = function encode(message, writer) { + AdaptMessageAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); - if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId")) - writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId); - if (message.instanceId != null && Object.hasOwnProperty.call(message, "instanceId")) - writer.uint32(/* id 2, wireType 2 =*/18).string(message.instanceId); - if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) - writer.uint32(/* id 3, wireType 0 =*/24).int32(message.pageSize); - if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) - writer.uint32(/* id 4, wireType 2 =*/34).string(message.pageToken); + if (message.databaseUri != null && Object.hasOwnProperty.call(message, "databaseUri")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.databaseUri); + if (message.protocol != null && Object.hasOwnProperty.call(message, "protocol")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.protocol); + if (message.payload != null && Object.hasOwnProperty.call(message, "payload")) + writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.payload); + if (message.attachments != null && Object.hasOwnProperty.call(message, "attachments")) + for (var keys = Object.keys(message.attachments), i = 0; i < keys.length; ++i) + writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.attachments[keys[i]]).ldelim(); + if (message.query != null && Object.hasOwnProperty.call(message, "query")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.query); + if (message.prepareThenExecute != null && Object.hasOwnProperty.call(message, "prepareThenExecute")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.prepareThenExecute); return writer; }; /** - * Encodes the specified ListCloudDatabasesAction message, length delimited. Does not implicitly {@link google.spanner.executor.v1.ListCloudDatabasesAction.verify|verify} messages. + * Encodes the specified AdaptMessageAction message, length delimited. Does not implicitly {@link google.spanner.executor.v1.AdaptMessageAction.verify|verify} messages. * @function encodeDelimited - * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @memberof google.spanner.executor.v1.AdaptMessageAction * @static - * @param {google.spanner.executor.v1.IListCloudDatabasesAction} message ListCloudDatabasesAction message or plain object to encode + * @param {google.spanner.executor.v1.IAdaptMessageAction} message AdaptMessageAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ - ListCloudDatabasesAction.encodeDelimited = function encodeDelimited(message, writer) { + AdaptMessageAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** - * Decodes a ListCloudDatabasesAction message from the specified reader or buffer. + * Decodes an AdaptMessageAction message from the specified reader or buffer. * @function decode - * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @memberof google.spanner.executor.v1.AdaptMessageAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand - * @returns {google.spanner.executor.v1.ListCloudDatabasesAction} ListCloudDatabasesAction + * @returns {google.spanner.executor.v1.AdaptMessageAction} AdaptMessageAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListCloudDatabasesAction.decode = function decode(reader, length, error) { + AdaptMessageAction.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.spanner.executor.v1.ListCloudDatabasesAction(); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.AdaptMessageAction(), key, value; while (reader.pos < end) { var tag = reader.uint32(); if (tag === error) break; switch (tag >>> 3) { case 1: { - message.projectId = reader.string(); + message.databaseUri = reader.string(); break; } case 2: { - message.instanceId = reader.string(); + message.protocol = reader.string(); break; } case 3: { - message.pageSize = reader.int32(); + message.payload = reader.bytes(); break; } case 4: { - message.pageToken = reader.string(); + if (message.attachments === $util.emptyObject) + message.attachments = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.attachments[key] = value; + break; + } + case 5: { + message.query = reader.string(); + break; + } + case 6: { + message.prepareThenExecute = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AdaptMessageAction message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.spanner.executor.v1.AdaptMessageAction + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.spanner.executor.v1.AdaptMessageAction} AdaptMessageAction + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AdaptMessageAction.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AdaptMessageAction message. + * @function verify + * @memberof google.spanner.executor.v1.AdaptMessageAction + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AdaptMessageAction.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.databaseUri != null && message.hasOwnProperty("databaseUri")) + if (!$util.isString(message.databaseUri)) + return "databaseUri: string expected"; + if (message.protocol != null && message.hasOwnProperty("protocol")) + if (!$util.isString(message.protocol)) + return "protocol: string expected"; + if (message.payload != null && message.hasOwnProperty("payload")) + if (!(message.payload && typeof message.payload.length === "number" || $util.isString(message.payload))) + return "payload: buffer expected"; + if (message.attachments != null && message.hasOwnProperty("attachments")) { + if (!$util.isObject(message.attachments)) + return "attachments: object expected"; + var key = Object.keys(message.attachments); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.attachments[key[i]])) + return "attachments: string{k:string} expected"; + } + if (message.query != null && message.hasOwnProperty("query")) + if (!$util.isString(message.query)) + return "query: string expected"; + if (message.prepareThenExecute != null && message.hasOwnProperty("prepareThenExecute")) + if (typeof message.prepareThenExecute !== "boolean") + return "prepareThenExecute: boolean expected"; + return null; + }; + + /** + * Creates an AdaptMessageAction message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.spanner.executor.v1.AdaptMessageAction + * @static + * @param {Object.} object Plain object + * @returns {google.spanner.executor.v1.AdaptMessageAction} AdaptMessageAction + */ + AdaptMessageAction.fromObject = function fromObject(object) { + if (object instanceof $root.google.spanner.executor.v1.AdaptMessageAction) + return object; + var message = new $root.google.spanner.executor.v1.AdaptMessageAction(); + if (object.databaseUri != null) + message.databaseUri = String(object.databaseUri); + if (object.protocol != null) + message.protocol = String(object.protocol); + if (object.payload != null) + if (typeof object.payload === "string") + $util.base64.decode(object.payload, message.payload = $util.newBuffer($util.base64.length(object.payload)), 0); + else if (object.payload.length >= 0) + message.payload = object.payload; + if (object.attachments) { + if (typeof object.attachments !== "object") + throw TypeError(".google.spanner.executor.v1.AdaptMessageAction.attachments: object expected"); + message.attachments = {}; + for (var keys = Object.keys(object.attachments), i = 0; i < keys.length; ++i) + message.attachments[keys[i]] = String(object.attachments[keys[i]]); + } + if (object.query != null) + message.query = String(object.query); + if (object.prepareThenExecute != null) + message.prepareThenExecute = Boolean(object.prepareThenExecute); + return message; + }; + + /** + * Creates a plain object from an AdaptMessageAction message. Also converts values to other types if specified. + * @function toObject + * @memberof google.spanner.executor.v1.AdaptMessageAction + * @static + * @param {google.spanner.executor.v1.AdaptMessageAction} message AdaptMessageAction + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AdaptMessageAction.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.attachments = {}; + if (options.defaults) { + object.databaseUri = ""; + object.protocol = ""; + if (options.bytes === String) + object.payload = ""; + else { + object.payload = []; + if (options.bytes !== Array) + object.payload = $util.newBuffer(object.payload); + } + object.query = ""; + object.prepareThenExecute = false; + } + if (message.databaseUri != null && message.hasOwnProperty("databaseUri")) + object.databaseUri = message.databaseUri; + if (message.protocol != null && message.hasOwnProperty("protocol")) + object.protocol = message.protocol; + if (message.payload != null && message.hasOwnProperty("payload")) + object.payload = options.bytes === String ? $util.base64.encode(message.payload, 0, message.payload.length) : options.bytes === Array ? Array.prototype.slice.call(message.payload) : message.payload; + var keys2; + if (message.attachments && (keys2 = Object.keys(message.attachments)).length) { + object.attachments = {}; + for (var j = 0; j < keys2.length; ++j) + object.attachments[keys2[j]] = message.attachments[keys2[j]]; + } + if (message.query != null && message.hasOwnProperty("query")) + object.query = message.query; + if (message.prepareThenExecute != null && message.hasOwnProperty("prepareThenExecute")) + object.prepareThenExecute = message.prepareThenExecute; + return object; + }; + + /** + * Converts this AdaptMessageAction to JSON. + * @function toJSON + * @memberof google.spanner.executor.v1.AdaptMessageAction + * @instance + * @returns {Object.} JSON object + */ + AdaptMessageAction.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AdaptMessageAction + * @function getTypeUrl + * @memberof google.spanner.executor.v1.AdaptMessageAction + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AdaptMessageAction.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.spanner.executor.v1.AdaptMessageAction"; + }; + + return AdaptMessageAction; + })(); + + v1.ListCloudDatabasesAction = (function() { + + /** + * Properties of a ListCloudDatabasesAction. + * @memberof google.spanner.executor.v1 + * @interface IListCloudDatabasesAction + * @property {string|null} [projectId] ListCloudDatabasesAction projectId + * @property {string|null} [instanceId] ListCloudDatabasesAction instanceId + * @property {number|null} [pageSize] ListCloudDatabasesAction pageSize + * @property {string|null} [pageToken] ListCloudDatabasesAction pageToken + */ + + /** + * Constructs a new ListCloudDatabasesAction. + * @memberof google.spanner.executor.v1 + * @classdesc Represents a ListCloudDatabasesAction. + * @implements IListCloudDatabasesAction + * @constructor + * @param {google.spanner.executor.v1.IListCloudDatabasesAction=} [properties] Properties to set + */ + function ListCloudDatabasesAction(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]]; + } + + /** + * ListCloudDatabasesAction projectId. + * @member {string} projectId + * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @instance + */ + ListCloudDatabasesAction.prototype.projectId = ""; + + /** + * ListCloudDatabasesAction instanceId. + * @member {string} instanceId + * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @instance + */ + ListCloudDatabasesAction.prototype.instanceId = ""; + + /** + * ListCloudDatabasesAction pageSize. + * @member {number} pageSize + * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @instance + */ + ListCloudDatabasesAction.prototype.pageSize = 0; + + /** + * ListCloudDatabasesAction pageToken. + * @member {string} pageToken + * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @instance + */ + ListCloudDatabasesAction.prototype.pageToken = ""; + + /** + * Creates a new ListCloudDatabasesAction instance using the specified properties. + * @function create + * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @static + * @param {google.spanner.executor.v1.IListCloudDatabasesAction=} [properties] Properties to set + * @returns {google.spanner.executor.v1.ListCloudDatabasesAction} ListCloudDatabasesAction instance + */ + ListCloudDatabasesAction.create = function create(properties) { + return new ListCloudDatabasesAction(properties); + }; + + /** + * Encodes the specified ListCloudDatabasesAction message. Does not implicitly {@link google.spanner.executor.v1.ListCloudDatabasesAction.verify|verify} messages. + * @function encode + * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @static + * @param {google.spanner.executor.v1.IListCloudDatabasesAction} message ListCloudDatabasesAction message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListCloudDatabasesAction.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId); + if (message.instanceId != null && Object.hasOwnProperty.call(message, "instanceId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.instanceId); + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.pageSize); + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListCloudDatabasesAction message, length delimited. Does not implicitly {@link google.spanner.executor.v1.ListCloudDatabasesAction.verify|verify} messages. + * @function encodeDelimited + * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @static + * @param {google.spanner.executor.v1.IListCloudDatabasesAction} message ListCloudDatabasesAction message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListCloudDatabasesAction.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListCloudDatabasesAction message from the specified reader or buffer. + * @function decode + * @memberof google.spanner.executor.v1.ListCloudDatabasesAction + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.spanner.executor.v1.ListCloudDatabasesAction} ListCloudDatabasesAction + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListCloudDatabasesAction.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.spanner.executor.v1.ListCloudDatabasesAction(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.projectId = reader.string(); + break; + } + case 2: { + message.instanceId = reader.string(); + break; + } + case 3: { + message.pageSize = reader.int32(); + break; + } + case 4: { + message.pageToken = reader.string(); break; } default: @@ -67773,6 +68499,303 @@ return CancelOperationAction; })(); + v1.AddSplitPointsAction = (function() { + + /** + * Properties of an AddSplitPointsAction. + * @memberof google.spanner.executor.v1 + * @interface IAddSplitPointsAction + * @property {string|null} [projectId] AddSplitPointsAction projectId + * @property {string|null} [instanceId] AddSplitPointsAction instanceId + * @property {string|null} [databaseId] AddSplitPointsAction databaseId + * @property {Array.|null} [splitPoints] AddSplitPointsAction splitPoints + */ + + /** + * Constructs a new AddSplitPointsAction. + * @memberof google.spanner.executor.v1 + * @classdesc Represents an AddSplitPointsAction. + * @implements IAddSplitPointsAction + * @constructor + * @param {google.spanner.executor.v1.IAddSplitPointsAction=} [properties] Properties to set + */ + function AddSplitPointsAction(properties) { + this.splitPoints = []; + 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]]; + } + + /** + * AddSplitPointsAction projectId. + * @member {string} projectId + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @instance + */ + AddSplitPointsAction.prototype.projectId = ""; + + /** + * AddSplitPointsAction instanceId. + * @member {string} instanceId + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @instance + */ + AddSplitPointsAction.prototype.instanceId = ""; + + /** + * AddSplitPointsAction databaseId. + * @member {string} databaseId + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @instance + */ + AddSplitPointsAction.prototype.databaseId = ""; + + /** + * AddSplitPointsAction splitPoints. + * @member {Array.} splitPoints + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @instance + */ + AddSplitPointsAction.prototype.splitPoints = $util.emptyArray; + + /** + * Creates a new AddSplitPointsAction instance using the specified properties. + * @function create + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @static + * @param {google.spanner.executor.v1.IAddSplitPointsAction=} [properties] Properties to set + * @returns {google.spanner.executor.v1.AddSplitPointsAction} AddSplitPointsAction instance + */ + AddSplitPointsAction.create = function create(properties) { + return new AddSplitPointsAction(properties); + }; + + /** + * Encodes the specified AddSplitPointsAction message. Does not implicitly {@link google.spanner.executor.v1.AddSplitPointsAction.verify|verify} messages. + * @function encode + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @static + * @param {google.spanner.executor.v1.IAddSplitPointsAction} message AddSplitPointsAction message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AddSplitPointsAction.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.projectId != null && Object.hasOwnProperty.call(message, "projectId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.projectId); + if (message.instanceId != null && Object.hasOwnProperty.call(message, "instanceId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.instanceId); + if (message.databaseId != null && Object.hasOwnProperty.call(message, "databaseId")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.databaseId); + if (message.splitPoints != null && message.splitPoints.length) + for (var i = 0; i < message.splitPoints.length; ++i) + $root.google.spanner.admin.database.v1.SplitPoints.encode(message.splitPoints[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AddSplitPointsAction message, length delimited. Does not implicitly {@link google.spanner.executor.v1.AddSplitPointsAction.verify|verify} messages. + * @function encodeDelimited + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @static + * @param {google.spanner.executor.v1.IAddSplitPointsAction} message AddSplitPointsAction message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AddSplitPointsAction.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AddSplitPointsAction message from the specified reader or buffer. + * @function decode + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.spanner.executor.v1.AddSplitPointsAction} AddSplitPointsAction + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AddSplitPointsAction.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.spanner.executor.v1.AddSplitPointsAction(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.projectId = reader.string(); + break; + } + case 2: { + message.instanceId = reader.string(); + break; + } + case 3: { + message.databaseId = reader.string(); + break; + } + case 4: { + if (!(message.splitPoints && message.splitPoints.length)) + message.splitPoints = []; + message.splitPoints.push($root.google.spanner.admin.database.v1.SplitPoints.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AddSplitPointsAction message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.spanner.executor.v1.AddSplitPointsAction} AddSplitPointsAction + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AddSplitPointsAction.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AddSplitPointsAction message. + * @function verify + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AddSplitPointsAction.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.projectId != null && message.hasOwnProperty("projectId")) + if (!$util.isString(message.projectId)) + return "projectId: string expected"; + if (message.instanceId != null && message.hasOwnProperty("instanceId")) + if (!$util.isString(message.instanceId)) + return "instanceId: string expected"; + if (message.databaseId != null && message.hasOwnProperty("databaseId")) + if (!$util.isString(message.databaseId)) + return "databaseId: string expected"; + if (message.splitPoints != null && message.hasOwnProperty("splitPoints")) { + if (!Array.isArray(message.splitPoints)) + return "splitPoints: array expected"; + for (var i = 0; i < message.splitPoints.length; ++i) { + var error = $root.google.spanner.admin.database.v1.SplitPoints.verify(message.splitPoints[i]); + if (error) + return "splitPoints." + error; + } + } + return null; + }; + + /** + * Creates an AddSplitPointsAction message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @static + * @param {Object.} object Plain object + * @returns {google.spanner.executor.v1.AddSplitPointsAction} AddSplitPointsAction + */ + AddSplitPointsAction.fromObject = function fromObject(object) { + if (object instanceof $root.google.spanner.executor.v1.AddSplitPointsAction) + return object; + var message = new $root.google.spanner.executor.v1.AddSplitPointsAction(); + if (object.projectId != null) + message.projectId = String(object.projectId); + if (object.instanceId != null) + message.instanceId = String(object.instanceId); + if (object.databaseId != null) + message.databaseId = String(object.databaseId); + if (object.splitPoints) { + if (!Array.isArray(object.splitPoints)) + throw TypeError(".google.spanner.executor.v1.AddSplitPointsAction.splitPoints: array expected"); + message.splitPoints = []; + for (var i = 0; i < object.splitPoints.length; ++i) { + if (typeof object.splitPoints[i] !== "object") + throw TypeError(".google.spanner.executor.v1.AddSplitPointsAction.splitPoints: object expected"); + message.splitPoints[i] = $root.google.spanner.admin.database.v1.SplitPoints.fromObject(object.splitPoints[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AddSplitPointsAction message. Also converts values to other types if specified. + * @function toObject + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @static + * @param {google.spanner.executor.v1.AddSplitPointsAction} message AddSplitPointsAction + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AddSplitPointsAction.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.splitPoints = []; + if (options.defaults) { + object.projectId = ""; + object.instanceId = ""; + object.databaseId = ""; + } + if (message.projectId != null && message.hasOwnProperty("projectId")) + object.projectId = message.projectId; + if (message.instanceId != null && message.hasOwnProperty("instanceId")) + object.instanceId = message.instanceId; + if (message.databaseId != null && message.hasOwnProperty("databaseId")) + object.databaseId = message.databaseId; + if (message.splitPoints && message.splitPoints.length) { + object.splitPoints = []; + for (var j = 0; j < message.splitPoints.length; ++j) + object.splitPoints[j] = $root.google.spanner.admin.database.v1.SplitPoints.toObject(message.splitPoints[j], options); + } + return object; + }; + + /** + * Converts this AddSplitPointsAction to JSON. + * @function toJSON + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @instance + * @returns {Object.} JSON object + */ + AddSplitPointsAction.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AddSplitPointsAction + * @function getTypeUrl + * @memberof google.spanner.executor.v1.AddSplitPointsAction + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AddSplitPointsAction.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.spanner.executor.v1.AddSplitPointsAction"; + }; + + return AddSplitPointsAction; + })(); + v1.StartBatchTransactionAction = (function() { /** @@ -69867,6 +70890,7 @@ * @property {google.spanner.executor.v1.IAdminResult|null} [adminResult] SpannerActionOutcome adminResult * @property {Array.|null} [dmlRowsModified] SpannerActionOutcome dmlRowsModified * @property {Array.|null} [changeStreamRecords] SpannerActionOutcome changeStreamRecords + * @property {number|Long|null} [snapshotIsolationTxnReadTimestamp] SpannerActionOutcome snapshotIsolationTxnReadTimestamp */ /** @@ -69967,6 +70991,14 @@ */ SpannerActionOutcome.prototype.changeStreamRecords = $util.emptyArray; + /** + * SpannerActionOutcome snapshotIsolationTxnReadTimestamp. + * @member {number|Long|null|undefined} snapshotIsolationTxnReadTimestamp + * @memberof google.spanner.executor.v1.SpannerActionOutcome + * @instance + */ + SpannerActionOutcome.prototype.snapshotIsolationTxnReadTimestamp = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -70012,6 +71044,12 @@ set: $util.oneOfSetter($oneOfFields) }); + // Virtual OneOf for proto3 optional field + Object.defineProperty(SpannerActionOutcome.prototype, "_snapshotIsolationTxnReadTimestamp", { + get: $util.oneOfGetter($oneOfFields = ["snapshotIsolationTxnReadTimestamp"]), + set: $util.oneOfSetter($oneOfFields) + }); + /** * Creates a new SpannerActionOutcome instance using the specified properties. * @function create @@ -70062,6 +71100,8 @@ if (message.changeStreamRecords != null && message.changeStreamRecords.length) for (var i = 0; i < message.changeStreamRecords.length; ++i) $root.google.spanner.executor.v1.ChangeStreamRecord.encode(message.changeStreamRecords[i], writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.snapshotIsolationTxnReadTimestamp != null && Object.hasOwnProperty.call(message, "snapshotIsolationTxnReadTimestamp")) + writer.uint32(/* id 11, wireType 0 =*/88).int64(message.snapshotIsolationTxnReadTimestamp); return writer; }; @@ -70149,6 +71189,10 @@ message.changeStreamRecords.push($root.google.spanner.executor.v1.ChangeStreamRecord.decode(reader, reader.uint32())); break; } + case 11: { + message.snapshotIsolationTxnReadTimestamp = reader.int64(); + break; + } default: reader.skipType(tag & 7); break; @@ -70260,6 +71304,11 @@ return "changeStreamRecords." + error; } } + if (message.snapshotIsolationTxnReadTimestamp != null && message.hasOwnProperty("snapshotIsolationTxnReadTimestamp")) { + properties._snapshotIsolationTxnReadTimestamp = 1; + if (!$util.isInteger(message.snapshotIsolationTxnReadTimestamp) && !(message.snapshotIsolationTxnReadTimestamp && $util.isInteger(message.snapshotIsolationTxnReadTimestamp.low) && $util.isInteger(message.snapshotIsolationTxnReadTimestamp.high))) + return "snapshotIsolationTxnReadTimestamp: integer|Long expected"; + } return null; }; @@ -70341,6 +71390,15 @@ message.changeStreamRecords[i] = $root.google.spanner.executor.v1.ChangeStreamRecord.fromObject(object.changeStreamRecords[i]); } } + if (object.snapshotIsolationTxnReadTimestamp != null) + if ($util.Long) + (message.snapshotIsolationTxnReadTimestamp = $util.Long.fromValue(object.snapshotIsolationTxnReadTimestamp)).unsigned = false; + else if (typeof object.snapshotIsolationTxnReadTimestamp === "string") + message.snapshotIsolationTxnReadTimestamp = parseInt(object.snapshotIsolationTxnReadTimestamp, 10); + else if (typeof object.snapshotIsolationTxnReadTimestamp === "number") + message.snapshotIsolationTxnReadTimestamp = object.snapshotIsolationTxnReadTimestamp; + else if (typeof object.snapshotIsolationTxnReadTimestamp === "object") + message.snapshotIsolationTxnReadTimestamp = new $util.LongBits(object.snapshotIsolationTxnReadTimestamp.low >>> 0, object.snapshotIsolationTxnReadTimestamp.high >>> 0).toNumber(); return message; }; @@ -70415,6 +71473,14 @@ for (var j = 0; j < message.changeStreamRecords.length; ++j) object.changeStreamRecords[j] = $root.google.spanner.executor.v1.ChangeStreamRecord.toObject(message.changeStreamRecords[j], options); } + if (message.snapshotIsolationTxnReadTimestamp != null && message.hasOwnProperty("snapshotIsolationTxnReadTimestamp")) { + if (typeof message.snapshotIsolationTxnReadTimestamp === "number") + object.snapshotIsolationTxnReadTimestamp = options.longs === String ? String(message.snapshotIsolationTxnReadTimestamp) : message.snapshotIsolationTxnReadTimestamp; + else + object.snapshotIsolationTxnReadTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.snapshotIsolationTxnReadTimestamp) : options.longs === Number ? new $util.LongBits(message.snapshotIsolationTxnReadTimestamp.low >>> 0, message.snapshotIsolationTxnReadTimestamp.high >>> 0).toNumber() : message.snapshotIsolationTxnReadTimestamp; + if (options.oneofs) + object._snapshotIsolationTxnReadTimestamp = "snapshotIsolationTxnReadTimestamp"; + } return object; }; diff --git a/protos/protos.json b/protos/protos.json index 9576bee24..0198eb256 100644 --- a/protos/protos.json +++ b/protos/protos.json @@ -5739,7 +5739,8 @@ "generateDbPartitionsQuery", "executePartition", "executeChangeStreamQuery", - "queryCancellation" + "queryCancellation", + "adaptMessage" ] } }, @@ -5819,6 +5820,10 @@ "queryCancellation": { "type": "QueryCancellationAction", "id": 51 + }, + "adaptMessage": { + "type": "AdaptMessageAction", + "id": 52 } } }, @@ -5894,6 +5899,11 @@ "oneof": [ "autocommitIfSupported" ] + }, + "_lastStatement": { + "oneof": [ + "lastStatement" + ] } }, "fields": { @@ -5907,15 +5917,36 @@ "options": { "proto3_optional": true } + }, + "lastStatement": { + "type": "bool", + "id": 3, + "options": { + "proto3_optional": true + } } } }, "BatchDmlAction": { + "oneofs": { + "_lastStatements": { + "oneof": [ + "lastStatements" + ] + } + }, "fields": { "updates": { "rule": "repeated", "type": "QueryAction", "id": 1 + }, + "lastStatements": { + "type": "bool", + "id": 2, + "options": { + "proto3_optional": true + } } } }, @@ -6325,6 +6356,26 @@ "optimistic": { "type": "bool", "id": 1 + }, + "excludeFromChangeStreams": { + "type": "bool", + "id": 2 + }, + "serializableOptimistic": { + "type": "bool", + "id": 3 + }, + "snapshotIsolationOptimistic": { + "type": "bool", + "id": 4 + }, + "snapshotIsolationPessimistic": { + "type": "bool", + "id": 5 + }, + "excludeTxnFromChangeStreams": { + "type": "bool", + "id": 6 } } }, @@ -6376,7 +6427,8 @@ "listCloudBackupOperations", "getOperation", "cancelOperation", - "changeQuorumCloudDatabase" + "changeQuorumCloudDatabase", + "addSplitPoints" ] } }, @@ -6492,6 +6544,10 @@ "changeQuorumCloudDatabase": { "type": "ChangeQuorumCloudDatabaseAction", "id": 28 + }, + "addSplitPoints": { + "type": "AddSplitPointsAction", + "id": 29 } } }, @@ -6661,6 +6717,10 @@ "keyType": "string", "type": "string", "id": 5 + }, + "edition": { + "type": "google.spanner.admin.instance.v1.Instance.Edition", + "id": 8 } } }, @@ -6728,6 +6788,10 @@ "keyType": "string", "type": "string", "id": 6 + }, + "edition": { + "type": "google.spanner.admin.instance.v1.Instance.Edition", + "id": 8 } } }, @@ -6892,6 +6956,35 @@ } } }, + "AdaptMessageAction": { + "fields": { + "databaseUri": { + "type": "string", + "id": 1 + }, + "protocol": { + "type": "string", + "id": 2 + }, + "payload": { + "type": "bytes", + "id": 3 + }, + "attachments": { + "keyType": "string", + "type": "string", + "id": 4 + }, + "query": { + "type": "string", + "id": 5 + }, + "prepareThenExecute": { + "type": "bool", + "id": 6 + } + } + }, "ListCloudDatabasesAction": { "fields": { "projectId": { @@ -7241,6 +7334,27 @@ } } }, + "AddSplitPointsAction": { + "fields": { + "projectId": { + "type": "string", + "id": 1 + }, + "instanceId": { + "type": "string", + "id": 2 + }, + "databaseId": { + "type": "string", + "id": 3 + }, + "splitPoints": { + "rule": "repeated", + "type": "google.spanner.admin.database.v1.SplitPoints", + "id": 4 + } + } + }, "StartBatchTransactionAction": { "oneofs": { "param": { @@ -7495,6 +7609,11 @@ "oneof": [ "adminResult" ] + }, + "_snapshotIsolationTxnReadTimestamp": { + "oneof": [ + "snapshotIsolationTxnReadTimestamp" + ] } }, "fields": { @@ -7561,6 +7680,13 @@ "rule": "repeated", "type": "ChangeStreamRecord", "id": 10 + }, + "snapshotIsolationTxnReadTimestamp": { + "type": "int64", + "id": 11, + "options": { + "proto3_optional": true + } } } },