Approximately equivalent to calling {@link RowCursor#cancel()}, and then returning {@code - * PAUSE}, but more clear, immediate, and idiomatic. + *
Approximately equivalent to calling {@link ForwardingAsyncResultSet#cancel()}, and then + * returning {@code PAUSE}, but more clear, immediate, and idiomatic. * *
It is legal to commit a transaction that owns this read before actually returning {@code * DONE}. @@ -105,17 +106,18 @@ interface ReadyCallback { *
In most cases, the implementation will not need to catch {@code SpannerException}s from * Spanner operations, instead letting these propagate to the framework. The transaction runner * will take appropriate action based on the type of exception. In particular, implementations - * should never catch an exception of type {@link SpannerErrors#isAborted}: these indicate that - * some reads may have returned inconsistent data and the transaction attempt must be aborted. + * should never catch an exception of type {@link Code#ABORTED}: these indicate that some reads + * may have returned inconsistent data and the transaction attempt must be aborted. * * @param txn the transaction * @return future over the result of the work diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/AsyncTransactionManager.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/AsyncTransactionManager.java index 391be3d190b..c6ead432046 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/AsyncTransactionManager.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/AsyncTransactionManager.java @@ -18,7 +18,7 @@ import com.google.api.core.ApiFuture; import com.google.cloud.Timestamp; -import com.google.cloud.spanner.AsyncTransactionManager.TransactionContextFuture; +import com.google.cloud.spanner.Options.TransactionOption; import com.google.cloud.spanner.TransactionManager.TransactionState; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; @@ -43,7 +43,7 @@ * so can cause resources to be leaked and deadlocks. Easiest way to guarantee this is by calling * {@link #close()} in a finally block. * - * @see DatabaseClient#transactionManagerAsync() + * @see DatabaseClient#transactionManagerAsync(TransactionOption...) */ public interface AsyncTransactionManager extends AutoCloseable { /** @@ -91,10 +91,10 @@ Timestamp get(long timeout, TimeUnit unit) /** * {@link AsyncTransactionStep} is returned by {@link - * TransactionContextFuture#then(AsyncTransactionFunction)} and {@link - * AsyncTransactionStep#then(AsyncTransactionFunction)} and allows transaction steps that should - * be executed serially to be chained together. Each step can contain one or more statements that - * may execute in parallel. + * TransactionContextFuture#then(AsyncTransactionFunction, Executor)} and {@link + * AsyncTransactionStep#then(AsyncTransactionFunction, Executor)} and allows transaction steps + * that should be executed serially to be chained together. Each step can contain one or more + * statements that may execute in parallel. * *
Example usage:
*
@@ -115,6 +115,9 @@ Timestamp get(long timeout, TimeUnit unit)
* executor)
* .commitAsync();
* }
+ *
+ * @param
+ * @param Example of using {@link TransactionManager}.
*
@@ -412,7 +412,7 @@ CommitResponse writeAtLeastOnceWithOptions(
*
* Example of a read write transaction.
*
- * Example of using {@link AsyncTransactionManager}.
*
@@ -514,12 +514,13 @@ CommitResponse writeAtLeastOnceWithOptions(
*
* Partitioned DML updates are used to execute a single DML statement with a different
* execution strategy that provides different, and often better, scalability properties for large,
- * table-wide operations than DML in a {@link #readWriteTransaction()} transaction. Smaller scoped
- * statements, such as an OLTP workload, should prefer using {@link
- * TransactionContext#executeUpdate(Statement)} with {@link #readWriteTransaction()}.
+ * table-wide operations than DML in a {@link #readWriteTransaction(TransactionOption...)}
+ * transaction. Smaller scoped statements, such as an OLTP workload, should prefer using {@link
+ * TransactionContext#executeUpdate(Statement,UpdateOption...)} with {@link
+ * #readWriteTransaction(TransactionOption...)}.
*
* That said, Partitioned DML is not a drop-in replacement for standard DML used in {@link
- * #readWriteTransaction()}.
+ * #readWriteTransaction(TransactionOption...)}.
*
* Each type of timestamp bound is discussed in detail below.
*
- * Strong reads are guaranteed to see the effects of all transactions that have committed before
* the start of the read. Furthermore, all rows yielded by a single read are consistent with each
@@ -59,7 +59,7 @@
*
* Use {@link #strong()} to create a bound of this type.
*
- * These timestamp bounds execute reads at a user-specified timestamp. Reads at a timestamp are
* guaranteed to see a consistent prefix of the global transaction history: they observe
@@ -78,7 +78,7 @@
* Use {@link #ofReadTimestamp(Timestamp)} and {@link #ofExactStaleness(long, TimeUnit)} to
* create a bound of this type.
*
- * Bounded staleness modes allow Cloud Spanner to pick the read timestamp, subject to a
* user-provided staleness bound. Cloud Spanner chooses the newest timestamp within the staleness
@@ -103,7 +103,7 @@
* Use {@link #ofMinReadTimestamp(Timestamp)} and {@link #ofMaxStaleness(long, TimeUnit)} to
* create a bound of this type.
*
- * Cloud Spanner continuously garbage collects deleted and overwritten data in the background to
* reclaim storage space. This process is known as "version GC". By default, version GC reclaims
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TransactionContext.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TransactionContext.java
index b858616c131..4a21d9c2cca 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TransactionContext.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TransactionContext.java
@@ -17,6 +17,7 @@
package com.google.cloud.spanner;
import com.google.api.core.ApiFuture;
+import com.google.cloud.spanner.Options.TransactionOption;
import com.google.cloud.spanner.Options.UpdateOption;
import com.google.spanner.v1.ResultSetStats;
@@ -44,7 +45,7 @@
* Conceptually, a read-write transaction consists of zero or more reads or SQL queries followed
* by a commit.
*
- * Cloud Spanner can commit the transaction if all read locks it acquired are still valid at
* commit time, and it is able to acquire write locks for all writes. Cloud Spanner can abort the
@@ -55,7 +56,7 @@
* transaction's locks were held for. It is an error to use Cloud Spanner locks for any sort of
* mutual exclusion other than between Cloud Spanner transactions themselves.
*
- * When a transaction aborts, the application can choose to retry the whole transaction again. To
* maximize the chances of successfully committing the retry, the client should execute the retry in
@@ -71,7 +72,7 @@
* Application code does not need to retry explicitly; {@link TransactionRunner} will
* automatically retry a transaction if an attempt results in an abort.
*
- * A transaction is considered idle if it has no outstanding reads or SQL queries and has not
* started a read or SQL query within the last 10 seconds. Idle transactions can be aborted by Cloud
@@ -81,7 +82,7 @@
* If this behavior is undesirable, periodically executing a simple SQL query in the transaction
* (e.g., {@code SELECT 1}) prevents the transaction from becoming idle.
*
- * @see Session#readWriteTransaction()
+ * @see DatabaseClient#readWriteTransaction(TransactionOption...)
* @see TransactionRunner
*/
public interface TransactionContext extends ReadContext {
@@ -118,13 +119,13 @@ default ApiFuture A {@code TransactionRunner} instance can only be used for a single invocation of {@link
* #run(TransactionCallable)}.
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/ValueBinder.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/ValueBinder.java
index e16b858faa8..07066470da6 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/ValueBinder.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/ValueBinder.java
@@ -31,6 +31,8 @@
*
* {@code ValueBinder} subclasses typically carry state and are therefore not thread-safe,
* although the core implementation itself is thread-safe.
+ *
+ * @param In addition the verifier can create new connections if the script contains NEW_CONNECTION;
* statements and the verifier has been created with a {@link GenericConnectionProvider}. See {@link
@@ -130,7 +130,7 @@ protected abstract static class GenericStatementResult {
/**
* Generic wrapper around a connection to a database. The underlying connection could be a Spanner
- * {@link com.google.cloud.spanner.jdbc.Connection} or a JDBC {@link java.sql.Connection}
+ * {@link com.google.cloud.spanner.connection.Connection} or a JDBC {@link java.sql.Connection}
*/
public abstract static class GenericConnection implements AutoCloseable {
protected abstract GenericStatementResult execute(String sql) throws Exception;
@@ -208,8 +208,8 @@ public AbstractSqlScriptVerifier(GenericConnectionProvider provider) {
* Statements without an @EXPECT statement will be executed and its result will be ignored, unless
* the statement throws an exception, which will fail the test case.
*
- * The {@link com.google.cloud.spanner.jdbc.Connection}s that the statements are executed on
- * must be created by a {@link GenericConnectionProvider}
+ * The {@link com.google.cloud.spanner.connection.Connection}s that the statements are executed
+ * on must be created by a {@link GenericConnectionProvider}
*
* @param filename The file name containing the statements. Statements must be separated by a
* semicolon (;)
@@ -229,8 +229,8 @@ public void verifyStatementsInFile(String filename, Class> resourceClass, bool
* Statements without an @EXPECT statement will be executed and its result will be ignored, unless
* the statement throws an exception, which will fail the test case.
*
- * The {@link com.google.cloud.spanner.jdbc.Connection}s that the statements are executed on
- * must be created by a {@link GenericConnectionProvider}
+ * The {@link com.google.cloud.spanner.connection.Connection}s that the statements are executed
+ * on must be created by a {@link GenericConnectionProvider}
*
* @param filename The file name containing the statements. Statements must be separated by a
* semicolon (;)
@@ -250,8 +250,8 @@ public void verifyStatementsInFile(String filename, Class> resourceClass) thro
* Statements without an @EXPECT statement will be executed and its result will be ignored, unless
* the statement throws an exception, which will fail the test case.
*
- * @param providedConnection The {@link com.google.cloud.spanner.jdbc.Connection} to execute the
- * statements against
+ * @param providedConnection The {@link com.google.cloud.spanner.connection.Connection} to execute
+ * the statements against
* @param filename The file name containing the statements. Statements must be separated by a
* semicolon (;)
* @param resourceClass The class that defines the package where to find the input file
@@ -271,8 +271,8 @@ public void verifyStatementsInFile(
* Statements without an @EXPECT statement will be executed and its result will be ignored, unless
* the statement throws an exception, which will fail the test case.
*
- * @param providedConnection The {@link com.google.cloud.spanner.jdbc.Connection} to execute the
- * statements against
+ * @param providedConnection The {@link com.google.cloud.spanner.connection.Connection} to execute
+ * the statements against
* @param filename The file name containing the statements. Statements must be separated by a
* semicolon (;)
* @param resourceClass The class that defines the package where to find the input file
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SqlScriptVerifier.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SqlScriptVerifier.java
index 15b031705e3..8e88d4a1420 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SqlScriptVerifier.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/connection/SqlScriptVerifier.java
@@ -28,7 +28,8 @@
import com.google.cloud.spanner.connection.StatementResult.ResultType;
/**
- * SQL script verifier implementation for Spanner {@link com.google.cloud.spanner.jdbc.Connection}
+ * SQL script verifier implementation for Spanner {@link
+ * com.google.cloud.spanner.connection.Connection}
*
* @see AbstractSqlScriptVerifier for more information
*/
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITForeignKeyDeleteCascadeTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITForeignKeyDeleteCascadeTest.java
new file mode 100644
index 00000000000..fc7c860267a
--- /dev/null
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/it/ITForeignKeyDeleteCascadeTest.java
@@ -0,0 +1,514 @@
+/*
+ * Copyright 2023 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.cloud.spanner.it;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assume.assumeFalse;
+
+import com.google.cloud.spanner.Database;
+import com.google.cloud.spanner.DatabaseAdminClient;
+import com.google.cloud.spanner.DatabaseClient;
+import com.google.cloud.spanner.Dialect;
+import com.google.cloud.spanner.ErrorCode;
+import com.google.cloud.spanner.IntegrationTestEnv;
+import com.google.cloud.spanner.Key;
+import com.google.cloud.spanner.Mutation;
+import com.google.cloud.spanner.ParallelIntegrationTest;
+import com.google.cloud.spanner.ResultSet;
+import com.google.cloud.spanner.SpannerException;
+import com.google.cloud.spanner.Statement;
+import com.google.cloud.spanner.testing.EmulatorSpannerHelper;
+import com.google.common.collect.ImmutableList;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.ClassRule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+@Category(ParallelIntegrationTest.class)
+@RunWith(Parameterized.class)
+public class ITForeignKeyDeleteCascadeTest {
+
+ @ClassRule public static IntegrationTestEnv env = new IntegrationTestEnv();
+
+ @Parameterized.Parameters(name = "Dialect = {0}")
+ public static Listnull.
- * Instead, if the method does not have a return value, the method should return {@link
- * ApiFutures#immediateFuture(null)}.
+ * Instead, if the method does not have a return value, the method should return
+ * ApiFutures#immediateFuture(null).
*/
ApiFuture
+ * }
*
* Options for a transaction can include:
*
@@ -449,7 +449,7 @@ CommitResponse writeAtLeastOnceWithOptions(
/**
* Returns an asynchronous transaction manager which allows manual management of transaction
* lifecycle. This API is meant for advanced users. Most users should instead use the {@link
- * #runAsync()} API instead.
+ * #runAsync(TransactionOption...)} API instead.
*
*
+ * {@code
* Executor executor = Executors.newSingleThreadExecutor();
* final long singerId = my_singer_id;
* AsyncRunner runner = client.runAsync();
@@ -432,7 +432,7 @@ CommitResponse writeAtLeastOnceWithOptions(
* .build());
* },
* executor);
- *
*
*
- * The parser can set a temporary variable value using a @PUT statement: Strong reads
+ * Strong reads
*
* Exact Staleness
+ * Exact Staleness
*
* Bounded Staleness
+ * Bounded Staleness
*
* Old Read Timestamps and Garbage Collection
+ * Old Read Timestamps and Garbage Collection
*
* Semantics
+ * Semantics
*
* Retrying Aborted Transactions
+ * Retrying Aborted Transactions
*
* Idle Transactions
+ * Idle Transactions
*
*
- * @PUT 'variable_name'\nSQL statement The SQL statement must be a statement that returns a
- * {@link ResultSet} containing exactly one row and one column.
+ * The parser can set a temporary variable value using a @PUT statement: {@code @PUT
+ * 'variable_name'\nSQL statement} The SQL statement must be a statement that returns a {@link
+ * ResultSet} containing exactly one row and one column.
*
*
* Output only for the [CreateBackup][google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup] operation.
* Required for the [UpdateBackup][google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup] operation.
+ *
* A globally unique identifier for the backup which cannot be
* changed. Values are of the form
* `projects/<project>/instances/<instance>/backups/[a-z][a-z0-9_\-]*[a-z0-9]`
* The final segment of the name must be between 2 and 60 characters
* in length.
+ *
* The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified
* by the prefix of the backup name of the form
@@ -449,11 +446,13 @@ public java.lang.String getName() {
*
* Output only for the [CreateBackup][google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup] operation.
* Required for the [UpdateBackup][google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup] operation.
+ *
* A globally unique identifier for the backup which cannot be
* changed. Values are of the form
* `projects/<project>/instances/<instance>/backups/[a-z][a-z0-9_\-]*[a-z0-9]`
* The final segment of the name must be between 2 and 60 characters
* in length.
+ *
* The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified
* by the prefix of the backup name of the form
@@ -592,7 +591,8 @@ public com.google.spanner.admin.database.v1.Backup.State getState() {
public static final int REFERENCING_DATABASES_FIELD_NUMBER = 7;
@SuppressWarnings("serial")
- private com.google.protobuf.LazyStringList referencingDatabases_;
+ private com.google.protobuf.LazyStringArrayList referencingDatabases_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
@@ -784,7 +784,8 @@ public com.google.spanner.admin.database.v1.DatabaseDialect getDatabaseDialect()
public static final int REFERENCING_BACKUPS_FIELD_NUMBER = 11;
@SuppressWarnings("serial")
- private com.google.protobuf.LazyStringList referencingBackups_;
+ private com.google.protobuf.LazyStringArrayList referencingBackups_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
@@ -1304,16 +1305,14 @@ public Builder clear() {
}
sizeBytes_ = 0L;
state_ = 0;
- referencingDatabases_ = com.google.protobuf.LazyStringArrayList.EMPTY;
- bitField0_ = (bitField0_ & ~0x00000080);
+ referencingDatabases_ = com.google.protobuf.LazyStringArrayList.emptyList();
encryptionInfo_ = null;
if (encryptionInfoBuilder_ != null) {
encryptionInfoBuilder_.dispose();
encryptionInfoBuilder_ = null;
}
databaseDialect_ = 0;
- referencingBackups_ = com.google.protobuf.LazyStringArrayList.EMPTY;
- bitField0_ = (bitField0_ & ~0x00000400);
+ referencingBackups_ = com.google.protobuf.LazyStringArrayList.emptyList();
maxExpireTime_ = null;
if (maxExpireTimeBuilder_ != null) {
maxExpireTimeBuilder_.dispose();
@@ -1346,7 +1345,6 @@ public com.google.spanner.admin.database.v1.Backup build() {
public com.google.spanner.admin.database.v1.Backup buildPartial() {
com.google.spanner.admin.database.v1.Backup result =
new com.google.spanner.admin.database.v1.Backup(this);
- buildPartialRepeatedFields(result);
if (bitField0_ != 0) {
buildPartial0(result);
}
@@ -1354,19 +1352,6 @@ public com.google.spanner.admin.database.v1.Backup buildPartial() {
return result;
}
- private void buildPartialRepeatedFields(com.google.spanner.admin.database.v1.Backup result) {
- if (((bitField0_ & 0x00000080) != 0)) {
- referencingDatabases_ = referencingDatabases_.getUnmodifiableView();
- bitField0_ = (bitField0_ & ~0x00000080);
- }
- result.referencingDatabases_ = referencingDatabases_;
- if (((bitField0_ & 0x00000400) != 0)) {
- referencingBackups_ = referencingBackups_.getUnmodifiableView();
- bitField0_ = (bitField0_ & ~0x00000400);
- }
- result.referencingBackups_ = referencingBackups_;
- }
-
private void buildPartial0(com.google.spanner.admin.database.v1.Backup result) {
int from_bitField0_ = bitField0_;
if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -1391,6 +1376,10 @@ private void buildPartial0(com.google.spanner.admin.database.v1.Backup result) {
if (((from_bitField0_ & 0x00000040) != 0)) {
result.state_ = state_;
}
+ if (((from_bitField0_ & 0x00000080) != 0)) {
+ referencingDatabases_.makeImmutable();
+ result.referencingDatabases_ = referencingDatabases_;
+ }
if (((from_bitField0_ & 0x00000100) != 0)) {
result.encryptionInfo_ =
encryptionInfoBuilder_ == null ? encryptionInfo_ : encryptionInfoBuilder_.build();
@@ -1398,6 +1387,10 @@ private void buildPartial0(com.google.spanner.admin.database.v1.Backup result) {
if (((from_bitField0_ & 0x00000200) != 0)) {
result.databaseDialect_ = databaseDialect_;
}
+ if (((from_bitField0_ & 0x00000400) != 0)) {
+ referencingBackups_.makeImmutable();
+ result.referencingBackups_ = referencingBackups_;
+ }
if (((from_bitField0_ & 0x00000800) != 0)) {
result.maxExpireTime_ =
maxExpireTimeBuilder_ == null ? maxExpireTime_ : maxExpireTimeBuilder_.build();
@@ -1477,7 +1470,7 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.Backup other) {
if (!other.referencingDatabases_.isEmpty()) {
if (referencingDatabases_.isEmpty()) {
referencingDatabases_ = other.referencingDatabases_;
- bitField0_ = (bitField0_ & ~0x00000080);
+ bitField0_ |= 0x00000080;
} else {
ensureReferencingDatabasesIsMutable();
referencingDatabases_.addAll(other.referencingDatabases_);
@@ -1493,7 +1486,7 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.Backup other) {
if (!other.referencingBackups_.isEmpty()) {
if (referencingBackups_.isEmpty()) {
referencingBackups_ = other.referencingBackups_;
- bitField0_ = (bitField0_ & ~0x00000400);
+ bitField0_ |= 0x00000400;
} else {
ensureReferencingBackupsIsMutable();
referencingBackups_.addAll(other.referencingBackups_);
@@ -2193,11 +2186,13 @@ public com.google.protobuf.TimestampOrBuilder getExpireTimeOrBuilder() {
*
* Output only for the [CreateBackup][google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup] operation.
* Required for the [UpdateBackup][google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup] operation.
+ *
* A globally unique identifier for the backup which cannot be
* changed. Values are of the form
* `projects/<project>/instances/<instance>/backups/[a-z][a-z0-9_\-]*[a-z0-9]`
* The final segment of the name must be between 2 and 60 characters
* in length.
+ *
* The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified
* by the prefix of the backup name of the form
@@ -2225,11 +2220,13 @@ public java.lang.String getName() {
*
* Output only for the [CreateBackup][google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup] operation.
* Required for the [UpdateBackup][google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup] operation.
+ *
* A globally unique identifier for the backup which cannot be
* changed. Values are of the form
* `projects/<project>/instances/<instance>/backups/[a-z][a-z0-9_\-]*[a-z0-9]`
* The final segment of the name must be between 2 and 60 characters
* in length.
+ *
* The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified
* by the prefix of the backup name of the form
@@ -2257,11 +2254,13 @@ public com.google.protobuf.ByteString getNameBytes() {
*
* Output only for the [CreateBackup][google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup] operation.
* Required for the [UpdateBackup][google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup] operation.
+ *
* A globally unique identifier for the backup which cannot be
* changed. Values are of the form
* `projects/<project>/instances/<instance>/backups/[a-z][a-z0-9_\-]*[a-z0-9]`
* The final segment of the name must be between 2 and 60 characters
* in length.
+ *
* The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified
* by the prefix of the backup name of the form
@@ -2288,11 +2287,13 @@ public Builder setName(java.lang.String value) {
*
* Output only for the [CreateBackup][google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup] operation.
* Required for the [UpdateBackup][google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup] operation.
+ *
* A globally unique identifier for the backup which cannot be
* changed. Values are of the form
* `projects/<project>/instances/<instance>/backups/[a-z][a-z0-9_\-]*[a-z0-9]`
* The final segment of the name must be between 2 and 60 characters
* in length.
+ *
* The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified
* by the prefix of the backup name of the form
@@ -2315,11 +2316,13 @@ public Builder clearName() {
*
* Output only for the [CreateBackup][google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup] operation.
* Required for the [UpdateBackup][google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup] operation.
+ *
* A globally unique identifier for the backup which cannot be
* changed. Values are of the form
* `projects/<project>/instances/<instance>/backups/[a-z][a-z0-9_\-]*[a-z0-9]`
* The final segment of the name must be between 2 and 60 characters
* in length.
+ *
* The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified
* by the prefix of the backup name of the form
@@ -2716,14 +2719,14 @@ public Builder clearState() {
return this;
}
- private com.google.protobuf.LazyStringList referencingDatabases_ =
- com.google.protobuf.LazyStringArrayList.EMPTY;
+ private com.google.protobuf.LazyStringArrayList referencingDatabases_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureReferencingDatabasesIsMutable() {
- if (!((bitField0_ & 0x00000080) != 0)) {
+ if (!referencingDatabases_.isModifiable()) {
referencingDatabases_ = new com.google.protobuf.LazyStringArrayList(referencingDatabases_);
- bitField0_ |= 0x00000080;
}
+ bitField0_ |= 0x00000080;
}
/**
*
@@ -2745,7 +2748,8 @@ private void ensureReferencingDatabasesIsMutable() {
* @return A list containing the referencingDatabases.
*/
public com.google.protobuf.ProtocolStringList getReferencingDatabasesList() {
- return referencingDatabases_.getUnmodifiableView();
+ referencingDatabases_.makeImmutable();
+ return referencingDatabases_;
}
/**
*
@@ -2842,6 +2846,7 @@ public Builder setReferencingDatabases(int index, java.lang.String value) {
}
ensureReferencingDatabasesIsMutable();
referencingDatabases_.set(index, value);
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -2871,6 +2876,7 @@ public Builder addReferencingDatabases(java.lang.String value) {
}
ensureReferencingDatabasesIsMutable();
referencingDatabases_.add(value);
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -2897,6 +2903,7 @@ public Builder addReferencingDatabases(java.lang.String value) {
public Builder addAllReferencingDatabases(java.lang.Iterable values) {
ensureReferencingDatabasesIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, referencingDatabases_);
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -2920,8 +2927,9 @@ public Builder addAllReferencingDatabases(java.lang.Iterable v
* @return This builder for chaining.
*/
public Builder clearReferencingDatabases() {
- referencingDatabases_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ referencingDatabases_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000080);
+ ;
onChanged();
return this;
}
@@ -2952,6 +2960,7 @@ public Builder addReferencingDatabasesBytes(com.google.protobuf.ByteString value
checkByteStringIsUtf8(value);
ensureReferencingDatabasesIsMutable();
referencingDatabases_.add(value);
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -3262,14 +3271,14 @@ public Builder clearDatabaseDialect() {
return this;
}
- private com.google.protobuf.LazyStringList referencingBackups_ =
- com.google.protobuf.LazyStringArrayList.EMPTY;
+ private com.google.protobuf.LazyStringArrayList referencingBackups_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureReferencingBackupsIsMutable() {
- if (!((bitField0_ & 0x00000400) != 0)) {
+ if (!referencingBackups_.isModifiable()) {
referencingBackups_ = new com.google.protobuf.LazyStringArrayList(referencingBackups_);
- bitField0_ |= 0x00000400;
}
+ bitField0_ |= 0x00000400;
}
/**
*
@@ -3291,7 +3300,8 @@ private void ensureReferencingBackupsIsMutable() {
* @return A list containing the referencingBackups.
*/
public com.google.protobuf.ProtocolStringList getReferencingBackupsList() {
- return referencingBackups_.getUnmodifiableView();
+ referencingBackups_.makeImmutable();
+ return referencingBackups_;
}
/**
*
@@ -3388,6 +3398,7 @@ public Builder setReferencingBackups(int index, java.lang.String value) {
}
ensureReferencingBackupsIsMutable();
referencingBackups_.set(index, value);
+ bitField0_ |= 0x00000400;
onChanged();
return this;
}
@@ -3417,6 +3428,7 @@ public Builder addReferencingBackups(java.lang.String value) {
}
ensureReferencingBackupsIsMutable();
referencingBackups_.add(value);
+ bitField0_ |= 0x00000400;
onChanged();
return this;
}
@@ -3443,6 +3455,7 @@ public Builder addReferencingBackups(java.lang.String value) {
public Builder addAllReferencingBackups(java.lang.Iterable values) {
ensureReferencingBackupsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, referencingBackups_);
+ bitField0_ |= 0x00000400;
onChanged();
return this;
}
@@ -3466,8 +3479,9 @@ public Builder addAllReferencingBackups(java.lang.Iterable val
* @return This builder for chaining.
*/
public Builder clearReferencingBackups() {
- referencingBackups_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ referencingBackups_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000400);
+ ;
onChanged();
return this;
}
@@ -3498,6 +3512,7 @@ public Builder addReferencingBackupsBytes(com.google.protobuf.ByteString value)
checkByteStringIsUtf8(value);
ensureReferencingBackupsIsMutable();
referencingBackups_.add(value);
+ bitField0_ |= 0x00000400;
onChanged();
return this;
}
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupInfo.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupInfo.java
index 978bcbcccb9..0bb89ec6c08 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupInfo.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupInfo.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new BackupInfo();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_BackupInfo_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupName.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupName.java
index 3c1ab293524..6cb52a86fee 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupName.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2022 Google LLC
+ * Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupOrBuilder.java
index e3fe5ccf08c..77a157a819b 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupOrBuilder.java
@@ -156,11 +156,13 @@ public interface BackupOrBuilder
*
* Output only for the [CreateBackup][google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup] operation.
* Required for the [UpdateBackup][google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup] operation.
+ *
* A globally unique identifier for the backup which cannot be
* changed. Values are of the form
* `projects/<project>/instances/<instance>/backups/[a-z][a-z0-9_\-]*[a-z0-9]`
* The final segment of the name must be between 2 and 60 characters
* in length.
+ *
* The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified
* by the prefix of the backup name of the form
@@ -178,11 +180,13 @@ public interface BackupOrBuilder
*
* Output only for the [CreateBackup][google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup] operation.
* Required for the [UpdateBackup][google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup] operation.
+ *
* A globally unique identifier for the backup which cannot be
* changed. Values are of the form
* `projects/<project>/instances/<instance>/backups/[a-z][a-z0-9_\-]*[a-z0-9]`
* The final segment of the name must be between 2 and 60 characters
* in length.
+ *
* The backup is stored in the location(s) specified in the instance
* configuration of the instance containing the backup, identified
* by the prefix of the backup name of the form
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupProto.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupProto.java
index 0d0d3d7b1d3..ed23e270715 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupProto.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupProto.java
@@ -103,105 +103,105 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "g/operations.proto\032 google/protobuf/fiel"
+ "d_mask.proto\032\037google/protobuf/timestamp."
+ "proto\032-google/spanner/admin/database/v1/"
- + "common.proto\"\303\006\n\006Backup\0226\n\010database\030\002 \001("
+ + "common.proto\"\313\006\n\006Backup\0226\n\010database\030\002 \001("
+ "\tB$\372A!\n\037spanner.googleapis.com/Database\022"
+ "0\n\014version_time\030\t \001(\0132\032.google.protobuf."
+ "Timestamp\022/\n\013expire_time\030\003 \001(\0132\032.google."
- + "protobuf.Timestamp\022\014\n\004name\030\001 \001(\t\0224\n\013crea"
+ + "protobuf.Timestamp\022\014\n\004name\030\001 \001(\t\0225\n\013crea"
+ "te_time\030\004 \001(\0132\032.google.protobuf.Timestam"
- + "pB\003\340A\003\022\027\n\nsize_bytes\030\005 \001(\003B\003\340A\003\022B\n\005state"
- + "\030\006 \001(\0162..google.spanner.admin.database.v"
- + "1.Backup.StateB\003\340A\003\022F\n\025referencing_datab"
- + "ases\030\007 \003(\tB\'\340A\003\372A!\n\037spanner.googleapis.c"
- + "om/Database\022N\n\017encryption_info\030\010 \001(\01320.g"
- + "oogle.spanner.admin.database.v1.Encrypti"
- + "onInfoB\003\340A\003\022P\n\020database_dialect\030\n \001(\01621."
- + "google.spanner.admin.database.v1.Databas"
- + "eDialectB\003\340A\003\022B\n\023referencing_backups\030\013 \003"
- + "(\tB%\340A\003\372A\037\n\035spanner.googleapis.com/Backu"
- + "p\0228\n\017max_expire_time\030\014 \001(\0132\032.google.prot"
- + "obuf.TimestampB\003\340A\003\"7\n\005State\022\025\n\021STATE_UN"
- + "SPECIFIED\020\000\022\014\n\010CREATING\020\001\022\t\n\005READY\020\002:\\\352A"
- + "Y\n\035spanner.googleapis.com/Backup\0228projec"
- + "ts/{project}/instances/{instance}/backup"
- + "s/{backup}\"\205\002\n\023CreateBackupRequest\0227\n\006pa"
- + "rent\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.googleapis.c"
- + "om/Instance\022\026\n\tbackup_id\030\002 \001(\tB\003\340A\002\022=\n\006b"
- + "ackup\030\003 \001(\0132(.google.spanner.admin.datab"
- + "ase.v1.BackupB\003\340A\002\022^\n\021encryption_config\030"
- + "\004 \001(\0132>.google.spanner.admin.database.v1"
- + ".CreateBackupEncryptionConfigB\003\340A\001\"\370\001\n\024C"
- + "reateBackupMetadata\0220\n\004name\030\001 \001(\tB\"\372A\037\n\035"
- + "spanner.googleapis.com/Backup\0226\n\010databas"
- + "e\030\002 \001(\tB$\372A!\n\037spanner.googleapis.com/Dat"
- + "abase\022E\n\010progress\030\003 \001(\01323.google.spanner"
- + ".admin.database.v1.OperationProgress\022/\n\013"
- + "cancel_time\030\004 \001(\0132\032.google.protobuf.Time"
- + "stamp\"\266\002\n\021CopyBackupRequest\0227\n\006parent\030\001 "
- + "\001(\tB\'\340A\002\372A!\n\037spanner.googleapis.com/Inst"
- + "ance\022\026\n\tbackup_id\030\002 \001(\tB\003\340A\002\022<\n\rsource_b"
- + "ackup\030\003 \001(\tB%\340A\002\372A\037\n\035spanner.googleapis."
- + "com/Backup\0224\n\013expire_time\030\004 \001(\0132\032.google"
- + ".protobuf.TimestampB\003\340A\002\022\\\n\021encryption_c"
- + "onfig\030\005 \001(\0132<.google.spanner.admin.datab"
- + "ase.v1.CopyBackupEncryptionConfigB\003\340A\001\"\371"
- + "\001\n\022CopyBackupMetadata\0220\n\004name\030\001 \001(\tB\"\372A\037"
- + "\n\035spanner.googleapis.com/Backup\0229\n\rsourc"
- + "e_backup\030\002 \001(\tB\"\372A\037\n\035spanner.googleapis."
- + "com/Backup\022E\n\010progress\030\003 \001(\01323.google.sp"
- + "anner.admin.database.v1.OperationProgres"
- + "s\022/\n\013cancel_time\030\004 \001(\0132\032.google.protobuf"
- + ".Timestamp\"\212\001\n\023UpdateBackupRequest\022=\n\006ba"
- + "ckup\030\001 \001(\0132(.google.spanner.admin.databa"
- + "se.v1.BackupB\003\340A\002\0224\n\013update_mask\030\002 \001(\0132\032"
- + ".google.protobuf.FieldMaskB\003\340A\002\"G\n\020GetBa"
- + "ckupRequest\0223\n\004name\030\001 \001(\tB%\340A\002\372A\037\n\035spann"
- + "er.googleapis.com/Backup\"J\n\023DeleteBackup"
- + "Request\0223\n\004name\030\001 \001(\tB%\340A\002\372A\037\n\035spanner.g"
- + "oogleapis.com/Backup\"\204\001\n\022ListBackupsRequ"
- + "est\0227\n\006parent\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.goo"
- + "gleapis.com/Instance\022\016\n\006filter\030\002 \001(\t\022\021\n\t"
- + "page_size\030\003 \001(\005\022\022\n\npage_token\030\004 \001(\t\"i\n\023L"
- + "istBackupsResponse\0229\n\007backups\030\001 \003(\0132(.go"
- + "ogle.spanner.admin.database.v1.Backup\022\027\n"
- + "\017next_page_token\030\002 \001(\t\"\215\001\n\033ListBackupOpe"
- + "rationsRequest\0227\n\006parent\030\001 \001(\tB\'\340A\002\372A!\n\037"
- + "spanner.googleapis.com/Instance\022\016\n\006filte"
- + "r\030\002 \001(\t\022\021\n\tpage_size\030\003 \001(\005\022\022\n\npage_token"
- + "\030\004 \001(\t\"j\n\034ListBackupOperationsResponse\0221"
- + "\n\noperations\030\001 \003(\0132\035.google.longrunning."
- + "Operation\022\027\n\017next_page_token\030\002 \001(\t\"\342\001\n\nB"
- + "ackupInfo\0222\n\006backup\030\001 \001(\tB\"\372A\037\n\035spanner."
- + "googleapis.com/Backup\0220\n\014version_time\030\004 "
- + "\001(\0132\032.google.protobuf.Timestamp\022/\n\013creat"
- + "e_time\030\002 \001(\0132\032.google.protobuf.Timestamp"
- + "\022=\n\017source_database\030\003 \001(\tB$\372A!\n\037spanner."
- + "googleapis.com/Database\"\335\002\n\034CreateBackup"
- + "EncryptionConfig\022k\n\017encryption_type\030\001 \001("
- + "\0162M.google.spanner.admin.database.v1.Cre"
- + "ateBackupEncryptionConfig.EncryptionType"
- + "B\003\340A\002\022?\n\014kms_key_name\030\002 \001(\tB)\340A\001\372A#\n!clo"
- + "udkms.googleapis.com/CryptoKey\"\216\001\n\016Encry"
- + "ptionType\022\037\n\033ENCRYPTION_TYPE_UNSPECIFIED"
- + "\020\000\022\033\n\027USE_DATABASE_ENCRYPTION\020\001\022\035\n\031GOOGL"
- + "E_DEFAULT_ENCRYPTION\020\002\022\037\n\033CUSTOMER_MANAG"
- + "ED_ENCRYPTION\020\003\"\351\002\n\032CopyBackupEncryption"
- + "Config\022i\n\017encryption_type\030\001 \001(\0162K.google"
- + ".spanner.admin.database.v1.CopyBackupEnc"
- + "ryptionConfig.EncryptionTypeB\003\340A\002\022?\n\014kms"
- + "_key_name\030\002 \001(\tB)\340A\001\372A#\n!cloudkms.google"
- + "apis.com/CryptoKey\"\236\001\n\016EncryptionType\022\037\n"
- + "\033ENCRYPTION_TYPE_UNSPECIFIED\020\000\022+\n\'USE_CO"
- + "NFIG_DEFAULT_OR_BACKUP_ENCRYPTION\020\001\022\035\n\031G"
- + "OOGLE_DEFAULT_ENCRYPTION\020\002\022\037\n\033CUSTOMER_M"
- + "ANAGED_ENCRYPTION\020\003B\375\001\n$com.google.spann"
- + "er.admin.database.v1B\013BackupProtoP\001ZFclo"
- + "ud.google.com/go/spanner/admin/database/"
- + "apiv1/databasepb;databasepb\252\002&Google.Clo"
- + "ud.Spanner.Admin.Database.V1\312\002&Google\\Cl"
- + "oud\\Spanner\\Admin\\Database\\V1\352\002+Google::"
- + "Cloud::Spanner::Admin::Database::V1b\006pro"
- + "to3"
+ + "pB\004\342A\001\003\022\030\n\nsize_bytes\030\005 \001(\003B\004\342A\001\003\022C\n\005sta"
+ + "te\030\006 \001(\0162..google.spanner.admin.database"
+ + ".v1.Backup.StateB\004\342A\001\003\022G\n\025referencing_da"
+ + "tabases\030\007 \003(\tB(\342A\001\003\372A!\n\037spanner.googleap"
+ + "is.com/Database\022O\n\017encryption_info\030\010 \001(\013"
+ + "20.google.spanner.admin.database.v1.Encr"
+ + "yptionInfoB\004\342A\001\003\022Q\n\020database_dialect\030\n \001"
+ + "(\01621.google.spanner.admin.database.v1.Da"
+ + "tabaseDialectB\004\342A\001\003\022C\n\023referencing_backu"
+ + "ps\030\013 \003(\tB&\342A\001\003\372A\037\n\035spanner.googleapis.co"
+ + "m/Backup\0229\n\017max_expire_time\030\014 \001(\0132\032.goog"
+ + "le.protobuf.TimestampB\004\342A\001\003\"7\n\005State\022\025\n\021"
+ + "STATE_UNSPECIFIED\020\000\022\014\n\010CREATING\020\001\022\t\n\005REA"
+ + "DY\020\002:\\\352AY\n\035spanner.googleapis.com/Backup"
+ + "\0228projects/{project}/instances/{instance"
+ + "}/backups/{backup}\"\211\002\n\023CreateBackupReque"
+ + "st\0228\n\006parent\030\001 \001(\tB(\342A\001\002\372A!\n\037spanner.goo"
+ + "gleapis.com/Instance\022\027\n\tbackup_id\030\002 \001(\tB"
+ + "\004\342A\001\002\022>\n\006backup\030\003 \001(\0132(.google.spanner.a"
+ + "dmin.database.v1.BackupB\004\342A\001\002\022_\n\021encrypt"
+ + "ion_config\030\004 \001(\0132>.google.spanner.admin."
+ + "database.v1.CreateBackupEncryptionConfig"
+ + "B\004\342A\001\001\"\370\001\n\024CreateBackupMetadata\0220\n\004name\030"
+ + "\001 \001(\tB\"\372A\037\n\035spanner.googleapis.com/Backu"
+ + "p\0226\n\010database\030\002 \001(\tB$\372A!\n\037spanner.google"
+ + "apis.com/Database\022E\n\010progress\030\003 \001(\01323.go"
+ + "ogle.spanner.admin.database.v1.Operation"
+ + "Progress\022/\n\013cancel_time\030\004 \001(\0132\032.google.p"
+ + "rotobuf.Timestamp\"\273\002\n\021CopyBackupRequest\022"
+ + "8\n\006parent\030\001 \001(\tB(\342A\001\002\372A!\n\037spanner.google"
+ + "apis.com/Instance\022\027\n\tbackup_id\030\002 \001(\tB\004\342A"
+ + "\001\002\022=\n\rsource_backup\030\003 \001(\tB&\342A\001\002\372A\037\n\035span"
+ + "ner.googleapis.com/Backup\0225\n\013expire_time"
+ + "\030\004 \001(\0132\032.google.protobuf.TimestampB\004\342A\001\002"
+ + "\022]\n\021encryption_config\030\005 \001(\0132<.google.spa"
+ + "nner.admin.database.v1.CopyBackupEncrypt"
+ + "ionConfigB\004\342A\001\001\"\371\001\n\022CopyBackupMetadata\0220"
+ + "\n\004name\030\001 \001(\tB\"\372A\037\n\035spanner.googleapis.co"
+ + "m/Backup\0229\n\rsource_backup\030\002 \001(\tB\"\372A\037\n\035sp"
+ + "anner.googleapis.com/Backup\022E\n\010progress\030"
+ + "\003 \001(\01323.google.spanner.admin.database.v1"
+ + ".OperationProgress\022/\n\013cancel_time\030\004 \001(\0132"
+ + "\032.google.protobuf.Timestamp\"\214\001\n\023UpdateBa"
+ + "ckupRequest\022>\n\006backup\030\001 \001(\0132(.google.spa"
+ + "nner.admin.database.v1.BackupB\004\342A\001\002\0225\n\013u"
+ + "pdate_mask\030\002 \001(\0132\032.google.protobuf.Field"
+ + "MaskB\004\342A\001\002\"H\n\020GetBackupRequest\0224\n\004name\030\001"
+ + " \001(\tB&\342A\001\002\372A\037\n\035spanner.googleapis.com/Ba"
+ + "ckup\"K\n\023DeleteBackupRequest\0224\n\004name\030\001 \001("
+ + "\tB&\342A\001\002\372A\037\n\035spanner.googleapis.com/Backu"
+ + "p\"\205\001\n\022ListBackupsRequest\0228\n\006parent\030\001 \001(\t"
+ + "B(\342A\001\002\372A!\n\037spanner.googleapis.com/Instan"
+ + "ce\022\016\n\006filter\030\002 \001(\t\022\021\n\tpage_size\030\003 \001(\005\022\022\n"
+ + "\npage_token\030\004 \001(\t\"i\n\023ListBackupsResponse"
+ + "\0229\n\007backups\030\001 \003(\0132(.google.spanner.admin"
+ + ".database.v1.Backup\022\027\n\017next_page_token\030\002"
+ + " \001(\t\"\216\001\n\033ListBackupOperationsRequest\0228\n\006"
+ + "parent\030\001 \001(\tB(\342A\001\002\372A!\n\037spanner.googleapi"
+ + "s.com/Instance\022\016\n\006filter\030\002 \001(\t\022\021\n\tpage_s"
+ + "ize\030\003 \001(\005\022\022\n\npage_token\030\004 \001(\t\"j\n\034ListBac"
+ + "kupOperationsResponse\0221\n\noperations\030\001 \003("
+ + "\0132\035.google.longrunning.Operation\022\027\n\017next"
+ + "_page_token\030\002 \001(\t\"\342\001\n\nBackupInfo\0222\n\006back"
+ + "up\030\001 \001(\tB\"\372A\037\n\035spanner.googleapis.com/Ba"
+ + "ckup\0220\n\014version_time\030\004 \001(\0132\032.google.prot"
+ + "obuf.Timestamp\022/\n\013create_time\030\002 \001(\0132\032.go"
+ + "ogle.protobuf.Timestamp\022=\n\017source_databa"
+ + "se\030\003 \001(\tB$\372A!\n\037spanner.googleapis.com/Da"
+ + "tabase\"\337\002\n\034CreateBackupEncryptionConfig\022"
+ + "l\n\017encryption_type\030\001 \001(\0162M.google.spanne"
+ + "r.admin.database.v1.CreateBackupEncrypti"
+ + "onConfig.EncryptionTypeB\004\342A\001\002\022@\n\014kms_key"
+ + "_name\030\002 \001(\tB*\342A\001\001\372A#\n!cloudkms.googleapi"
+ + "s.com/CryptoKey\"\216\001\n\016EncryptionType\022\037\n\033EN"
+ + "CRYPTION_TYPE_UNSPECIFIED\020\000\022\033\n\027USE_DATAB"
+ + "ASE_ENCRYPTION\020\001\022\035\n\031GOOGLE_DEFAULT_ENCRY"
+ + "PTION\020\002\022\037\n\033CUSTOMER_MANAGED_ENCRYPTION\020\003"
+ + "\"\353\002\n\032CopyBackupEncryptionConfig\022j\n\017encry"
+ + "ption_type\030\001 \001(\0162K.google.spanner.admin."
+ + "database.v1.CopyBackupEncryptionConfig.E"
+ + "ncryptionTypeB\004\342A\001\002\022@\n\014kms_key_name\030\002 \001("
+ + "\tB*\342A\001\001\372A#\n!cloudkms.googleapis.com/Cryp"
+ + "toKey\"\236\001\n\016EncryptionType\022\037\n\033ENCRYPTION_T"
+ + "YPE_UNSPECIFIED\020\000\022+\n\'USE_CONFIG_DEFAULT_"
+ + "OR_BACKUP_ENCRYPTION\020\001\022\035\n\031GOOGLE_DEFAULT"
+ + "_ENCRYPTION\020\002\022\037\n\033CUSTOMER_MANAGED_ENCRYP"
+ + "TION\020\003B\375\001\n$com.google.spanner.admin.data"
+ + "base.v1B\013BackupProtoP\001ZFcloud.google.com"
+ + "/go/spanner/admin/database/apiv1/databas"
+ + "epb;databasepb\252\002&Google.Cloud.Spanner.Ad"
+ + "min.Database.V1\312\002&Google\\Cloud\\Spanner\\A"
+ + "dmin\\Database\\V1\352\002+Google::Cloud::Spanne"
+ + "r::Admin::Database::V1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CommonProto.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CommonProto.java
index a381d3c5122..0f5840f6f15 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CommonProto.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CommonProto.java
@@ -58,31 +58,32 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "tobuf.Timestamp\022,\n\010end_time\030\003 \001(\0132\032.goog"
+ "le.protobuf.Timestamp\"P\n\020EncryptionConfi"
+ "g\022<\n\014kms_key_name\030\002 \001(\tB&\372A#\n!cloudkms.g"
- + "oogleapis.com/CryptoKey\"\302\002\n\016EncryptionIn"
- + "fo\022S\n\017encryption_type\030\003 \001(\01625.google.spa"
+ + "oogleapis.com/CryptoKey\"\305\002\n\016EncryptionIn"
+ + "fo\022T\n\017encryption_type\030\003 \001(\01625.google.spa"
+ "nner.admin.database.v1.EncryptionInfo.Ty"
- + "peB\003\340A\003\0222\n\021encryption_status\030\004 \001(\0132\022.goo"
- + "gle.rpc.StatusB\003\340A\003\022I\n\017kms_key_version\030\002"
- + " \001(\tB0\340A\003\372A*\n(cloudkms.googleapis.com/Cr"
- + "yptoKeyVersion\"\\\n\004Type\022\024\n\020TYPE_UNSPECIFI"
- + "ED\020\000\022\035\n\031GOOGLE_DEFAULT_ENCRYPTION\020\001\022\037\n\033C"
- + "USTOMER_MANAGED_ENCRYPTION\020\002*\\\n\017Database"
- + "Dialect\022 \n\034DATABASE_DIALECT_UNSPECIFIED\020"
- + "\000\022\027\n\023GOOGLE_STANDARD_SQL\020\001\022\016\n\nPOSTGRESQL"
- + "\020\002B\242\004\n$com.google.spanner.admin.database"
- + ".v1B\013CommonProtoP\001ZFcloud.google.com/go/"
- + "spanner/admin/database/apiv1/databasepb;"
- + "databasepb\252\002&Google.Cloud.Spanner.Admin."
- + "Database.V1\312\002&Google\\Cloud\\Spanner\\Admin"
- + "\\Database\\V1\352\002+Google::Cloud::Spanner::A"
- + "dmin::Database::V1\352Ax\n!cloudkms.googleap"
- + "is.com/CryptoKey\022Sprojects/{project}/loc"
- + "ations/{location}/keyRings/{key_ring}/cr"
- + "yptoKeys/{crypto_key}\352A\246\001\n(cloudkms.goog"
- + "leapis.com/CryptoKeyVersion\022zprojects/{p"
- + "roject}/locations/{location}/keyRings/{k"
- + "ey_ring}/cryptoKeys/{crypto_key}/cryptoK"
- + "eyVersions/{crypto_key_version}b\006proto3"
+ + "peB\004\342A\001\003\0223\n\021encryption_status\030\004 \001(\0132\022.go"
+ + "ogle.rpc.StatusB\004\342A\001\003\022J\n\017kms_key_version"
+ + "\030\002 \001(\tB1\342A\001\003\372A*\n(cloudkms.googleapis.com"
+ + "/CryptoKeyVersion\"\\\n\004Type\022\024\n\020TYPE_UNSPEC"
+ + "IFIED\020\000\022\035\n\031GOOGLE_DEFAULT_ENCRYPTION\020\001\022\037"
+ + "\n\033CUSTOMER_MANAGED_ENCRYPTION\020\002*\\\n\017Datab"
+ + "aseDialect\022 \n\034DATABASE_DIALECT_UNSPECIFI"
+ + "ED\020\000\022\027\n\023GOOGLE_STANDARD_SQL\020\001\022\016\n\nPOSTGRE"
+ + "SQL\020\002B\242\004\n$com.google.spanner.admin.datab"
+ + "ase.v1B\013CommonProtoP\001ZFcloud.google.com/"
+ + "go/spanner/admin/database/apiv1/database"
+ + "pb;databasepb\252\002&Google.Cloud.Spanner.Adm"
+ + "in.Database.V1\312\002&Google\\Cloud\\Spanner\\Ad"
+ + "min\\Database\\V1\352\002+Google::Cloud::Spanner"
+ + "::Admin::Database::V1\352Ax\n!cloudkms.googl"
+ + "eapis.com/CryptoKey\022Sprojects/{project}/"
+ + "locations/{location}/keyRings/{key_ring}"
+ + "/cryptoKeys/{crypto_key}\352A\246\001\n(cloudkms.g"
+ + "oogleapis.com/CryptoKeyVersion\022zprojects"
+ + "/{project}/locations/{location}/keyRings"
+ + "/{key_ring}/cryptoKeys/{crypto_key}/cryp"
+ + "toKeyVersions/{crypto_key_version}b\006prot"
+ + "o3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupEncryptionConfig.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupEncryptionConfig.java
index 3b571fd926b..bfa78ae301f 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupEncryptionConfig.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupEncryptionConfig.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CopyBackupEncryptionConfig();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_CopyBackupEncryptionConfig_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupMetadata.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupMetadata.java
index f2bc437a1ad..63db05c5083 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupMetadata.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupMetadata.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CopyBackupMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_CopyBackupMetadata_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupRequest.java
index 810c5043ce9..62cbd05991d 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CopyBackupRequest.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CopyBackupRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_CopyBackupRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupEncryptionConfig.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupEncryptionConfig.java
index 1381514795c..72efb786d53 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupEncryptionConfig.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupEncryptionConfig.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CreateBackupEncryptionConfig();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_CreateBackupEncryptionConfig_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupMetadata.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupMetadata.java
index c534895357a..83c3b45c003 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupMetadata.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupMetadata.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CreateBackupMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_CreateBackupMetadata_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupRequest.java
index 96197d756b5..3ac0f2c8558 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateBackupRequest.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CreateBackupRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_CreateBackupRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateDatabaseMetadata.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateDatabaseMetadata.java
index b24893c407a..ebcc297cbba 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateDatabaseMetadata.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateDatabaseMetadata.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CreateDatabaseMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_CreateDatabaseMetadata_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateDatabaseRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateDatabaseRequest.java
index e393b538ff4..38317542e4c 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateDatabaseRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateDatabaseRequest.java
@@ -40,7 +40,7 @@ private CreateDatabaseRequest(com.google.protobuf.GeneratedMessageV3.Builder>
private CreateDatabaseRequest() {
parent_ = "";
createStatement_ = "";
- extraStatements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ extraStatements_ = com.google.protobuf.LazyStringArrayList.emptyList();
databaseDialect_ = 0;
}
@@ -50,11 +50,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CreateDatabaseRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_CreateDatabaseRequest_descriptor;
@@ -189,7 +184,8 @@ public com.google.protobuf.ByteString getCreateStatementBytes() {
public static final int EXTRA_STATEMENTS_FIELD_NUMBER = 3;
@SuppressWarnings("serial")
- private com.google.protobuf.LazyStringList extraStatements_;
+ private com.google.protobuf.LazyStringArrayList extraStatements_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
@@ -618,8 +614,7 @@ public Builder clear() {
bitField0_ = 0;
parent_ = "";
createStatement_ = "";
- extraStatements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
- bitField0_ = (bitField0_ & ~0x00000004);
+ extraStatements_ = com.google.protobuf.LazyStringArrayList.emptyList();
encryptionConfig_ = null;
if (encryptionConfigBuilder_ != null) {
encryptionConfigBuilder_.dispose();
@@ -653,7 +648,6 @@ public com.google.spanner.admin.database.v1.CreateDatabaseRequest build() {
public com.google.spanner.admin.database.v1.CreateDatabaseRequest buildPartial() {
com.google.spanner.admin.database.v1.CreateDatabaseRequest result =
new com.google.spanner.admin.database.v1.CreateDatabaseRequest(this);
- buildPartialRepeatedFields(result);
if (bitField0_ != 0) {
buildPartial0(result);
}
@@ -661,15 +655,6 @@ public com.google.spanner.admin.database.v1.CreateDatabaseRequest buildPartial()
return result;
}
- private void buildPartialRepeatedFields(
- com.google.spanner.admin.database.v1.CreateDatabaseRequest result) {
- if (((bitField0_ & 0x00000004) != 0)) {
- extraStatements_ = extraStatements_.getUnmodifiableView();
- bitField0_ = (bitField0_ & ~0x00000004);
- }
- result.extraStatements_ = extraStatements_;
- }
-
private void buildPartial0(com.google.spanner.admin.database.v1.CreateDatabaseRequest result) {
int from_bitField0_ = bitField0_;
if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -678,6 +663,10 @@ private void buildPartial0(com.google.spanner.admin.database.v1.CreateDatabaseRe
if (((from_bitField0_ & 0x00000002) != 0)) {
result.createStatement_ = createStatement_;
}
+ if (((from_bitField0_ & 0x00000004) != 0)) {
+ extraStatements_.makeImmutable();
+ result.extraStatements_ = extraStatements_;
+ }
if (((from_bitField0_ & 0x00000008) != 0)) {
result.encryptionConfig_ =
encryptionConfigBuilder_ == null ? encryptionConfig_ : encryptionConfigBuilder_.build();
@@ -746,7 +735,7 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.CreateDatabaseRequ
if (!other.extraStatements_.isEmpty()) {
if (extraStatements_.isEmpty()) {
extraStatements_ = other.extraStatements_;
- bitField0_ = (bitField0_ & ~0x00000004);
+ bitField0_ |= 0x00000004;
} else {
ensureExtraStatementsIsMutable();
extraStatements_.addAll(other.extraStatements_);
@@ -1083,14 +1072,14 @@ public Builder setCreateStatementBytes(com.google.protobuf.ByteString value) {
return this;
}
- private com.google.protobuf.LazyStringList extraStatements_ =
- com.google.protobuf.LazyStringArrayList.EMPTY;
+ private com.google.protobuf.LazyStringArrayList extraStatements_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureExtraStatementsIsMutable() {
- if (!((bitField0_ & 0x00000004) != 0)) {
+ if (!extraStatements_.isModifiable()) {
extraStatements_ = new com.google.protobuf.LazyStringArrayList(extraStatements_);
- bitField0_ |= 0x00000004;
}
+ bitField0_ |= 0x00000004;
}
/**
*
@@ -1107,7 +1096,8 @@ private void ensureExtraStatementsIsMutable() {
* @return A list containing the extraStatements.
*/
public com.google.protobuf.ProtocolStringList getExtraStatementsList() {
- return extraStatements_.getUnmodifiableView();
+ extraStatements_.makeImmutable();
+ return extraStatements_;
}
/**
*
@@ -1184,6 +1174,7 @@ public Builder setExtraStatements(int index, java.lang.String value) {
}
ensureExtraStatementsIsMutable();
extraStatements_.set(index, value);
+ bitField0_ |= 0x00000004;
onChanged();
return this;
}
@@ -1208,6 +1199,7 @@ public Builder addExtraStatements(java.lang.String value) {
}
ensureExtraStatementsIsMutable();
extraStatements_.add(value);
+ bitField0_ |= 0x00000004;
onChanged();
return this;
}
@@ -1229,6 +1221,7 @@ public Builder addExtraStatements(java.lang.String value) {
public Builder addAllExtraStatements(java.lang.Iterable values) {
ensureExtraStatementsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, extraStatements_);
+ bitField0_ |= 0x00000004;
onChanged();
return this;
}
@@ -1247,8 +1240,9 @@ public Builder addAllExtraStatements(java.lang.Iterable values
* @return This builder for chaining.
*/
public Builder clearExtraStatements() {
- extraStatements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ extraStatements_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000004);
+ ;
onChanged();
return this;
}
@@ -1274,6 +1268,7 @@ public Builder addExtraStatementsBytes(com.google.protobuf.ByteString value) {
checkByteStringIsUtf8(value);
ensureExtraStatementsIsMutable();
extraStatements_.add(value);
+ bitField0_ |= 0x00000004;
onChanged();
return this;
}
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/Database.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/Database.java
index f982cfe291a..c87638bef4d 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/Database.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/Database.java
@@ -52,11 +52,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new Database();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_Database_descriptor;
@@ -119,6 +114,7 @@ public enum State implements com.google.protobuf.ProtocolMessageEnum {
*
* The database is fully created and ready for use, but is still
* being optimized for performance and cannot handle full load.
+ *
* In this state, the database still references the backup
* it was restore from, preventing the backup
* from being deleted. When optimizations are complete, the full performance
@@ -169,6 +165,7 @@ public enum State implements com.google.protobuf.ProtocolMessageEnum {
*
* The database is fully created and ready for use, but is still
* being optimized for performance and cannot handle full load.
+ *
* In this state, the database still references the backup
* it was restore from, preventing the backup
* from being deleted. When optimizations are complete, the full performance
@@ -550,8 +547,10 @@ public com.google.spanner.admin.database.v1.EncryptionConfig getEncryptionConfig
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -572,8 +571,10 @@ public com.google.spanner.admin.database.v1.EncryptionConfig getEncryptionConfig
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -594,8 +595,10 @@ public com.google.spanner.admin.database.v1.EncryptionConfig getEncryptionConfig
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -615,8 +618,10 @@ public int getEncryptionInfoCount() {
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -636,8 +641,10 @@ public com.google.spanner.admin.database.v1.EncryptionInfo getEncryptionInfo(int
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -789,6 +796,7 @@ public com.google.protobuf.TimestampOrBuilder getEarliestVersionTimeOrBuilder()
*
* Output only. The read-write region which contains the database's leader
* replicas.
+ *
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
@@ -816,6 +824,7 @@ public java.lang.String getDefaultLeader() {
*
* Output only. The read-write region which contains the database's leader
* replicas.
+ *
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
@@ -2503,8 +2512,10 @@ private void ensureEncryptionInfoIsMutable() {
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2528,8 +2539,10 @@ private void ensureEncryptionInfoIsMutable() {
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2552,8 +2565,10 @@ public int getEncryptionInfoCount() {
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2576,8 +2591,10 @@ public com.google.spanner.admin.database.v1.EncryptionInfo getEncryptionInfo(int
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2607,8 +2624,10 @@ public Builder setEncryptionInfo(
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2635,8 +2654,10 @@ public Builder setEncryptionInfo(
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2665,8 +2686,10 @@ public Builder addEncryptionInfo(com.google.spanner.admin.database.v1.Encryption
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2696,8 +2719,10 @@ public Builder addEncryptionInfo(
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2724,8 +2749,10 @@ public Builder addEncryptionInfo(
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2752,8 +2779,10 @@ public Builder addEncryptionInfo(
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2780,8 +2809,10 @@ public Builder addAllEncryptionInfo(
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2807,8 +2838,10 @@ public Builder clearEncryptionInfo() {
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2834,8 +2867,10 @@ public Builder removeEncryptionInfo(int index) {
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2855,8 +2890,10 @@ public com.google.spanner.admin.database.v1.EncryptionInfo.Builder getEncryption
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2880,8 +2917,10 @@ public com.google.spanner.admin.database.v1.EncryptionInfoOrBuilder getEncryptio
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2905,8 +2944,10 @@ public com.google.spanner.admin.database.v1.EncryptionInfoOrBuilder getEncryptio
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2926,8 +2967,10 @@ public com.google.spanner.admin.database.v1.EncryptionInfo.Builder addEncryption
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -2949,8 +2992,10 @@ public com.google.spanner.admin.database.v1.EncryptionInfo.Builder addEncryption
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -3359,6 +3404,7 @@ public com.google.protobuf.TimestampOrBuilder getEarliestVersionTimeOrBuilder()
*
* Output only. The read-write region which contains the database's leader
* replicas.
+ *
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
@@ -3385,6 +3431,7 @@ public java.lang.String getDefaultLeader() {
*
* Output only. The read-write region which contains the database's leader
* replicas.
+ *
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
@@ -3411,6 +3458,7 @@ public com.google.protobuf.ByteString getDefaultLeaderBytes() {
*
* Output only. The read-write region which contains the database's leader
* replicas.
+ *
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
@@ -3436,6 +3484,7 @@ public Builder setDefaultLeader(java.lang.String value) {
*
* Output only. The read-write region which contains the database's leader
* replicas.
+ *
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
@@ -3457,6 +3506,7 @@ public Builder clearDefaultLeader() {
*
* Output only. The read-write region which contains the database's leader
* replicas.
+ *
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseName.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseName.java
index 93da0e4ae84..9c583702ee4 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseName.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2022 Google LLC
+ * Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseOrBuilder.java
index 0252781fe91..2dd394d2c7c 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseOrBuilder.java
@@ -224,8 +224,10 @@ public interface DatabaseOrBuilder
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -242,8 +244,10 @@ public interface DatabaseOrBuilder
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -260,8 +264,10 @@ public interface DatabaseOrBuilder
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -278,8 +284,10 @@ public interface DatabaseOrBuilder
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -297,8 +305,10 @@ public interface DatabaseOrBuilder
* Output only. For databases that are using customer managed encryption, this
* field contains the encryption information for the database, such as
* encryption state and the Cloud KMS key versions that are in use.
+ *
* For databases that are using Google default or other types of encryption,
* this field is empty.
+ *
* This field is propagated lazily from the backend. There might be a delay
* from when a key version is being used and when it appears in this field.
*
@@ -402,6 +412,7 @@ com.google.spanner.admin.database.v1.EncryptionInfoOrBuilder getEncryptionInfoOr
*
* Output only. The read-write region which contains the database's leader
* replicas.
+ *
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
@@ -418,6 +429,7 @@ com.google.spanner.admin.database.v1.EncryptionInfoOrBuilder getEncryptionInfoOr
*
* Output only. The read-write region which contains the database's leader
* replicas.
+ *
* This is the same as the value of default_leader
* database option set using DatabaseAdmin.CreateDatabase or
* DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseRole.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseRole.java
index 42caf41f84f..d0f86946079 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseRole.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseRole.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new DatabaseRole();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_DatabaseRole_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DdlStatementActionInfo.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DdlStatementActionInfo.java
new file mode 100644
index 00000000000..8c57d14fb9b
--- /dev/null
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DdlStatementActionInfo.java
@@ -0,0 +1,1161 @@
+/*
+ * Copyright 2020 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/spanner/admin/database/v1/spanner_database_admin.proto
+
+package com.google.spanner.admin.database.v1;
+
+/**
+ *
+ *
+ *
+ * Action information extracted from a DDL statement. This proto is used to
+ * display the brief info of the DDL statement for the operation
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl].
+ *
+ *
+ * Protobuf type {@code google.spanner.admin.database.v1.DdlStatementActionInfo}
+ */
+public final class DdlStatementActionInfo extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.spanner.admin.database.v1.DdlStatementActionInfo)
+ DdlStatementActionInfoOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use DdlStatementActionInfo.newBuilder() to construct.
+ private DdlStatementActionInfo(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private DdlStatementActionInfo() {
+ action_ = "";
+ entityType_ = "";
+ entityNames_ = com.google.protobuf.LazyStringArrayList.emptyList();
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new DdlStatementActionInfo();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
+ .internal_static_google_spanner_admin_database_v1_DdlStatementActionInfo_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
+ .internal_static_google_spanner_admin_database_v1_DdlStatementActionInfo_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.class,
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.Builder.class);
+ }
+
+ public static final int ACTION_FIELD_NUMBER = 1;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object action_ = "";
+ /**
+ *
+ *
+ *
+ * The action for the DDL statement, e.g. CREATE, ALTER, DROP, GRANT, etc.
+ * This field is a non-empty string.
+ *
+ *
+ * string action = 1;
+ *
+ * @return The action.
+ */
+ @java.lang.Override
+ public java.lang.String getAction() {
+ java.lang.Object ref = action_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ action_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The action for the DDL statement, e.g. CREATE, ALTER, DROP, GRANT, etc.
+ * This field is a non-empty string.
+ *
+ *
+ * string action = 1;
+ *
+ * @return The bytes for action.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getActionBytes() {
+ java.lang.Object ref = action_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ action_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ENTITY_TYPE_FIELD_NUMBER = 2;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object entityType_ = "";
+ /**
+ *
+ *
+ *
+ * The entity type for the DDL statement, e.g. TABLE, INDEX, VIEW, etc.
+ * This field can be empty string for some DDL statement,
+ * e.g. for statement "ANALYZE", `entity_type` = "".
+ *
+ *
+ * string entity_type = 2;
+ *
+ * @return The entityType.
+ */
+ @java.lang.Override
+ public java.lang.String getEntityType() {
+ java.lang.Object ref = entityType_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ entityType_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The entity type for the DDL statement, e.g. TABLE, INDEX, VIEW, etc.
+ * This field can be empty string for some DDL statement,
+ * e.g. for statement "ANALYZE", `entity_type` = "".
+ *
+ *
+ * string entity_type = 2;
+ *
+ * @return The bytes for entityType.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getEntityTypeBytes() {
+ java.lang.Object ref = entityType_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ entityType_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ENTITY_NAMES_FIELD_NUMBER = 3;
+
+ @SuppressWarnings("serial")
+ private com.google.protobuf.LazyStringArrayList entityNames_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @return A list containing the entityNames.
+ */
+ public com.google.protobuf.ProtocolStringList getEntityNamesList() {
+ return entityNames_;
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @return The count of entityNames.
+ */
+ public int getEntityNamesCount() {
+ return entityNames_.size();
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @param index The index of the element to return.
+ * @return The entityNames at the given index.
+ */
+ public java.lang.String getEntityNames(int index) {
+ return entityNames_.get(index);
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the entityNames at the given index.
+ */
+ public com.google.protobuf.ByteString getEntityNamesBytes(int index) {
+ return entityNames_.getByteString(index);
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(action_)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, action_);
+ }
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(entityType_)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, entityType_);
+ }
+ for (int i = 0; i < entityNames_.size(); i++) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 3, entityNames_.getRaw(i));
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(action_)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, action_);
+ }
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(entityType_)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, entityType_);
+ }
+ {
+ int dataSize = 0;
+ for (int i = 0; i < entityNames_.size(); i++) {
+ dataSize += computeStringSizeNoTag(entityNames_.getRaw(i));
+ }
+ size += dataSize;
+ size += 1 * getEntityNamesList().size();
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.spanner.admin.database.v1.DdlStatementActionInfo)) {
+ return super.equals(obj);
+ }
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo other =
+ (com.google.spanner.admin.database.v1.DdlStatementActionInfo) obj;
+
+ if (!getAction().equals(other.getAction())) return false;
+ if (!getEntityType().equals(other.getEntityType())) return false;
+ if (!getEntityNamesList().equals(other.getEntityNamesList())) return false;
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + ACTION_FIELD_NUMBER;
+ hash = (53 * hash) + getAction().hashCode();
+ hash = (37 * hash) + ENTITY_TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + getEntityType().hashCode();
+ if (getEntityNamesCount() > 0) {
+ hash = (37 * hash) + ENTITY_NAMES_FIELD_NUMBER;
+ hash = (53 * hash) + getEntityNamesList().hashCode();
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * Action information extracted from a DDL statement. This proto is used to
+ * display the brief info of the DDL statement for the operation
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl].
+ *
+ *
+ * Protobuf type {@code google.spanner.admin.database.v1.DdlStatementActionInfo}
+ */
+ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ implements
+ // @@protoc_insertion_point(builder_implements:google.spanner.admin.database.v1.DdlStatementActionInfo)
+ com.google.spanner.admin.database.v1.DdlStatementActionInfoOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
+ .internal_static_google_spanner_admin_database_v1_DdlStatementActionInfo_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
+ .internal_static_google_spanner_admin_database_v1_DdlStatementActionInfo_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.class,
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.Builder.class);
+ }
+
+ // Construct using com.google.spanner.admin.database.v1.DdlStatementActionInfo.newBuilder()
+ private Builder() {}
+
+ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ }
+
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ bitField0_ = 0;
+ action_ = "";
+ entityType_ = "";
+ entityNames_ = com.google.protobuf.LazyStringArrayList.emptyList();
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
+ return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
+ .internal_static_google_spanner_admin_database_v1_DdlStatementActionInfo_descriptor;
+ }
+
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DdlStatementActionInfo getDefaultInstanceForType() {
+ return com.google.spanner.admin.database.v1.DdlStatementActionInfo.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DdlStatementActionInfo build() {
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DdlStatementActionInfo buildPartial() {
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo result =
+ new com.google.spanner.admin.database.v1.DdlStatementActionInfo(this);
+ if (bitField0_ != 0) {
+ buildPartial0(result);
+ }
+ onBuilt();
+ return result;
+ }
+
+ private void buildPartial0(com.google.spanner.admin.database.v1.DdlStatementActionInfo result) {
+ int from_bitField0_ = bitField0_;
+ if (((from_bitField0_ & 0x00000001) != 0)) {
+ result.action_ = action_;
+ }
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ result.entityType_ = entityType_;
+ }
+ if (((from_bitField0_ & 0x00000004) != 0)) {
+ entityNames_.makeImmutable();
+ result.entityNames_ = entityNames_;
+ }
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+ return super.setField(field, value);
+ }
+
+ @java.lang.Override
+ public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+
+ @java.lang.Override
+ public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.spanner.admin.database.v1.DdlStatementActionInfo) {
+ return mergeFrom((com.google.spanner.admin.database.v1.DdlStatementActionInfo) other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.google.spanner.admin.database.v1.DdlStatementActionInfo other) {
+ if (other == com.google.spanner.admin.database.v1.DdlStatementActionInfo.getDefaultInstance())
+ return this;
+ if (!other.getAction().isEmpty()) {
+ action_ = other.action_;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ }
+ if (!other.getEntityType().isEmpty()) {
+ entityType_ = other.entityType_;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ }
+ if (!other.entityNames_.isEmpty()) {
+ if (entityNames_.isEmpty()) {
+ entityNames_ = other.entityNames_;
+ bitField0_ |= 0x00000004;
+ } else {
+ ensureEntityNamesIsMutable();
+ entityNames_.addAll(other.entityNames_);
+ }
+ onChanged();
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ case 10:
+ {
+ action_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000001;
+ break;
+ } // case 10
+ case 18:
+ {
+ entityType_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000002;
+ break;
+ } // case 18
+ case 26:
+ {
+ java.lang.String s = input.readStringRequireUtf8();
+ ensureEntityNamesIsMutable();
+ entityNames_.add(s);
+ break;
+ } // case 26
+ default:
+ {
+ if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+ done = true; // was an endgroup tag
+ }
+ break;
+ } // default:
+ } // switch (tag)
+ } // while (!done)
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.unwrapIOException();
+ } finally {
+ onChanged();
+ } // finally
+ return this;
+ }
+
+ private int bitField0_;
+
+ private java.lang.Object action_ = "";
+ /**
+ *
+ *
+ *
+ * The action for the DDL statement, e.g. CREATE, ALTER, DROP, GRANT, etc.
+ * This field is a non-empty string.
+ *
+ *
+ * string action = 1;
+ *
+ * @return The action.
+ */
+ public java.lang.String getAction() {
+ java.lang.Object ref = action_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ action_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The action for the DDL statement, e.g. CREATE, ALTER, DROP, GRANT, etc.
+ * This field is a non-empty string.
+ *
+ *
+ * string action = 1;
+ *
+ * @return The bytes for action.
+ */
+ public com.google.protobuf.ByteString getActionBytes() {
+ java.lang.Object ref = action_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ action_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The action for the DDL statement, e.g. CREATE, ALTER, DROP, GRANT, etc.
+ * This field is a non-empty string.
+ *
+ *
+ * string action = 1;
+ *
+ * @param value The action to set.
+ * @return This builder for chaining.
+ */
+ public Builder setAction(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ action_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The action for the DDL statement, e.g. CREATE, ALTER, DROP, GRANT, etc.
+ * This field is a non-empty string.
+ *
+ *
+ * string action = 1;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearAction() {
+ action_ = getDefaultInstance().getAction();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The action for the DDL statement, e.g. CREATE, ALTER, DROP, GRANT, etc.
+ * This field is a non-empty string.
+ *
+ *
+ * string action = 1;
+ *
+ * @param value The bytes for action to set.
+ * @return This builder for chaining.
+ */
+ public Builder setActionBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ action_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object entityType_ = "";
+ /**
+ *
+ *
+ *
+ * The entity type for the DDL statement, e.g. TABLE, INDEX, VIEW, etc.
+ * This field can be empty string for some DDL statement,
+ * e.g. for statement "ANALYZE", `entity_type` = "".
+ *
+ *
+ * string entity_type = 2;
+ *
+ * @return The entityType.
+ */
+ public java.lang.String getEntityType() {
+ java.lang.Object ref = entityType_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ entityType_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The entity type for the DDL statement, e.g. TABLE, INDEX, VIEW, etc.
+ * This field can be empty string for some DDL statement,
+ * e.g. for statement "ANALYZE", `entity_type` = "".
+ *
+ *
+ * string entity_type = 2;
+ *
+ * @return The bytes for entityType.
+ */
+ public com.google.protobuf.ByteString getEntityTypeBytes() {
+ java.lang.Object ref = entityType_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ entityType_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The entity type for the DDL statement, e.g. TABLE, INDEX, VIEW, etc.
+ * This field can be empty string for some DDL statement,
+ * e.g. for statement "ANALYZE", `entity_type` = "".
+ *
+ *
+ * string entity_type = 2;
+ *
+ * @param value The entityType to set.
+ * @return This builder for chaining.
+ */
+ public Builder setEntityType(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ entityType_ = value;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The entity type for the DDL statement, e.g. TABLE, INDEX, VIEW, etc.
+ * This field can be empty string for some DDL statement,
+ * e.g. for statement "ANALYZE", `entity_type` = "".
+ *
+ *
+ * string entity_type = 2;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearEntityType() {
+ entityType_ = getDefaultInstance().getEntityType();
+ bitField0_ = (bitField0_ & ~0x00000002);
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The entity type for the DDL statement, e.g. TABLE, INDEX, VIEW, etc.
+ * This field can be empty string for some DDL statement,
+ * e.g. for statement "ANALYZE", `entity_type` = "".
+ *
+ *
+ * string entity_type = 2;
+ *
+ * @param value The bytes for entityType to set.
+ * @return This builder for chaining.
+ */
+ public Builder setEntityTypeBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ entityType_ = value;
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+
+ private com.google.protobuf.LazyStringArrayList entityNames_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
+
+ private void ensureEntityNamesIsMutable() {
+ if (!entityNames_.isModifiable()) {
+ entityNames_ = new com.google.protobuf.LazyStringArrayList(entityNames_);
+ }
+ bitField0_ |= 0x00000004;
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @return A list containing the entityNames.
+ */
+ public com.google.protobuf.ProtocolStringList getEntityNamesList() {
+ entityNames_.makeImmutable();
+ return entityNames_;
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @return The count of entityNames.
+ */
+ public int getEntityNamesCount() {
+ return entityNames_.size();
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @param index The index of the element to return.
+ * @return The entityNames at the given index.
+ */
+ public java.lang.String getEntityNames(int index) {
+ return entityNames_.get(index);
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the entityNames at the given index.
+ */
+ public com.google.protobuf.ByteString getEntityNamesBytes(int index) {
+ return entityNames_.getByteString(index);
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @param index The index to set the value at.
+ * @param value The entityNames to set.
+ * @return This builder for chaining.
+ */
+ public Builder setEntityNames(int index, java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureEntityNamesIsMutable();
+ entityNames_.set(index, value);
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @param value The entityNames to add.
+ * @return This builder for chaining.
+ */
+ public Builder addEntityNames(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureEntityNamesIsMutable();
+ entityNames_.add(value);
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @param values The entityNames to add.
+ * @return This builder for chaining.
+ */
+ public Builder addAllEntityNames(java.lang.Iterable values) {
+ ensureEntityNamesIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(values, entityNames_);
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearEntityNames() {
+ entityNames_ = com.google.protobuf.LazyStringArrayList.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000004);
+ ;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @param value The bytes of the entityNames to add.
+ * @return This builder for chaining.
+ */
+ public Builder addEntityNamesBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ ensureEntityNamesIsMutable();
+ entityNames_.add(value);
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.spanner.admin.database.v1.DdlStatementActionInfo)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.spanner.admin.database.v1.DdlStatementActionInfo)
+ private static final com.google.spanner.admin.database.v1.DdlStatementActionInfo DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.spanner.admin.database.v1.DdlStatementActionInfo();
+ }
+
+ public static com.google.spanner.admin.database.v1.DdlStatementActionInfo getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser PARSER =
+ new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public DdlStatementActionInfo parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ Builder builder = newBuilder();
+ try {
+ builder.mergeFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(builder.buildPartial());
+ } catch (com.google.protobuf.UninitializedMessageException e) {
+ throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(e)
+ .setUnfinishedMessage(builder.buildPartial());
+ }
+ return builder.buildPartial();
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DdlStatementActionInfo getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+}
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DdlStatementActionInfoOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DdlStatementActionInfoOrBuilder.java
new file mode 100644
index 00000000000..77632b556eb
--- /dev/null
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DdlStatementActionInfoOrBuilder.java
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2020 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/spanner/admin/database/v1/spanner_database_admin.proto
+
+package com.google.spanner.admin.database.v1;
+
+public interface DdlStatementActionInfoOrBuilder
+ extends
+ // @@protoc_insertion_point(interface_extends:google.spanner.admin.database.v1.DdlStatementActionInfo)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ *
+ *
+ *
+ * The action for the DDL statement, e.g. CREATE, ALTER, DROP, GRANT, etc.
+ * This field is a non-empty string.
+ *
+ *
+ * string action = 1;
+ *
+ * @return The action.
+ */
+ java.lang.String getAction();
+ /**
+ *
+ *
+ *
+ * The action for the DDL statement, e.g. CREATE, ALTER, DROP, GRANT, etc.
+ * This field is a non-empty string.
+ *
+ *
+ * string action = 1;
+ *
+ * @return The bytes for action.
+ */
+ com.google.protobuf.ByteString getActionBytes();
+
+ /**
+ *
+ *
+ *
+ * The entity type for the DDL statement, e.g. TABLE, INDEX, VIEW, etc.
+ * This field can be empty string for some DDL statement,
+ * e.g. for statement "ANALYZE", `entity_type` = "".
+ *
+ *
+ * string entity_type = 2;
+ *
+ * @return The entityType.
+ */
+ java.lang.String getEntityType();
+ /**
+ *
+ *
+ *
+ * The entity type for the DDL statement, e.g. TABLE, INDEX, VIEW, etc.
+ * This field can be empty string for some DDL statement,
+ * e.g. for statement "ANALYZE", `entity_type` = "".
+ *
+ *
+ * string entity_type = 2;
+ *
+ * @return The bytes for entityType.
+ */
+ com.google.protobuf.ByteString getEntityTypeBytes();
+
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @return A list containing the entityNames.
+ */
+ java.util.List getEntityNamesList();
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @return The count of entityNames.
+ */
+ int getEntityNamesCount();
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @param index The index of the element to return.
+ * @return The entityNames at the given index.
+ */
+ java.lang.String getEntityNames(int index);
+ /**
+ *
+ *
+ *
+ * The entity name(s) being operated on the DDL statement.
+ * E.g.
+ * 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ * 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ * 3. For statement "ANALYZE", `entity_names` = [].
+ *
+ *
+ * repeated string entity_names = 3;
+ *
+ * @param index The index of the value to return.
+ * @return The bytes of the entityNames at the given index.
+ */
+ com.google.protobuf.ByteString getEntityNamesBytes(int index);
+}
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DeleteBackupRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DeleteBackupRequest.java
index e095273e163..b7ec86f086c 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DeleteBackupRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DeleteBackupRequest.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new DeleteBackupRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_DeleteBackupRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DropDatabaseRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DropDatabaseRequest.java
index 2aea18dad1a..401e68627a3 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DropDatabaseRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DropDatabaseRequest.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new DropDatabaseRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_DropDatabaseRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/EncryptionConfig.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/EncryptionConfig.java
index 1ef8ecc89c4..77046a46e50 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/EncryptionConfig.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/EncryptionConfig.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new EncryptionConfig();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.CommonProto
.internal_static_google_spanner_admin_database_v1_EncryptionConfig_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/EncryptionInfo.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/EncryptionInfo.java
index 87cecf2d4a4..b5a473e4b8b 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/EncryptionInfo.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/EncryptionInfo.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new EncryptionInfo();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.CommonProto
.internal_static_google_spanner_admin_database_v1_EncryptionInfo_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetBackupRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetBackupRequest.java
index 7f3cad81b14..cd3c0180bc6 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetBackupRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetBackupRequest.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new GetBackupRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_GetBackupRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseDdlRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseDdlRequest.java
index 528e3bb5d78..311555b751c 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseDdlRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseDdlRequest.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new GetDatabaseDdlRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_GetDatabaseDdlRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseDdlResponse.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseDdlResponse.java
index c4ad5e76da3..fd710da5da0 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseDdlResponse.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseDdlResponse.java
@@ -38,7 +38,7 @@ private GetDatabaseDdlResponse(com.google.protobuf.GeneratedMessageV3.Builder>
}
private GetDatabaseDdlResponse() {
- statements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ statements_ = com.google.protobuf.LazyStringArrayList.emptyList();
}
@java.lang.Override
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new GetDatabaseDdlResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_GetDatabaseDdlResponse_descriptor;
@@ -70,7 +65,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
public static final int STATEMENTS_FIELD_NUMBER = 1;
@SuppressWarnings("serial")
- private com.google.protobuf.LazyStringList statements_;
+ private com.google.protobuf.LazyStringArrayList statements_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
@@ -340,8 +336,7 @@ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
public Builder clear() {
super.clear();
bitField0_ = 0;
- statements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
- bitField0_ = (bitField0_ & ~0x00000001);
+ statements_ = com.google.protobuf.LazyStringArrayList.emptyList();
return this;
}
@@ -369,7 +364,6 @@ public com.google.spanner.admin.database.v1.GetDatabaseDdlResponse build() {
public com.google.spanner.admin.database.v1.GetDatabaseDdlResponse buildPartial() {
com.google.spanner.admin.database.v1.GetDatabaseDdlResponse result =
new com.google.spanner.admin.database.v1.GetDatabaseDdlResponse(this);
- buildPartialRepeatedFields(result);
if (bitField0_ != 0) {
buildPartial0(result);
}
@@ -377,17 +371,12 @@ public com.google.spanner.admin.database.v1.GetDatabaseDdlResponse buildPartial(
return result;
}
- private void buildPartialRepeatedFields(
- com.google.spanner.admin.database.v1.GetDatabaseDdlResponse result) {
- if (((bitField0_ & 0x00000001) != 0)) {
- statements_ = statements_.getUnmodifiableView();
- bitField0_ = (bitField0_ & ~0x00000001);
- }
- result.statements_ = statements_;
- }
-
private void buildPartial0(com.google.spanner.admin.database.v1.GetDatabaseDdlResponse result) {
int from_bitField0_ = bitField0_;
+ if (((from_bitField0_ & 0x00000001) != 0)) {
+ statements_.makeImmutable();
+ result.statements_ = statements_;
+ }
}
@java.lang.Override
@@ -439,7 +428,7 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.GetDatabaseDdlResp
if (!other.statements_.isEmpty()) {
if (statements_.isEmpty()) {
statements_ = other.statements_;
- bitField0_ = (bitField0_ & ~0x00000001);
+ bitField0_ |= 0x00000001;
} else {
ensureStatementsIsMutable();
statements_.addAll(other.statements_);
@@ -498,14 +487,14 @@ public Builder mergeFrom(
private int bitField0_;
- private com.google.protobuf.LazyStringList statements_ =
- com.google.protobuf.LazyStringArrayList.EMPTY;
+ private com.google.protobuf.LazyStringArrayList statements_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureStatementsIsMutable() {
- if (!((bitField0_ & 0x00000001) != 0)) {
+ if (!statements_.isModifiable()) {
statements_ = new com.google.protobuf.LazyStringArrayList(statements_);
- bitField0_ |= 0x00000001;
}
+ bitField0_ |= 0x00000001;
}
/**
*
@@ -520,7 +509,8 @@ private void ensureStatementsIsMutable() {
* @return A list containing the statements.
*/
public com.google.protobuf.ProtocolStringList getStatementsList() {
- return statements_.getUnmodifiableView();
+ statements_.makeImmutable();
+ return statements_;
}
/**
*
@@ -589,6 +579,7 @@ public Builder setStatements(int index, java.lang.String value) {
}
ensureStatementsIsMutable();
statements_.set(index, value);
+ bitField0_ |= 0x00000001;
onChanged();
return this;
}
@@ -611,6 +602,7 @@ public Builder addStatements(java.lang.String value) {
}
ensureStatementsIsMutable();
statements_.add(value);
+ bitField0_ |= 0x00000001;
onChanged();
return this;
}
@@ -630,6 +622,7 @@ public Builder addStatements(java.lang.String value) {
public Builder addAllStatements(java.lang.Iterable values) {
ensureStatementsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, statements_);
+ bitField0_ |= 0x00000001;
onChanged();
return this;
}
@@ -646,8 +639,9 @@ public Builder addAllStatements(java.lang.Iterable values) {
* @return This builder for chaining.
*/
public Builder clearStatements() {
- statements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ statements_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000001);
+ ;
onChanged();
return this;
}
@@ -671,6 +665,7 @@ public Builder addStatementsBytes(com.google.protobuf.ByteString value) {
checkByteStringIsUtf8(value);
ensureStatementsIsMutable();
statements_.add(value);
+ bitField0_ |= 0x00000001;
onChanged();
return this;
}
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseRequest.java
index 2a501d6d7cf..d6b52bfbbfa 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/GetDatabaseRequest.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new GetDatabaseRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_GetDatabaseRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/InstanceName.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/InstanceName.java
index abe1ad6b3d8..afc77685648 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/InstanceName.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/InstanceName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2022 Google LLC
+ * Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsRequest.java
index 5426f3dd857..a871c005dc6 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsRequest.java
@@ -50,11 +50,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListBackupOperationsRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_ListBackupOperationsRequest_descriptor;
@@ -136,13 +131,16 @@ public com.google.protobuf.ByteString getParentBytes() {
*
*
* An expression that filters the list of returned backup operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -154,10 +152,13 @@ public com.google.protobuf.ByteString getParentBytes() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
* `metadata.database:prod` - Returns operations where:
@@ -218,13 +219,16 @@ public java.lang.String getFilter() {
*
*
* An expression that filters the list of returned backup operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -236,10 +240,13 @@ public java.lang.String getFilter() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
* `metadata.database:prod` - Returns operations where:
@@ -917,13 +924,16 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
*
*
* An expression that filters the list of returned backup operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -935,10 +945,13 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
* `metadata.database:prod` - Returns operations where:
@@ -998,13 +1011,16 @@ public java.lang.String getFilter() {
*
*
* An expression that filters the list of returned backup operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -1016,10 +1032,13 @@ public java.lang.String getFilter() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
* `metadata.database:prod` - Returns operations where:
@@ -1079,13 +1098,16 @@ public com.google.protobuf.ByteString getFilterBytes() {
*
*
* An expression that filters the list of returned backup operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -1097,10 +1119,13 @@ public com.google.protobuf.ByteString getFilterBytes() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
* `metadata.database:prod` - Returns operations where:
@@ -1159,13 +1184,16 @@ public Builder setFilter(java.lang.String value) {
*
*
* An expression that filters the list of returned backup operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -1177,10 +1205,13 @@ public Builder setFilter(java.lang.String value) {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
* `metadata.database:prod` - Returns operations where:
@@ -1235,13 +1266,16 @@ public Builder clearFilter() {
*
*
* An expression that filters the list of returned backup operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -1253,10 +1287,13 @@ public Builder clearFilter() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
* `metadata.database:prod` - Returns operations where:
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsRequestOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsRequestOrBuilder.java
index 4d862ccc097..4268655ed60 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsRequestOrBuilder.java
@@ -59,13 +59,16 @@ public interface ListBackupOperationsRequestOrBuilder
*
*
* An expression that filters the list of returned backup operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -77,10 +80,13 @@ public interface ListBackupOperationsRequestOrBuilder
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
* `metadata.database:prod` - Returns operations where:
@@ -130,13 +136,16 @@ public interface ListBackupOperationsRequestOrBuilder
*
*
* An expression that filters the list of returned backup operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -148,10 +157,13 @@ public interface ListBackupOperationsRequestOrBuilder
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \
* `metadata.database:prod` - Returns operations where:
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsResponse.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsResponse.java
index a1a12ed3bf8..4afe5a1cc6a 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsResponse.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupOperationsResponse.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListBackupOperationsResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_ListBackupOperationsResponse_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsRequest.java
index 0140292e32b..69c1786eec9 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsRequest.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListBackupsRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_ListBackupsRequest_descriptor;
@@ -135,12 +130,15 @@ public com.google.protobuf.ByteString getParentBytes() {
*
*
* An expression that filters the list of returned backups.
+ *
* A filter expression consists of a field name, a comparison operator, and a
* value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Backup][google.spanner.admin.database.v1.Backup] are eligible for filtering:
+ *
* * `name`
* * `database`
* * `state`
@@ -148,10 +146,13 @@ public com.google.protobuf.ByteString getParentBytes() {
* * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `version_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `size_bytes`
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `name:Howl` - The backup's name contains the string "howl".
* * `database:prod`
* - The database's name contains the string "prod".
@@ -186,12 +187,15 @@ public java.lang.String getFilter() {
*
*
* An expression that filters the list of returned backups.
+ *
* A filter expression consists of a field name, a comparison operator, and a
* value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Backup][google.spanner.admin.database.v1.Backup] are eligible for filtering:
+ *
* * `name`
* * `database`
* * `state`
@@ -199,10 +203,13 @@ public java.lang.String getFilter() {
* * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `version_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `size_bytes`
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `name:Howl` - The backup's name contains the string "howl".
* * `database:prod`
* - The database's name contains the string "prod".
@@ -849,12 +856,15 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
*
*
* An expression that filters the list of returned backups.
+ *
* A filter expression consists of a field name, a comparison operator, and a
* value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Backup][google.spanner.admin.database.v1.Backup] are eligible for filtering:
+ *
* * `name`
* * `database`
* * `state`
@@ -862,10 +872,13 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
* * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `version_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `size_bytes`
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `name:Howl` - The backup's name contains the string "howl".
* * `database:prod`
* - The database's name contains the string "prod".
@@ -899,12 +912,15 @@ public java.lang.String getFilter() {
*
*
* An expression that filters the list of returned backups.
+ *
* A filter expression consists of a field name, a comparison operator, and a
* value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Backup][google.spanner.admin.database.v1.Backup] are eligible for filtering:
+ *
* * `name`
* * `database`
* * `state`
@@ -912,10 +928,13 @@ public java.lang.String getFilter() {
* * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `version_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `size_bytes`
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `name:Howl` - The backup's name contains the string "howl".
* * `database:prod`
* - The database's name contains the string "prod".
@@ -949,12 +968,15 @@ public com.google.protobuf.ByteString getFilterBytes() {
*
*
* An expression that filters the list of returned backups.
+ *
* A filter expression consists of a field name, a comparison operator, and a
* value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Backup][google.spanner.admin.database.v1.Backup] are eligible for filtering:
+ *
* * `name`
* * `database`
* * `state`
@@ -962,10 +984,13 @@ public com.google.protobuf.ByteString getFilterBytes() {
* * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `version_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `size_bytes`
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `name:Howl` - The backup's name contains the string "howl".
* * `database:prod`
* - The database's name contains the string "prod".
@@ -998,12 +1023,15 @@ public Builder setFilter(java.lang.String value) {
*
*
* An expression that filters the list of returned backups.
+ *
* A filter expression consists of a field name, a comparison operator, and a
* value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Backup][google.spanner.admin.database.v1.Backup] are eligible for filtering:
+ *
* * `name`
* * `database`
* * `state`
@@ -1011,10 +1039,13 @@ public Builder setFilter(java.lang.String value) {
* * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `version_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `size_bytes`
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `name:Howl` - The backup's name contains the string "howl".
* * `database:prod`
* - The database's name contains the string "prod".
@@ -1043,12 +1074,15 @@ public Builder clearFilter() {
*
*
* An expression that filters the list of returned backups.
+ *
* A filter expression consists of a field name, a comparison operator, and a
* value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Backup][google.spanner.admin.database.v1.Backup] are eligible for filtering:
+ *
* * `name`
* * `database`
* * `state`
@@ -1056,10 +1090,13 @@ public Builder clearFilter() {
* * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `version_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `size_bytes`
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `name:Howl` - The backup's name contains the string "howl".
* * `database:prod`
* - The database's name contains the string "prod".
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsRequestOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsRequestOrBuilder.java
index 4ea911b53ce..3c253ef05bf 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsRequestOrBuilder.java
@@ -59,12 +59,15 @@ public interface ListBackupsRequestOrBuilder
*
*
* An expression that filters the list of returned backups.
+ *
* A filter expression consists of a field name, a comparison operator, and a
* value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Backup][google.spanner.admin.database.v1.Backup] are eligible for filtering:
+ *
* * `name`
* * `database`
* * `state`
@@ -72,10 +75,13 @@ public interface ListBackupsRequestOrBuilder
* * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `version_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `size_bytes`
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `name:Howl` - The backup's name contains the string "howl".
* * `database:prod`
* - The database's name contains the string "prod".
@@ -99,12 +105,15 @@ public interface ListBackupsRequestOrBuilder
*
*
* An expression that filters the list of returned backups.
+ *
* A filter expression consists of a field name, a comparison operator, and a
* value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Backup][google.spanner.admin.database.v1.Backup] are eligible for filtering:
+ *
* * `name`
* * `database`
* * `state`
@@ -112,10 +121,13 @@ public interface ListBackupsRequestOrBuilder
* * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `version_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
* * `size_bytes`
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic, but
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `name:Howl` - The backup's name contains the string "howl".
* * `database:prod`
* - The database's name contains the string "prod".
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsResponse.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsResponse.java
index e320ee4aba2..8c06fc77b79 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsResponse.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListBackupsResponse.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListBackupsResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_ListBackupsResponse_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsRequest.java
index 9bf375def87..4b0abaf18d2 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsRequest.java
@@ -50,11 +50,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListDatabaseOperationsRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_ListDatabaseOperationsRequest_descriptor;
@@ -136,13 +131,16 @@ public com.google.protobuf.ByteString getParentBytes() {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -154,10 +152,13 @@ public com.google.protobuf.ByteString getParentBytes() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \
* `(metadata.source_type:BACKUP) AND` \
@@ -194,13 +195,16 @@ public java.lang.String getFilter() {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -212,10 +216,13 @@ public java.lang.String getFilter() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \
* `(metadata.source_type:BACKUP) AND` \
@@ -873,13 +880,16 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -891,10 +901,13 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \
* `(metadata.source_type:BACKUP) AND` \
@@ -930,13 +943,16 @@ public java.lang.String getFilter() {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -948,10 +964,13 @@ public java.lang.String getFilter() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \
* `(metadata.source_type:BACKUP) AND` \
@@ -987,13 +1006,16 @@ public com.google.protobuf.ByteString getFilterBytes() {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -1005,10 +1027,13 @@ public com.google.protobuf.ByteString getFilterBytes() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \
* `(metadata.source_type:BACKUP) AND` \
@@ -1043,13 +1068,16 @@ public Builder setFilter(java.lang.String value) {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -1061,10 +1089,13 @@ public Builder setFilter(java.lang.String value) {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \
* `(metadata.source_type:BACKUP) AND` \
@@ -1095,13 +1126,16 @@ public Builder clearFilter() {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -1113,10 +1147,13 @@ public Builder clearFilter() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \
* `(metadata.source_type:BACKUP) AND` \
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsRequestOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsRequestOrBuilder.java
index e020307e57f..4d1f7f23c82 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsRequestOrBuilder.java
@@ -59,13 +59,16 @@ public interface ListDatabaseOperationsRequestOrBuilder
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -77,10 +80,13 @@ public interface ListDatabaseOperationsRequestOrBuilder
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \
* `(metadata.source_type:BACKUP) AND` \
@@ -106,13 +112,16 @@ public interface ListDatabaseOperationsRequestOrBuilder
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -124,10 +133,13 @@ public interface ListDatabaseOperationsRequestOrBuilder
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \
* `(metadata.source_type:BACKUP) AND` \
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsResponse.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsResponse.java
index 763faff8830..110f68ff83d 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsResponse.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseOperationsResponse.java
@@ -50,11 +50,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListDatabaseOperationsResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_ListDatabaseOperationsResponse_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseRolesRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseRolesRequest.java
index 4b7453090ce..e26e0089963 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseRolesRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseRolesRequest.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListDatabaseRolesRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_ListDatabaseRolesRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseRolesResponse.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseRolesResponse.java
index ac539aa5acf..442ed797d6f 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseRolesResponse.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabaseRolesResponse.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListDatabaseRolesResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_ListDatabaseRolesResponse_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabasesRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabasesRequest.java
index eac171f8df9..c6c3c695459 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabasesRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabasesRequest.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListDatabasesRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_ListDatabasesRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabasesResponse.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabasesResponse.java
index dd3ce964137..6063e3bb8a3 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabasesResponse.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/ListDatabasesResponse.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListDatabasesResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_ListDatabasesResponse_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/OperationProgress.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/OperationProgress.java
index dceff032df0..7a4a49e58e6 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/OperationProgress.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/OperationProgress.java
@@ -46,11 +46,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new OperationProgress();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.CommonProto
.internal_static_google_spanner_admin_database_v1_OperationProgress_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/OptimizeRestoredDatabaseMetadata.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/OptimizeRestoredDatabaseMetadata.java
index ce652f5318f..372757476db 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/OptimizeRestoredDatabaseMetadata.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/OptimizeRestoredDatabaseMetadata.java
@@ -51,11 +51,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new OptimizeRestoredDatabaseMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_OptimizeRestoredDatabaseMetadata_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseEncryptionConfig.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseEncryptionConfig.java
index 54aa3135f07..19523910055 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseEncryptionConfig.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseEncryptionConfig.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new RestoreDatabaseEncryptionConfig();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_RestoreDatabaseEncryptionConfig_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseMetadata.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseMetadata.java
index 0225666e1ff..49ca8fde967 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseMetadata.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseMetadata.java
@@ -50,11 +50,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new RestoreDatabaseMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_RestoreDatabaseMetadata_descriptor;
@@ -71,6 +66,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
}
private int sourceInfoCase_ = 0;
+
+ @SuppressWarnings("serial")
private java.lang.Object sourceInfo_;
public enum SourceInfoCase
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseMetadataOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseMetadataOrBuilder.java
index 35ad6d76e9d..a6b1bc97877 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseMetadataOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseMetadataOrBuilder.java
@@ -259,6 +259,5 @@ public interface RestoreDatabaseMetadataOrBuilder
*/
com.google.protobuf.ByteString getOptimizeDatabaseOperationNameBytes();
- public com.google.spanner.admin.database.v1.RestoreDatabaseMetadata.SourceInfoCase
- getSourceInfoCase();
+ com.google.spanner.admin.database.v1.RestoreDatabaseMetadata.SourceInfoCase getSourceInfoCase();
}
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseRequest.java
index c89cf015544..96d866db827 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseRequest.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new RestoreDatabaseRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_RestoreDatabaseRequest_descriptor;
@@ -70,6 +65,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
}
private int sourceCase_ = 0;
+
+ @SuppressWarnings("serial")
private java.lang.Object source_;
public enum SourceCase
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseRequestOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseRequestOrBuilder.java
index f7c1c6e1f82..e2047038bd5 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreDatabaseRequestOrBuilder.java
@@ -188,5 +188,5 @@ public interface RestoreDatabaseRequestOrBuilder
com.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfigOrBuilder
getEncryptionConfigOrBuilder();
- public com.google.spanner.admin.database.v1.RestoreDatabaseRequest.SourceCase getSourceCase();
+ com.google.spanner.admin.database.v1.RestoreDatabaseRequest.SourceCase getSourceCase();
}
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreInfo.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreInfo.java
index e76b3bcef86..02c67d53686 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreInfo.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreInfo.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new RestoreInfo();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_RestoreInfo_descriptor;
@@ -68,6 +63,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
}
private int sourceInfoCase_ = 0;
+
+ @SuppressWarnings("serial")
private java.lang.Object sourceInfo_;
public enum SourceInfoCase
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreInfoOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreInfoOrBuilder.java
index f1b55bcc5f5..d02746a0ed6 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreInfoOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/RestoreInfoOrBuilder.java
@@ -86,5 +86,5 @@ public interface RestoreInfoOrBuilder
*/
com.google.spanner.admin.database.v1.BackupInfoOrBuilder getBackupInfoOrBuilder();
- public com.google.spanner.admin.database.v1.RestoreInfo.SourceInfoCase getSourceInfoCase();
+ com.google.spanner.admin.database.v1.RestoreInfo.SourceInfoCase getSourceInfoCase();
}
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/SpannerDatabaseAdminProto.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/SpannerDatabaseAdminProto.java
index 0045ee30f35..4ac1d45264c 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/SpannerDatabaseAdminProto.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/SpannerDatabaseAdminProto.java
@@ -67,6 +67,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r
internal_static_google_spanner_admin_database_v1_UpdateDatabaseDdlRequest_descriptor;
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internal_static_google_spanner_admin_database_v1_UpdateDatabaseDdlRequest_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_spanner_admin_database_v1_DdlStatementActionInfo_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_spanner_admin_database_v1_DdlStatementActionInfo_fieldAccessorTable;
static final com.google.protobuf.Descriptors.Descriptor
internal_static_google_spanner_admin_database_v1_UpdateDatabaseDdlMetadata_descriptor;
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
@@ -144,249 +148,253 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "ource_type\030\001 \001(\01623.google.spanner.admin."
+ "database.v1.RestoreSourceType\022C\n\013backup_"
+ "info\030\002 \001(\0132,.google.spanner.admin.databa"
- + "se.v1.BackupInfoH\000B\r\n\013source_info\"\312\006\n\010Da"
- + "tabase\022\021\n\004name\030\001 \001(\tB\003\340A\002\022D\n\005state\030\002 \001(\016"
- + "20.google.spanner.admin.database.v1.Data"
- + "base.StateB\003\340A\003\0224\n\013create_time\030\003 \001(\0132\032.g"
- + "oogle.protobuf.TimestampB\003\340A\003\022H\n\014restore"
- + "_info\030\004 \001(\0132-.google.spanner.admin.datab"
- + "ase.v1.RestoreInfoB\003\340A\003\022R\n\021encryption_co"
- + "nfig\030\005 \001(\01322.google.spanner.admin.databa"
- + "se.v1.EncryptionConfigB\003\340A\003\022N\n\017encryptio"
- + "n_info\030\010 \003(\01320.google.spanner.admin.data"
- + "base.v1.EncryptionInfoB\003\340A\003\022%\n\030version_r"
- + "etention_period\030\006 \001(\tB\003\340A\003\022>\n\025earliest_v"
- + "ersion_time\030\007 \001(\0132\032.google.protobuf.Time"
- + "stampB\003\340A\003\022\033\n\016default_leader\030\t \001(\tB\003\340A\003\022"
- + "P\n\020database_dialect\030\n \001(\01621.google.spann"
- + "er.admin.database.v1.DatabaseDialectB\003\340A"
- + "\003\022\036\n\026enable_drop_protection\030\013 \001(\010\022\030\n\013rec"
- + "onciling\030\014 \001(\010B\003\340A\003\"M\n\005State\022\025\n\021STATE_UN"
- + "SPECIFIED\020\000\022\014\n\010CREATING\020\001\022\t\n\005READY\020\002\022\024\n\020"
- + "READY_OPTIMIZING\020\003:b\352A_\n\037spanner.googlea"
- + "pis.com/Database\022\202\323\344\223\002/\022-"
- + "/v1/{parent=projects/*/instances/*}/data"
- + "bases\332A\006parent\022\244\002\n\016CreateDatabase\0227.goog"
- + "le.spanner.admin.database.v1.CreateDatab"
- + "aseRequest\032\035.google.longrunning.Operatio"
- + "n\"\271\001\202\323\344\223\0022\"-/v1/{parent=projects/*/insta"
- + "nces/*}/databases:\001*\332A\027parent,create_sta"
- + "tement\312Ad\n)google.spanner.admin.database"
- + ".v1.Database\0227google.spanner.admin.datab"
- + "ase.v1.CreateDatabaseMetadata\022\255\001\n\013GetDat"
- + "abase\0224.google.spanner.admin.database.v1"
- + ".GetDatabaseRequest\032*.google.spanner.adm"
- + "in.database.v1.Database\"<\202\323\344\223\002/\022-/v1/{na"
- + "me=projects/*/instances/*/databases/*}\332A"
- + "\004name\022\357\001\n\016UpdateDatabase\0227.google.spanne"
- + "r.admin.database.v1.UpdateDatabaseReques"
- + "t\032\035.google.longrunning.Operation\"\204\001\202\323\344\223\002"
- + "B26/v1/{database.name=projects/*/instanc"
- + "es/*/databases/*}:\010database\332A\024database,u"
- + "pdate_mask\312A\"\n\010Database\022\026UpdateDatabaseM"
- + "etadata\022\235\002\n\021UpdateDatabaseDdl\022:.google.s"
- + "panner.admin.database.v1.UpdateDatabaseD"
- + "dlRequest\032\035.google.longrunning.Operation"
- + "\"\254\001\202\323\344\223\002:25/v1/{database=projects/*/inst"
- + "ances/*/databases/*}/ddl:\001*\332A\023database,s"
- + "tatements\312AS\n\025google.protobuf.Empty\022:goo"
- + "gle.spanner.admin.database.v1.UpdateData"
- + "baseDdlMetadata\022\243\001\n\014DropDatabase\0225.googl"
- + "e.spanner.admin.database.v1.DropDatabase"
- + "Request\032\026.google.protobuf.Empty\"D\202\323\344\223\0023*"
- + "1/v1/{database=projects/*/instances/*/da"
- + "tabases/*}\332A\010database\022\315\001\n\016GetDatabaseDdl"
- + "\0227.google.spanner.admin.database.v1.GetD"
- + "atabaseDdlRequest\0328.google.spanner.admin"
- + ".database.v1.GetDatabaseDdlResponse\"H\202\323\344"
- + "\223\0027\0225/v1/{database=projects/*/instances/"
- + "*/databases/*}/ddl\332A\010database\022\353\001\n\014SetIam"
- + "Policy\022\".google.iam.v1.SetIamPolicyReque"
- + "st\032\025.google.iam.v1.Policy\"\237\001\202\323\344\223\002\206\001\">/v1"
- + "/{resource=projects/*/instances/*/databa"
- + "ses/*}:setIamPolicy:\001*ZA\"/v1/{"
- + "resource=projects/*/instances/*/database"
- + "s/*}:getIamPolicy:\001*ZA\".google.spanner.admin.databa"
- + "se.v1.ListBackupOperationsResponse\"E\202\323\344\223"
- + "\0026\0224/v1/{parent=projects/*/instances/*}/"
- + "backupOperations\332A\006parent\022\334\001\n\021ListDataba"
- + "seRoles\022:.google.spanner.admin.database."
- + "v1.ListDatabaseRolesRequest\032;.google.spa"
- + "nner.admin.database.v1.ListDatabaseRoles"
- + "Response\"N\202\323\344\223\002?\022=/v1/{parent=projects/*"
- + "/instances/*/databases/*}/databaseRoles\332"
- + "A\006parent\032x\312A\026spanner.googleapis.com\322A\\ht"
- + "tps://www.googleapis.com/auth/cloud-plat"
- + "form,https://www.googleapis.com/auth/spa"
- + "nner.adminB\330\002\n$com.google.spanner.admin."
- + "database.v1B\031SpannerDatabaseAdminProtoP\001"
- + "ZFcloud.google.com/go/spanner/admin/data"
- + "base/apiv1/databasepb;databasepb\252\002&Googl"
- + "e.Cloud.Spanner.Admin.Database.V1\312\002&Goog"
- + "le\\Cloud\\Spanner\\Admin\\Database\\V1\352\002+Goo"
- + "gle::Cloud::Spanner::Admin::Database::V1"
- + "\352AJ\n\037spanner.googleapis.com/Instance\022\'pr"
- + "ojects/{project}/instances/{instance}b\006p"
- + "roto3"
+ + "is.com/Database\022E\n\010progress\030\002 \001(\01323.goog"
+ + "le.spanner.admin.database.v1.OperationPr"
+ + "ogress\"\237\001\n\014DatabaseRole\022\022\n\004name\030\001 \001(\tB\004\342"
+ + "A\001\002:{\352Ax\n#spanner.googleapis.com/Databas"
+ + "eRole\022Qprojects/{project}/instances/{ins"
+ + "tance}/databases/{database}/databaseRole"
+ + "s/{role}\"{\n\030ListDatabaseRolesRequest\0228\n\006"
+ + "parent\030\001 \001(\tB(\342A\001\002\372A!\n\037spanner.googleapi"
+ + "s.com/Database\022\021\n\tpage_size\030\002 \001(\005\022\022\n\npag"
+ + "e_token\030\003 \001(\t\"|\n\031ListDatabaseRolesRespon"
+ + "se\022F\n\016database_roles\030\001 \003(\0132..google.span"
+ + "ner.admin.database.v1.DatabaseRole\022\027\n\017ne"
+ + "xt_page_token\030\002 \001(\t*5\n\021RestoreSourceType"
+ + "\022\024\n\020TYPE_UNSPECIFIED\020\000\022\n\n\006BACKUP\020\0012\356%\n\rD"
+ + "atabaseAdmin\022\300\001\n\rListDatabases\0226.google."
+ + "spanner.admin.database.v1.ListDatabasesR"
+ + "equest\0327.google.spanner.admin.database.v"
+ + "1.ListDatabasesResponse\">\332A\006parent\202\323\344\223\002/"
+ + "\022-/v1/{parent=projects/*/instances/*}/da"
+ + "tabases\022\244\002\n\016CreateDatabase\0227.google.span"
+ + "ner.admin.database.v1.CreateDatabaseRequ"
+ + "est\032\035.google.longrunning.Operation\"\271\001\312Ad"
+ + "\n)google.spanner.admin.database.v1.Datab"
+ + "ase\0227google.spanner.admin.database.v1.Cr"
+ + "eateDatabaseMetadata\332A\027parent,create_sta"
+ + "tement\202\323\344\223\0022\"-/v1/{parent=projects/*/ins"
+ + "tances/*}/databases:\001*\022\255\001\n\013GetDatabase\0224"
+ + ".google.spanner.admin.database.v1.GetDat"
+ + "abaseRequest\032*.google.spanner.admin.data"
+ + "base.v1.Database\"<\332A\004name\202\323\344\223\002/\022-/v1/{na"
+ + "me=projects/*/instances/*/databases/*}\022\357"
+ + "\001\n\016UpdateDatabase\0227.google.spanner.admin"
+ + ".database.v1.UpdateDatabaseRequest\032\035.goo"
+ + "gle.longrunning.Operation\"\204\001\312A\"\n\010Databas"
+ + "e\022\026UpdateDatabaseMetadata\332A\024database,upd"
+ + "ate_mask\202\323\344\223\002B26/v1/{database.name=proje"
+ + "cts/*/instances/*/databases/*}:\010database"
+ + "\022\235\002\n\021UpdateDatabaseDdl\022:.google.spanner."
+ + "admin.database.v1.UpdateDatabaseDdlReque"
+ + "st\032\035.google.longrunning.Operation\"\254\001\312AS\n"
+ + "\025google.protobuf.Empty\022:google.spanner.a"
+ + "dmin.database.v1.UpdateDatabaseDdlMetada"
+ + "ta\332A\023database,statements\202\323\344\223\002:25/v1/{dat"
+ + "abase=projects/*/instances/*/databases/*"
+ + "}/ddl:\001*\022\243\001\n\014DropDatabase\0225.google.spann"
+ + "er.admin.database.v1.DropDatabaseRequest"
+ + "\032\026.google.protobuf.Empty\"D\332A\010database\202\323\344"
+ + "\223\0023*1/v1/{database=projects/*/instances/"
+ + "*/databases/*}\022\315\001\n\016GetDatabaseDdl\0227.goog"
+ + "le.spanner.admin.database.v1.GetDatabase"
+ + "DdlRequest\0328.google.spanner.admin.databa"
+ + "se.v1.GetDatabaseDdlResponse\"H\332A\010databas"
+ + "e\202\323\344\223\0027\0225/v1/{database=projects/*/instan"
+ + "ces/*/databases/*}/ddl\022\353\001\n\014SetIamPolicy\022"
+ + "\".google.iam.v1.SetIamPolicyRequest\032\025.go"
+ + "ogle.iam.v1.Policy\"\237\001\332A\017resource,policy\202"
+ + "\323\344\223\002\206\001\">/v1/{resource=projects/*/instanc"
+ + "es/*/databases/*}:setIamPolicy:\001*ZA\"/"
+ + "v1/{resource=projects/*/instances/*/data"
+ + "bases/*}:getIamPolicy:\001*ZA\".google.spanner.admin.database.v1.L"
+ + "istBackupOperationsResponse\"E\332A\006parent\202\323"
+ + "\344\223\0026\0224/v1/{parent=projects/*/instances/*"
+ + "}/backupOperations\022\334\001\n\021ListDatabaseRoles"
+ + "\022:.google.spanner.admin.database.v1.List"
+ + "DatabaseRolesRequest\032;.google.spanner.ad"
+ + "min.database.v1.ListDatabaseRolesRespons"
+ + "e\"N\332A\006parent\202\323\344\223\002?\022=/v1/{parent=projects"
+ + "/*/instances/*/databases/*}/databaseRole"
+ + "s\032x\312A\026spanner.googleapis.com\322A\\https://w"
+ + "ww.googleapis.com/auth/cloud-platform,ht"
+ + "tps://www.googleapis.com/auth/spanner.ad"
+ + "minB\330\002\n$com.google.spanner.admin.databas"
+ + "e.v1B\031SpannerDatabaseAdminProtoP\001ZFcloud"
+ + ".google.com/go/spanner/admin/database/ap"
+ + "iv1/databasepb;databasepb\252\002&Google.Cloud"
+ + ".Spanner.Admin.Database.V1\312\002&Google\\Clou"
+ + "d\\Spanner\\Admin\\Database\\V1\352\002+Google::Cl"
+ + "oud::Spanner::Admin::Database::V1\352AJ\n\037sp"
+ + "anner.googleapis.com/Instance\022\'projects/"
+ + "{project}/instances/{instance}b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -496,16 +504,24 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new java.lang.String[] {
"Database", "Statements", "OperationId",
});
- internal_static_google_spanner_admin_database_v1_UpdateDatabaseDdlMetadata_descriptor =
+ internal_static_google_spanner_admin_database_v1_DdlStatementActionInfo_descriptor =
getDescriptor().getMessageTypes().get(10);
+ internal_static_google_spanner_admin_database_v1_DdlStatementActionInfo_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_spanner_admin_database_v1_DdlStatementActionInfo_descriptor,
+ new java.lang.String[] {
+ "Action", "EntityType", "EntityNames",
+ });
+ internal_static_google_spanner_admin_database_v1_UpdateDatabaseDdlMetadata_descriptor =
+ getDescriptor().getMessageTypes().get(11);
internal_static_google_spanner_admin_database_v1_UpdateDatabaseDdlMetadata_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_UpdateDatabaseDdlMetadata_descriptor,
new java.lang.String[] {
- "Database", "Statements", "CommitTimestamps", "Throttled", "Progress",
+ "Database", "Statements", "CommitTimestamps", "Throttled", "Progress", "Actions",
});
internal_static_google_spanner_admin_database_v1_DropDatabaseRequest_descriptor =
- getDescriptor().getMessageTypes().get(11);
+ getDescriptor().getMessageTypes().get(12);
internal_static_google_spanner_admin_database_v1_DropDatabaseRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_DropDatabaseRequest_descriptor,
@@ -513,7 +529,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Database",
});
internal_static_google_spanner_admin_database_v1_GetDatabaseDdlRequest_descriptor =
- getDescriptor().getMessageTypes().get(12);
+ getDescriptor().getMessageTypes().get(13);
internal_static_google_spanner_admin_database_v1_GetDatabaseDdlRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_GetDatabaseDdlRequest_descriptor,
@@ -521,7 +537,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Database",
});
internal_static_google_spanner_admin_database_v1_GetDatabaseDdlResponse_descriptor =
- getDescriptor().getMessageTypes().get(13);
+ getDescriptor().getMessageTypes().get(14);
internal_static_google_spanner_admin_database_v1_GetDatabaseDdlResponse_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_GetDatabaseDdlResponse_descriptor,
@@ -529,7 +545,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Statements",
});
internal_static_google_spanner_admin_database_v1_ListDatabaseOperationsRequest_descriptor =
- getDescriptor().getMessageTypes().get(14);
+ getDescriptor().getMessageTypes().get(15);
internal_static_google_spanner_admin_database_v1_ListDatabaseOperationsRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_ListDatabaseOperationsRequest_descriptor,
@@ -537,7 +553,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Parent", "Filter", "PageSize", "PageToken",
});
internal_static_google_spanner_admin_database_v1_ListDatabaseOperationsResponse_descriptor =
- getDescriptor().getMessageTypes().get(15);
+ getDescriptor().getMessageTypes().get(16);
internal_static_google_spanner_admin_database_v1_ListDatabaseOperationsResponse_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_ListDatabaseOperationsResponse_descriptor,
@@ -545,7 +561,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Operations", "NextPageToken",
});
internal_static_google_spanner_admin_database_v1_RestoreDatabaseRequest_descriptor =
- getDescriptor().getMessageTypes().get(16);
+ getDescriptor().getMessageTypes().get(17);
internal_static_google_spanner_admin_database_v1_RestoreDatabaseRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_RestoreDatabaseRequest_descriptor,
@@ -553,7 +569,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Parent", "DatabaseId", "Backup", "EncryptionConfig", "Source",
});
internal_static_google_spanner_admin_database_v1_RestoreDatabaseEncryptionConfig_descriptor =
- getDescriptor().getMessageTypes().get(17);
+ getDescriptor().getMessageTypes().get(18);
internal_static_google_spanner_admin_database_v1_RestoreDatabaseEncryptionConfig_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_RestoreDatabaseEncryptionConfig_descriptor,
@@ -561,7 +577,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"EncryptionType", "KmsKeyName",
});
internal_static_google_spanner_admin_database_v1_RestoreDatabaseMetadata_descriptor =
- getDescriptor().getMessageTypes().get(18);
+ getDescriptor().getMessageTypes().get(19);
internal_static_google_spanner_admin_database_v1_RestoreDatabaseMetadata_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_RestoreDatabaseMetadata_descriptor,
@@ -575,7 +591,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"SourceInfo",
});
internal_static_google_spanner_admin_database_v1_OptimizeRestoredDatabaseMetadata_descriptor =
- getDescriptor().getMessageTypes().get(19);
+ getDescriptor().getMessageTypes().get(20);
internal_static_google_spanner_admin_database_v1_OptimizeRestoredDatabaseMetadata_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_OptimizeRestoredDatabaseMetadata_descriptor,
@@ -583,7 +599,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Name", "Progress",
});
internal_static_google_spanner_admin_database_v1_DatabaseRole_descriptor =
- getDescriptor().getMessageTypes().get(20);
+ getDescriptor().getMessageTypes().get(21);
internal_static_google_spanner_admin_database_v1_DatabaseRole_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_DatabaseRole_descriptor,
@@ -591,7 +607,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Name",
});
internal_static_google_spanner_admin_database_v1_ListDatabaseRolesRequest_descriptor =
- getDescriptor().getMessageTypes().get(21);
+ getDescriptor().getMessageTypes().get(22);
internal_static_google_spanner_admin_database_v1_ListDatabaseRolesRequest_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_ListDatabaseRolesRequest_descriptor,
@@ -599,7 +615,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"Parent", "PageSize", "PageToken",
});
internal_static_google_spanner_admin_database_v1_ListDatabaseRolesResponse_descriptor =
- getDescriptor().getMessageTypes().get(22);
+ getDescriptor().getMessageTypes().get(23);
internal_static_google_spanner_admin_database_v1_ListDatabaseRolesResponse_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_admin_database_v1_ListDatabaseRolesResponse_descriptor,
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateBackupRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateBackupRequest.java
index ccd25df5763..9da77849b35 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateBackupRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateBackupRequest.java
@@ -45,11 +45,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new UpdateBackupRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.BackupProto
.internal_static_google_spanner_admin_database_v1_UpdateBackupRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlMetadata.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlMetadata.java
index d4625807d12..0e9f3b0a5d3 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlMetadata.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlMetadata.java
@@ -40,9 +40,10 @@ private UpdateDatabaseDdlMetadata(com.google.protobuf.GeneratedMessageV3.Builder
private UpdateDatabaseDdlMetadata() {
database_ = "";
- statements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ statements_ = com.google.protobuf.LazyStringArrayList.emptyList();
commitTimestamps_ = java.util.Collections.emptyList();
progress_ = java.util.Collections.emptyList();
+ actions_ = java.util.Collections.emptyList();
}
@java.lang.Override
@@ -51,11 +52,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new UpdateDatabaseDdlMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_UpdateDatabaseDdlMetadata_descriptor;
@@ -125,7 +121,8 @@ public com.google.protobuf.ByteString getDatabaseBytes() {
public static final int STATEMENTS_FIELD_NUMBER = 2;
@SuppressWarnings("serial")
- private com.google.protobuf.LazyStringList statements_;
+ private com.google.protobuf.LazyStringArrayList statements_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
@@ -276,7 +273,7 @@ public com.google.protobuf.TimestampOrBuilder getCommitTimestampsOrBuilder(int i
*
*
*
- * Output only. When true, indicates that the operation is throttled e.g
+ * Output only. When true, indicates that the operation is throttled e.g.
* due to resource constraints. When resources become available the operation
* will resume and this field will be false again.
*
@@ -299,13 +296,12 @@ public boolean getThrottled() {
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -319,13 +315,12 @@ public java.util.List ge
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -340,13 +335,12 @@ public java.util.List ge
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -360,13 +354,12 @@ public int getProgressCount() {
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -380,13 +373,12 @@ public com.google.spanner.admin.database.v1.OperationProgress getProgress(int in
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -397,6 +389,85 @@ public com.google.spanner.admin.database.v1.OperationProgressOrBuilder getProgre
return progress_.get(index);
}
+ public static final int ACTIONS_FIELD_NUMBER = 6;
+
+ @SuppressWarnings("serial")
+ private java.util.List actions_;
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ @java.lang.Override
+ public java.util.List
+ getActionsList() {
+ return actions_;
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ @java.lang.Override
+ public java.util.List<
+ ? extends com.google.spanner.admin.database.v1.DdlStatementActionInfoOrBuilder>
+ getActionsOrBuilderList() {
+ return actions_;
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ @java.lang.Override
+ public int getActionsCount() {
+ return actions_.size();
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DdlStatementActionInfo getActions(int index) {
+ return actions_.get(index);
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DdlStatementActionInfoOrBuilder getActionsOrBuilder(
+ int index) {
+ return actions_.get(index);
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -426,6 +497,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
for (int i = 0; i < progress_.size(); i++) {
output.writeMessage(5, progress_.get(i));
}
+ for (int i = 0; i < actions_.size(); i++) {
+ output.writeMessage(6, actions_.get(i));
+ }
getUnknownFields().writeTo(output);
}
@@ -455,6 +529,9 @@ public int getSerializedSize() {
for (int i = 0; i < progress_.size(); i++) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, progress_.get(i));
}
+ for (int i = 0; i < actions_.size(); i++) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, actions_.get(i));
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -476,6 +553,7 @@ public boolean equals(final java.lang.Object obj) {
if (!getCommitTimestampsList().equals(other.getCommitTimestampsList())) return false;
if (getThrottled() != other.getThrottled()) return false;
if (!getProgressList().equals(other.getProgressList())) return false;
+ if (!getActionsList().equals(other.getActionsList())) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -503,6 +581,10 @@ public int hashCode() {
hash = (37 * hash) + PROGRESS_FIELD_NUMBER;
hash = (53 * hash) + getProgressList().hashCode();
}
+ if (getActionsCount() > 0) {
+ hash = (37 * hash) + ACTIONS_FIELD_NUMBER;
+ hash = (53 * hash) + getActionsList().hashCode();
+ }
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -645,8 +727,7 @@ public Builder clear() {
super.clear();
bitField0_ = 0;
database_ = "";
- statements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
- bitField0_ = (bitField0_ & ~0x00000002);
+ statements_ = com.google.protobuf.LazyStringArrayList.emptyList();
if (commitTimestampsBuilder_ == null) {
commitTimestamps_ = java.util.Collections.emptyList();
} else {
@@ -662,6 +743,13 @@ public Builder clear() {
progressBuilder_.clear();
}
bitField0_ = (bitField0_ & ~0x00000010);
+ if (actionsBuilder_ == null) {
+ actions_ = java.util.Collections.emptyList();
+ } else {
+ actions_ = null;
+ actionsBuilder_.clear();
+ }
+ bitField0_ = (bitField0_ & ~0x00000020);
return this;
}
@@ -700,11 +788,6 @@ public com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata buildParti
private void buildPartialRepeatedFields(
com.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata result) {
- if (((bitField0_ & 0x00000002) != 0)) {
- statements_ = statements_.getUnmodifiableView();
- bitField0_ = (bitField0_ & ~0x00000002);
- }
- result.statements_ = statements_;
if (commitTimestampsBuilder_ == null) {
if (((bitField0_ & 0x00000004) != 0)) {
commitTimestamps_ = java.util.Collections.unmodifiableList(commitTimestamps_);
@@ -723,6 +806,15 @@ private void buildPartialRepeatedFields(
} else {
result.progress_ = progressBuilder_.build();
}
+ if (actionsBuilder_ == null) {
+ if (((bitField0_ & 0x00000020) != 0)) {
+ actions_ = java.util.Collections.unmodifiableList(actions_);
+ bitField0_ = (bitField0_ & ~0x00000020);
+ }
+ result.actions_ = actions_;
+ } else {
+ result.actions_ = actionsBuilder_.build();
+ }
}
private void buildPartial0(
@@ -731,6 +823,10 @@ private void buildPartial0(
if (((from_bitField0_ & 0x00000001) != 0)) {
result.database_ = database_;
}
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ statements_.makeImmutable();
+ result.statements_ = statements_;
+ }
if (((from_bitField0_ & 0x00000008) != 0)) {
result.throttled_ = throttled_;
}
@@ -791,7 +887,7 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.UpdateDatabaseDdlM
if (!other.statements_.isEmpty()) {
if (statements_.isEmpty()) {
statements_ = other.statements_;
- bitField0_ = (bitField0_ & ~0x00000002);
+ bitField0_ |= 0x00000002;
} else {
ensureStatementsIsMutable();
statements_.addAll(other.statements_);
@@ -855,6 +951,33 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.UpdateDatabaseDdlM
}
}
}
+ if (actionsBuilder_ == null) {
+ if (!other.actions_.isEmpty()) {
+ if (actions_.isEmpty()) {
+ actions_ = other.actions_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ } else {
+ ensureActionsIsMutable();
+ actions_.addAll(other.actions_);
+ }
+ onChanged();
+ }
+ } else {
+ if (!other.actions_.isEmpty()) {
+ if (actionsBuilder_.isEmpty()) {
+ actionsBuilder_.dispose();
+ actionsBuilder_ = null;
+ actions_ = other.actions_;
+ bitField0_ = (bitField0_ & ~0x00000020);
+ actionsBuilder_ =
+ com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
+ ? getActionsFieldBuilder()
+ : null;
+ } else {
+ actionsBuilder_.addAllMessages(other.actions_);
+ }
+ }
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -926,6 +1049,20 @@ public Builder mergeFrom(
}
break;
} // case 42
+ case 50:
+ {
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo m =
+ input.readMessage(
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.parser(),
+ extensionRegistry);
+ if (actionsBuilder_ == null) {
+ ensureActionsIsMutable();
+ actions_.add(m);
+ } else {
+ actionsBuilder_.addMessage(m);
+ }
+ break;
+ } // case 50
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -1051,14 +1188,14 @@ public Builder setDatabaseBytes(com.google.protobuf.ByteString value) {
return this;
}
- private com.google.protobuf.LazyStringList statements_ =
- com.google.protobuf.LazyStringArrayList.EMPTY;
+ private com.google.protobuf.LazyStringArrayList statements_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureStatementsIsMutable() {
- if (!((bitField0_ & 0x00000002) != 0)) {
+ if (!statements_.isModifiable()) {
statements_ = new com.google.protobuf.LazyStringArrayList(statements_);
- bitField0_ |= 0x00000002;
}
+ bitField0_ |= 0x00000002;
}
/**
*
@@ -1073,7 +1210,8 @@ private void ensureStatementsIsMutable() {
* @return A list containing the statements.
*/
public com.google.protobuf.ProtocolStringList getStatementsList() {
- return statements_.getUnmodifiableView();
+ statements_.makeImmutable();
+ return statements_;
}
/**
*
@@ -1142,6 +1280,7 @@ public Builder setStatements(int index, java.lang.String value) {
}
ensureStatementsIsMutable();
statements_.set(index, value);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -1164,6 +1303,7 @@ public Builder addStatements(java.lang.String value) {
}
ensureStatementsIsMutable();
statements_.add(value);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -1183,6 +1323,7 @@ public Builder addStatements(java.lang.String value) {
public Builder addAllStatements(java.lang.Iterable values) {
ensureStatementsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, statements_);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -1199,8 +1340,9 @@ public Builder addAllStatements(java.lang.Iterable values) {
* @return This builder for chaining.
*/
public Builder clearStatements() {
- statements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ statements_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000002);
+ ;
onChanged();
return this;
}
@@ -1224,6 +1366,7 @@ public Builder addStatementsBytes(com.google.protobuf.ByteString value) {
checkByteStringIsUtf8(value);
ensureStatementsIsMutable();
statements_.add(value);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -1621,7 +1764,7 @@ public java.util.List getCommitTimestamps
*
*
*
- * Output only. When true, indicates that the operation is throttled e.g
+ * Output only. When true, indicates that the operation is throttled e.g.
* due to resource constraints. When resources become available the operation
* will resume and this field will be false again.
*
@@ -1638,7 +1781,7 @@ public boolean getThrottled() {
*
*
*
- * Output only. When true, indicates that the operation is throttled e.g
+ * Output only. When true, indicates that the operation is throttled e.g.
* due to resource constraints. When resources become available the operation
* will resume and this field will be false again.
*
@@ -1659,7 +1802,7 @@ public Builder setThrottled(boolean value) {
*
*
*
- * Output only. When true, indicates that the operation is throttled e.g
+ * Output only. When true, indicates that the operation is throttled e.g.
* due to resource constraints. When resources become available the operation
* will resume and this field will be false again.
*
@@ -1698,13 +1841,12 @@ private void ensureProgressIsMutable() {
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -1722,13 +1864,12 @@ private void ensureProgressIsMutable() {
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -1745,13 +1886,12 @@ public int getProgressCount() {
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -1768,13 +1908,12 @@ public com.google.spanner.admin.database.v1.OperationProgress getProgress(int in
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -1798,13 +1937,12 @@ public Builder setProgress(
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -1825,13 +1963,12 @@ public Builder setProgress(
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -1854,13 +1991,12 @@ public Builder addProgress(com.google.spanner.admin.database.v1.OperationProgres
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -1884,13 +2020,12 @@ public Builder addProgress(
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -1911,13 +2046,12 @@ public Builder addProgress(
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -1938,13 +2072,12 @@ public Builder addProgress(
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -1966,13 +2099,12 @@ public Builder addAllProgress(
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -1992,13 +2124,12 @@ public Builder clearProgress() {
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -2018,13 +2149,12 @@ public Builder removeProgress(int index) {
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -2038,13 +2168,12 @@ public com.google.spanner.admin.database.v1.OperationProgress.Builder getProgres
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -2062,13 +2191,12 @@ public com.google.spanner.admin.database.v1.OperationProgressOrBuilder getProgre
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -2086,13 +2214,12 @@ public com.google.spanner.admin.database.v1.OperationProgressOrBuilder getProgre
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -2106,13 +2233,12 @@ public com.google.spanner.admin.database.v1.OperationProgress.Builder addProgres
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -2128,13 +2254,12 @@ public com.google.spanner.admin.database.v1.OperationProgress.Builder addProgres
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -2161,6 +2286,389 @@ public com.google.spanner.admin.database.v1.OperationProgress.Builder addProgres
return progressBuilder_;
}
+ private java.util.List actions_ =
+ java.util.Collections.emptyList();
+
+ private void ensureActionsIsMutable() {
+ if (!((bitField0_ & 0x00000020) != 0)) {
+ actions_ =
+ new java.util.ArrayList(
+ actions_);
+ bitField0_ |= 0x00000020;
+ }
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo,
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.Builder,
+ com.google.spanner.admin.database.v1.DdlStatementActionInfoOrBuilder>
+ actionsBuilder_;
+
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public java.util.List
+ getActionsList() {
+ if (actionsBuilder_ == null) {
+ return java.util.Collections.unmodifiableList(actions_);
+ } else {
+ return actionsBuilder_.getMessageList();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public int getActionsCount() {
+ if (actionsBuilder_ == null) {
+ return actions_.size();
+ } else {
+ return actionsBuilder_.getCount();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public com.google.spanner.admin.database.v1.DdlStatementActionInfo getActions(int index) {
+ if (actionsBuilder_ == null) {
+ return actions_.get(index);
+ } else {
+ return actionsBuilder_.getMessage(index);
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public Builder setActions(
+ int index, com.google.spanner.admin.database.v1.DdlStatementActionInfo value) {
+ if (actionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureActionsIsMutable();
+ actions_.set(index, value);
+ onChanged();
+ } else {
+ actionsBuilder_.setMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public Builder setActions(
+ int index,
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.Builder builderForValue) {
+ if (actionsBuilder_ == null) {
+ ensureActionsIsMutable();
+ actions_.set(index, builderForValue.build());
+ onChanged();
+ } else {
+ actionsBuilder_.setMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public Builder addActions(com.google.spanner.admin.database.v1.DdlStatementActionInfo value) {
+ if (actionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureActionsIsMutable();
+ actions_.add(value);
+ onChanged();
+ } else {
+ actionsBuilder_.addMessage(value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public Builder addActions(
+ int index, com.google.spanner.admin.database.v1.DdlStatementActionInfo value) {
+ if (actionsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ ensureActionsIsMutable();
+ actions_.add(index, value);
+ onChanged();
+ } else {
+ actionsBuilder_.addMessage(index, value);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public Builder addActions(
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.Builder builderForValue) {
+ if (actionsBuilder_ == null) {
+ ensureActionsIsMutable();
+ actions_.add(builderForValue.build());
+ onChanged();
+ } else {
+ actionsBuilder_.addMessage(builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public Builder addActions(
+ int index,
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.Builder builderForValue) {
+ if (actionsBuilder_ == null) {
+ ensureActionsIsMutable();
+ actions_.add(index, builderForValue.build());
+ onChanged();
+ } else {
+ actionsBuilder_.addMessage(index, builderForValue.build());
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public Builder addAllActions(
+ java.lang.Iterable extends com.google.spanner.admin.database.v1.DdlStatementActionInfo>
+ values) {
+ if (actionsBuilder_ == null) {
+ ensureActionsIsMutable();
+ com.google.protobuf.AbstractMessageLite.Builder.addAll(values, actions_);
+ onChanged();
+ } else {
+ actionsBuilder_.addAllMessages(values);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public Builder clearActions() {
+ if (actionsBuilder_ == null) {
+ actions_ = java.util.Collections.emptyList();
+ bitField0_ = (bitField0_ & ~0x00000020);
+ onChanged();
+ } else {
+ actionsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public Builder removeActions(int index) {
+ if (actionsBuilder_ == null) {
+ ensureActionsIsMutable();
+ actions_.remove(index);
+ onChanged();
+ } else {
+ actionsBuilder_.remove(index);
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public com.google.spanner.admin.database.v1.DdlStatementActionInfo.Builder getActionsBuilder(
+ int index) {
+ return getActionsFieldBuilder().getBuilder(index);
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public com.google.spanner.admin.database.v1.DdlStatementActionInfoOrBuilder getActionsOrBuilder(
+ int index) {
+ if (actionsBuilder_ == null) {
+ return actions_.get(index);
+ } else {
+ return actionsBuilder_.getMessageOrBuilder(index);
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public java.util.List<
+ ? extends com.google.spanner.admin.database.v1.DdlStatementActionInfoOrBuilder>
+ getActionsOrBuilderList() {
+ if (actionsBuilder_ != null) {
+ return actionsBuilder_.getMessageOrBuilderList();
+ } else {
+ return java.util.Collections.unmodifiableList(actions_);
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public com.google.spanner.admin.database.v1.DdlStatementActionInfo.Builder addActionsBuilder() {
+ return getActionsFieldBuilder()
+ .addBuilder(
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public com.google.spanner.admin.database.v1.DdlStatementActionInfo.Builder addActionsBuilder(
+ int index) {
+ return getActionsFieldBuilder()
+ .addBuilder(
+ index,
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.getDefaultInstance());
+ }
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ public java.util.List
+ getActionsBuilderList() {
+ return getActionsFieldBuilder().getBuilderList();
+ }
+
+ private com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo,
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.Builder,
+ com.google.spanner.admin.database.v1.DdlStatementActionInfoOrBuilder>
+ getActionsFieldBuilder() {
+ if (actionsBuilder_ == null) {
+ actionsBuilder_ =
+ new com.google.protobuf.RepeatedFieldBuilderV3<
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo,
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo.Builder,
+ com.google.spanner.admin.database.v1.DdlStatementActionInfoOrBuilder>(
+ actions_, ((bitField0_ & 0x00000020) != 0), getParentForChildren(), isClean());
+ actions_ = null;
+ }
+ return actionsBuilder_;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlMetadataOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlMetadataOrBuilder.java
index 0557d7314d1..5b435a6844c 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlMetadataOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlMetadataOrBuilder.java
@@ -169,7 +169,7 @@ public interface UpdateDatabaseDdlMetadataOrBuilder
*
*
*
- * Output only. When true, indicates that the operation is throttled e.g
+ * Output only. When true, indicates that the operation is throttled e.g.
* due to resource constraints. When resources become available the operation
* will resume and this field will be false again.
*
@@ -185,13 +185,12 @@ public interface UpdateDatabaseDdlMetadataOrBuilder
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -202,13 +201,12 @@ public interface UpdateDatabaseDdlMetadataOrBuilder
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -219,13 +217,12 @@ public interface UpdateDatabaseDdlMetadataOrBuilder
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -236,13 +233,12 @@ public interface UpdateDatabaseDdlMetadataOrBuilder
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
@@ -254,16 +250,73 @@ public interface UpdateDatabaseDdlMetadataOrBuilder
*
*
* The progress of the
- * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- * Currently, only index creation statements will have a continuously
- * updating progress.
- * For non-index creation statements, `progress[i]` will have start time
- * and end time populated with commit timestamp of operation,
- * as well as a progress of 100% once the operation has completed.
- * `progress[i]` is the operation progress for `statements[i]`.
+ * [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ * operations. All DDL statements will have continuously updating progress,
+ * and `progress[i]` is the operation progress for `statements[i]`. Also,
+ * `progress[i]` will have start time and end time populated with commit
+ * timestamp of operation, as well as a progress of 100% once the operation
+ * has completed.
*
*
* repeated .google.spanner.admin.database.v1.OperationProgress progress = 5;
*/
com.google.spanner.admin.database.v1.OperationProgressOrBuilder getProgressOrBuilder(int index);
+
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ java.util.List getActionsList();
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ com.google.spanner.admin.database.v1.DdlStatementActionInfo getActions(int index);
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ int getActionsCount();
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ java.util.List extends com.google.spanner.admin.database.v1.DdlStatementActionInfoOrBuilder>
+ getActionsOrBuilderList();
+ /**
+ *
+ *
+ *
+ * The brief action info for the DDL statements.
+ * `actions[i]` is the brief info for `statements[i]`.
+ *
+ *
+ * repeated .google.spanner.admin.database.v1.DdlStatementActionInfo actions = 6;
+ */
+ com.google.spanner.admin.database.v1.DdlStatementActionInfoOrBuilder getActionsOrBuilder(
+ int index);
}
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlRequest.java
index a2c59a7b9b6..aa78a8f7a15 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlRequest.java
@@ -32,6 +32,7 @@
* there is some data-related problem like a `NULL` value in a column to
* which `NOT NULL` would be added). If a statement fails, all
* subsequent statements in the batch are automatically cancelled.
+ *
* Each batch of statements is assigned a name which can be used with
* the [Operations][google.longrunning.Operations] API to monitor
* progress. See the
@@ -53,7 +54,7 @@ private UpdateDatabaseDdlRequest(com.google.protobuf.GeneratedMessageV3.Builder<
private UpdateDatabaseDdlRequest() {
database_ = "";
- statements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ statements_ = com.google.protobuf.LazyStringArrayList.emptyList();
operationId_ = "";
}
@@ -63,11 +64,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new UpdateDatabaseDdlRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_UpdateDatabaseDdlRequest_descriptor;
@@ -141,7 +137,8 @@ public com.google.protobuf.ByteString getDatabaseBytes() {
public static final int STATEMENTS_FIELD_NUMBER = 2;
@SuppressWarnings("serial")
- private com.google.protobuf.LazyStringList statements_;
+ private com.google.protobuf.LazyStringArrayList statements_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
@@ -213,6 +210,7 @@ public com.google.protobuf.ByteString getStatementsBytes(int index) {
* automatically-generated operation ID. Otherwise, `operation_id`
* is used to construct the name of the resulting
* [Operation][google.longrunning.Operation].
+ *
* Specifying an explicit operation ID simplifies determining
* whether the statements were executed in the event that the
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] call is replayed,
@@ -220,6 +218,7 @@ public com.google.protobuf.ByteString getStatementsBytes(int index) {
* `operation_id` fields can be combined to form the
* [name][google.longrunning.Operation.name] of the resulting
* [longrunning.Operation][google.longrunning.Operation]: `<database>/operations/<operation_id>`.
+ *
* `operation_id` should be unique within the database, and must be
* a valid identifier: `[a-z][a-z0-9_]*`. Note that
* automatically-generated operation IDs always begin with an
@@ -252,6 +251,7 @@ public java.lang.String getOperationId() {
* automatically-generated operation ID. Otherwise, `operation_id`
* is used to construct the name of the resulting
* [Operation][google.longrunning.Operation].
+ *
* Specifying an explicit operation ID simplifies determining
* whether the statements were executed in the event that the
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] call is replayed,
@@ -259,6 +259,7 @@ public java.lang.String getOperationId() {
* `operation_id` fields can be combined to form the
* [name][google.longrunning.Operation.name] of the resulting
* [longrunning.Operation][google.longrunning.Operation]: `<database>/operations/<operation_id>`.
+ *
* `operation_id` should be unique within the database, and must be
* a valid identifier: `[a-z][a-z0-9_]*`. Note that
* automatically-generated operation IDs always begin with an
@@ -483,6 +484,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* there is some data-related problem like a `NULL` value in a column to
* which `NOT NULL` would be added). If a statement fails, all
* subsequent statements in the batch are automatically cancelled.
+ *
* Each batch of statements is assigned a name which can be used with
* the [Operations][google.longrunning.Operations] API to monitor
* progress. See the
@@ -523,8 +525,7 @@ public Builder clear() {
super.clear();
bitField0_ = 0;
database_ = "";
- statements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
- bitField0_ = (bitField0_ & ~0x00000002);
+ statements_ = com.google.protobuf.LazyStringArrayList.emptyList();
operationId_ = "";
return this;
}
@@ -554,7 +555,6 @@ public com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest build() {
public com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest buildPartial() {
com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest result =
new com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest(this);
- buildPartialRepeatedFields(result);
if (bitField0_ != 0) {
buildPartial0(result);
}
@@ -562,21 +562,16 @@ public com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest buildPartia
return result;
}
- private void buildPartialRepeatedFields(
- com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest result) {
- if (((bitField0_ & 0x00000002) != 0)) {
- statements_ = statements_.getUnmodifiableView();
- bitField0_ = (bitField0_ & ~0x00000002);
- }
- result.statements_ = statements_;
- }
-
private void buildPartial0(
com.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest result) {
int from_bitField0_ = bitField0_;
if (((from_bitField0_ & 0x00000001) != 0)) {
result.database_ = database_;
}
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ statements_.makeImmutable();
+ result.statements_ = statements_;
+ }
if (((from_bitField0_ & 0x00000004) != 0)) {
result.operationId_ = operationId_;
}
@@ -637,7 +632,7 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.UpdateDatabaseDdlR
if (!other.statements_.isEmpty()) {
if (statements_.isEmpty()) {
statements_ = other.statements_;
- bitField0_ = (bitField0_ & ~0x00000002);
+ bitField0_ |= 0x00000002;
} else {
ensureStatementsIsMutable();
statements_.addAll(other.statements_);
@@ -829,14 +824,14 @@ public Builder setDatabaseBytes(com.google.protobuf.ByteString value) {
return this;
}
- private com.google.protobuf.LazyStringList statements_ =
- com.google.protobuf.LazyStringArrayList.EMPTY;
+ private com.google.protobuf.LazyStringArrayList statements_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureStatementsIsMutable() {
- if (!((bitField0_ & 0x00000002) != 0)) {
+ if (!statements_.isModifiable()) {
statements_ = new com.google.protobuf.LazyStringArrayList(statements_);
- bitField0_ |= 0x00000002;
}
+ bitField0_ |= 0x00000002;
}
/**
*
@@ -850,7 +845,8 @@ private void ensureStatementsIsMutable() {
* @return A list containing the statements.
*/
public com.google.protobuf.ProtocolStringList getStatementsList() {
- return statements_.getUnmodifiableView();
+ statements_.makeImmutable();
+ return statements_;
}
/**
*
@@ -915,6 +911,7 @@ public Builder setStatements(int index, java.lang.String value) {
}
ensureStatementsIsMutable();
statements_.set(index, value);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -936,6 +933,7 @@ public Builder addStatements(java.lang.String value) {
}
ensureStatementsIsMutable();
statements_.add(value);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -954,6 +952,7 @@ public Builder addStatements(java.lang.String value) {
public Builder addAllStatements(java.lang.Iterable values) {
ensureStatementsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, statements_);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -969,8 +968,9 @@ public Builder addAllStatements(java.lang.Iterable values) {
* @return This builder for chaining.
*/
public Builder clearStatements() {
- statements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ statements_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000002);
+ ;
onChanged();
return this;
}
@@ -993,6 +993,7 @@ public Builder addStatementsBytes(com.google.protobuf.ByteString value) {
checkByteStringIsUtf8(value);
ensureStatementsIsMutable();
statements_.add(value);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -1006,6 +1007,7 @@ public Builder addStatementsBytes(com.google.protobuf.ByteString value) {
* automatically-generated operation ID. Otherwise, `operation_id`
* is used to construct the name of the resulting
* [Operation][google.longrunning.Operation].
+ *
* Specifying an explicit operation ID simplifies determining
* whether the statements were executed in the event that the
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] call is replayed,
@@ -1013,6 +1015,7 @@ public Builder addStatementsBytes(com.google.protobuf.ByteString value) {
* `operation_id` fields can be combined to form the
* [name][google.longrunning.Operation.name] of the resulting
* [longrunning.Operation][google.longrunning.Operation]: `<database>/operations/<operation_id>`.
+ *
* `operation_id` should be unique within the database, and must be
* a valid identifier: `[a-z][a-z0-9_]*`. Note that
* automatically-generated operation IDs always begin with an
@@ -1044,6 +1047,7 @@ public java.lang.String getOperationId() {
* automatically-generated operation ID. Otherwise, `operation_id`
* is used to construct the name of the resulting
* [Operation][google.longrunning.Operation].
+ *
* Specifying an explicit operation ID simplifies determining
* whether the statements were executed in the event that the
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] call is replayed,
@@ -1051,6 +1055,7 @@ public java.lang.String getOperationId() {
* `operation_id` fields can be combined to form the
* [name][google.longrunning.Operation.name] of the resulting
* [longrunning.Operation][google.longrunning.Operation]: `<database>/operations/<operation_id>`.
+ *
* `operation_id` should be unique within the database, and must be
* a valid identifier: `[a-z][a-z0-9_]*`. Note that
* automatically-generated operation IDs always begin with an
@@ -1082,6 +1087,7 @@ public com.google.protobuf.ByteString getOperationIdBytes() {
* automatically-generated operation ID. Otherwise, `operation_id`
* is used to construct the name of the resulting
* [Operation][google.longrunning.Operation].
+ *
* Specifying an explicit operation ID simplifies determining
* whether the statements were executed in the event that the
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] call is replayed,
@@ -1089,6 +1095,7 @@ public com.google.protobuf.ByteString getOperationIdBytes() {
* `operation_id` fields can be combined to form the
* [name][google.longrunning.Operation.name] of the resulting
* [longrunning.Operation][google.longrunning.Operation]: `<database>/operations/<operation_id>`.
+ *
* `operation_id` should be unique within the database, and must be
* a valid identifier: `[a-z][a-z0-9_]*`. Note that
* automatically-generated operation IDs always begin with an
@@ -1119,6 +1126,7 @@ public Builder setOperationId(java.lang.String value) {
* automatically-generated operation ID. Otherwise, `operation_id`
* is used to construct the name of the resulting
* [Operation][google.longrunning.Operation].
+ *
* Specifying an explicit operation ID simplifies determining
* whether the statements were executed in the event that the
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] call is replayed,
@@ -1126,6 +1134,7 @@ public Builder setOperationId(java.lang.String value) {
* `operation_id` fields can be combined to form the
* [name][google.longrunning.Operation.name] of the resulting
* [longrunning.Operation][google.longrunning.Operation]: `<database>/operations/<operation_id>`.
+ *
* `operation_id` should be unique within the database, and must be
* a valid identifier: `[a-z][a-z0-9_]*`. Note that
* automatically-generated operation IDs always begin with an
@@ -1152,6 +1161,7 @@ public Builder clearOperationId() {
* automatically-generated operation ID. Otherwise, `operation_id`
* is used to construct the name of the resulting
* [Operation][google.longrunning.Operation].
+ *
* Specifying an explicit operation ID simplifies determining
* whether the statements were executed in the event that the
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] call is replayed,
@@ -1159,6 +1169,7 @@ public Builder clearOperationId() {
* `operation_id` fields can be combined to form the
* [name][google.longrunning.Operation.name] of the resulting
* [longrunning.Operation][google.longrunning.Operation]: `<database>/operations/<operation_id>`.
+ *
* `operation_id` should be unique within the database, and must be
* a valid identifier: `[a-z][a-z0-9_]*`. Note that
* automatically-generated operation IDs always begin with an
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlRequestOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlRequestOrBuilder.java
index cad7c3a28a2..0933a94e09e 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseDdlRequestOrBuilder.java
@@ -111,6 +111,7 @@ public interface UpdateDatabaseDdlRequestOrBuilder
* automatically-generated operation ID. Otherwise, `operation_id`
* is used to construct the name of the resulting
* [Operation][google.longrunning.Operation].
+ *
* Specifying an explicit operation ID simplifies determining
* whether the statements were executed in the event that the
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] call is replayed,
@@ -118,6 +119,7 @@ public interface UpdateDatabaseDdlRequestOrBuilder
* `operation_id` fields can be combined to form the
* [name][google.longrunning.Operation.name] of the resulting
* [longrunning.Operation][google.longrunning.Operation]: `<database>/operations/<operation_id>`.
+ *
* `operation_id` should be unique within the database, and must be
* a valid identifier: `[a-z][a-z0-9_]*`. Note that
* automatically-generated operation IDs always begin with an
@@ -139,6 +141,7 @@ public interface UpdateDatabaseDdlRequestOrBuilder
* automatically-generated operation ID. Otherwise, `operation_id`
* is used to construct the name of the resulting
* [Operation][google.longrunning.Operation].
+ *
* Specifying an explicit operation ID simplifies determining
* whether the statements were executed in the event that the
* [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] call is replayed,
@@ -146,6 +149,7 @@ public interface UpdateDatabaseDdlRequestOrBuilder
* `operation_id` fields can be combined to form the
* [name][google.longrunning.Operation.name] of the resulting
* [longrunning.Operation][google.longrunning.Operation]: `<database>/operations/<operation_id>`.
+ *
* `operation_id` should be unique within the database, and must be
* a valid identifier: `[a-z][a-z0-9_]*`. Note that
* automatically-generated operation IDs always begin with an
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseMetadata.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseMetadata.java
index f37b1ad1ef6..e42f634cdf0 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseMetadata.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseMetadata.java
@@ -46,11 +46,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new UpdateDatabaseMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_UpdateDatabaseMetadata_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseRequest.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseRequest.java
index c496653a2fd..bb83a712eec 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseRequest.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/UpdateDatabaseRequest.java
@@ -46,11 +46,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new UpdateDatabaseRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.database.v1.SpannerDatabaseAdminProto
.internal_static_google_spanner_admin_database_v1_UpdateDatabaseRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-database-v1/src/main/proto/google/spanner/admin/database/v1/spanner_database_admin.proto b/proto-google-cloud-spanner-admin-database-v1/src/main/proto/google/spanner/admin/database/v1/spanner_database_admin.proto
index f45bb932fda..6cf0e5a4b94 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/proto/google/spanner/admin/database/v1/spanner_database_admin.proto
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/proto/google/spanner/admin/database/v1/spanner_database_admin.proto
@@ -676,6 +676,27 @@ message UpdateDatabaseDdlRequest {
string operation_id = 3;
}
+// Action information extracted from a DDL statement. This proto is used to
+// display the brief info of the DDL statement for the operation
+// [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl].
+message DdlStatementActionInfo {
+ // The action for the DDL statement, e.g. CREATE, ALTER, DROP, GRANT, etc.
+ // This field is a non-empty string.
+ string action = 1;
+
+ // The entity type for the DDL statement, e.g. TABLE, INDEX, VIEW, etc.
+ // This field can be empty string for some DDL statement,
+ // e.g. for statement "ANALYZE", `entity_type` = "".
+ string entity_type = 2;
+
+ // The entity name(s) being operated on the DDL statement.
+ // E.g.
+ // 1. For statement "CREATE TABLE t1(...)", `entity_names` = ["t1"].
+ // 2. For statement "GRANT ROLE r1, r2 ...", `entity_names` = ["r1", "r2"].
+ // 3. For statement "ANALYZE", `entity_names` = [].
+ repeated string entity_names = 3;
+}
+
// Metadata type for the operation returned by
// [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl].
message UpdateDatabaseDdlMetadata {
@@ -693,20 +714,23 @@ message UpdateDatabaseDdlMetadata {
// timestamp for the statement `statements[i]`.
repeated google.protobuf.Timestamp commit_timestamps = 3;
- // Output only. When true, indicates that the operation is throttled e.g
+ // Output only. When true, indicates that the operation is throttled e.g.
// due to resource constraints. When resources become available the operation
// will resume and this field will be false again.
bool throttled = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
// The progress of the
- // [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl] operations.
- // Currently, only index creation statements will have a continuously
- // updating progress.
- // For non-index creation statements, `progress[i]` will have start time
- // and end time populated with commit timestamp of operation,
- // as well as a progress of 100% once the operation has completed.
- // `progress[i]` is the operation progress for `statements[i]`.
+ // [UpdateDatabaseDdl][google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl]
+ // operations. All DDL statements will have continuously updating progress,
+ // and `progress[i]` is the operation progress for `statements[i]`. Also,
+ // `progress[i]` will have start time and end time populated with commit
+ // timestamp of operation, as well as a progress of 100% once the operation
+ // has completed.
repeated OperationProgress progress = 5;
+
+ // The brief action info for the DDL statements.
+ // `actions[i]` is the brief info for `statements[i]`.
+ repeated DdlStatementActionInfo actions = 6;
}
// The request for [DropDatabase][google.spanner.admin.database.v1.DatabaseAdmin.DropDatabase].
diff --git a/proto-google-cloud-spanner-admin-instance-v1/pom.xml b/proto-google-cloud-spanner-admin-instance-v1/pom.xml
index 7b1d1974d05..a5efcde5353 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/pom.xml
+++ b/proto-google-cloud-spanner-admin-instance-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-spanner-admin-instance-v1
- 6.43.2
+ 6.44.0
proto-google-cloud-spanner-admin-instance-v1
PROTO library for proto-google-cloud-spanner-admin-instance-v1
com.google.cloud
google-cloud-spanner-parent
- 6.43.2
+ 6.44.0
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadata.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadata.java
index ddb0edf39fc..7957451eb76 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadata.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigMetadata.java
@@ -46,11 +46,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CreateInstanceConfigMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigMetadata_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequest.java
index 0d9bd2336fb..f283c425854 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequest.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceConfigRequest.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CreateInstanceConfigRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_CreateInstanceConfigRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadata.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadata.java
index 5dbce1d85d0..72dad2442f8 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadata.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceMetadata.java
@@ -46,11 +46,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CreateInstanceMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_CreateInstanceMetadata_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceRequest.java
index 5bc14b342f4..1e3de9da213 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceRequest.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/CreateInstanceRequest.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CreateInstanceRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_CreateInstanceRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequest.java
index 97f3875a680..cd5397978a0 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequest.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceConfigRequest.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new DeleteInstanceConfigRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_DeleteInstanceConfigRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceRequest.java
index cbfa1e94aef..362cafcb798 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceRequest.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/DeleteInstanceRequest.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new DeleteInstanceRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_DeleteInstanceRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceConfigRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceConfigRequest.java
index 80d5c4007ad..11b2d456206 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceConfigRequest.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceConfigRequest.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new GetInstanceConfigRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_GetInstanceConfigRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequest.java
index 5e5f96640b0..fb836dd7a2f 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequest.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/GetInstanceRequest.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new GetInstanceRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_GetInstanceRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/Instance.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/Instance.java
index b2adc5f5222..3f81d952f62 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/Instance.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/Instance.java
@@ -42,7 +42,7 @@ private Instance() {
config_ = "";
displayName_ = "";
state_ = 0;
- endpointUris_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ endpointUris_ = com.google.protobuf.LazyStringArrayList.emptyList();
}
@java.lang.Override
@@ -51,11 +51,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new Instance();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_Instance_descriptor;
@@ -426,6 +421,7 @@ public com.google.protobuf.ByteString getDisplayNameBytes() {
* node_count or processing_units should be present in the message. This
* may be zero in API responses for instances that are not yet in state
* `READY`.
+ *
* See [the
* documentation](https://cloud.google.com/spanner/docs/compute-capacity)
* for more information about nodes and processing units.
@@ -449,6 +445,7 @@ public int getNodeCount() {
* The number of processing units allocated to this instance. At most one of
* processing_units or node_count should be present in the message. This may
* be zero in API responses for instances that are not yet in state `READY`.
+ *
* See [the
* documentation](https://cloud.google.com/spanner/docs/compute-capacity)
* for more information about nodes and processing units.
@@ -548,12 +545,15 @@ public int getLabelsCount() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -587,12 +587,15 @@ public java.util.Map getLabels() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -617,12 +620,15 @@ public java.util.Map getLabelsMap() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -654,12 +660,15 @@ public java.util.Map getLabelsMap() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -685,7 +694,8 @@ public java.lang.String getLabelsOrThrow(java.lang.String key) {
public static final int ENDPOINT_URIS_FIELD_NUMBER = 8;
@SuppressWarnings("serial")
- private com.google.protobuf.LazyStringList endpointUris_;
+ private com.google.protobuf.LazyStringArrayList endpointUris_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
@@ -1176,8 +1186,7 @@ public Builder clear() {
processingUnits_ = 0;
state_ = 0;
internalGetMutableLabels().clear();
- endpointUris_ = com.google.protobuf.LazyStringArrayList.EMPTY;
- bitField0_ = (bitField0_ & ~0x00000080);
+ endpointUris_ = com.google.protobuf.LazyStringArrayList.emptyList();
createTime_ = null;
if (createTimeBuilder_ != null) {
createTimeBuilder_.dispose();
@@ -1215,7 +1224,6 @@ public com.google.spanner.admin.instance.v1.Instance build() {
public com.google.spanner.admin.instance.v1.Instance buildPartial() {
com.google.spanner.admin.instance.v1.Instance result =
new com.google.spanner.admin.instance.v1.Instance(this);
- buildPartialRepeatedFields(result);
if (bitField0_ != 0) {
buildPartial0(result);
}
@@ -1223,14 +1231,6 @@ public com.google.spanner.admin.instance.v1.Instance buildPartial() {
return result;
}
- private void buildPartialRepeatedFields(com.google.spanner.admin.instance.v1.Instance result) {
- if (((bitField0_ & 0x00000080) != 0)) {
- endpointUris_ = endpointUris_.getUnmodifiableView();
- bitField0_ = (bitField0_ & ~0x00000080);
- }
- result.endpointUris_ = endpointUris_;
- }
-
private void buildPartial0(com.google.spanner.admin.instance.v1.Instance result) {
int from_bitField0_ = bitField0_;
if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -1255,6 +1255,10 @@ private void buildPartial0(com.google.spanner.admin.instance.v1.Instance result)
result.labels_ = internalGetLabels();
result.labels_.makeImmutable();
}
+ if (((from_bitField0_ & 0x00000080) != 0)) {
+ endpointUris_.makeImmutable();
+ result.endpointUris_ = endpointUris_;
+ }
if (((from_bitField0_ & 0x00000100) != 0)) {
result.createTime_ = createTimeBuilder_ == null ? createTime_ : createTimeBuilder_.build();
}
@@ -1337,7 +1341,7 @@ public Builder mergeFrom(com.google.spanner.admin.instance.v1.Instance other) {
if (!other.endpointUris_.isEmpty()) {
if (endpointUris_.isEmpty()) {
endpointUris_ = other.endpointUris_;
- bitField0_ = (bitField0_ & ~0x00000080);
+ bitField0_ |= 0x00000080;
} else {
ensureEndpointUrisIsMutable();
endpointUris_.addAll(other.endpointUris_);
@@ -1834,6 +1838,7 @@ public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) {
* node_count or processing_units should be present in the message. This
* may be zero in API responses for instances that are not yet in state
* `READY`.
+ *
* See [the
* documentation](https://cloud.google.com/spanner/docs/compute-capacity)
* for more information about nodes and processing units.
@@ -1855,6 +1860,7 @@ public int getNodeCount() {
* node_count or processing_units should be present in the message. This
* may be zero in API responses for instances that are not yet in state
* `READY`.
+ *
* See [the
* documentation](https://cloud.google.com/spanner/docs/compute-capacity)
* for more information about nodes and processing units.
@@ -1880,6 +1886,7 @@ public Builder setNodeCount(int value) {
* node_count or processing_units should be present in the message. This
* may be zero in API responses for instances that are not yet in state
* `READY`.
+ *
* See [the
* documentation](https://cloud.google.com/spanner/docs/compute-capacity)
* for more information about nodes and processing units.
@@ -1904,6 +1911,7 @@ public Builder clearNodeCount() {
* The number of processing units allocated to this instance. At most one of
* processing_units or node_count should be present in the message. This may
* be zero in API responses for instances that are not yet in state `READY`.
+ *
* See [the
* documentation](https://cloud.google.com/spanner/docs/compute-capacity)
* for more information about nodes and processing units.
@@ -1924,6 +1932,7 @@ public int getProcessingUnits() {
* The number of processing units allocated to this instance. At most one of
* processing_units or node_count should be present in the message. This may
* be zero in API responses for instances that are not yet in state `READY`.
+ *
* See [the
* documentation](https://cloud.google.com/spanner/docs/compute-capacity)
* for more information about nodes and processing units.
@@ -1948,6 +1957,7 @@ public Builder setProcessingUnits(int value) {
* The number of processing units allocated to this instance. At most one of
* processing_units or node_count should be present in the message. This may
* be zero in API responses for instances that are not yet in state `READY`.
+ *
* See [the
* documentation](https://cloud.google.com/spanner/docs/compute-capacity)
* for more information about nodes and processing units.
@@ -2121,12 +2131,15 @@ public int getLabelsCount() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -2160,12 +2173,15 @@ public java.util.Map getLabels() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -2190,12 +2206,15 @@ public java.util.Map getLabelsMap() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -2227,12 +2246,15 @@ public java.util.Map getLabelsMap() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -2270,12 +2292,15 @@ public Builder clearLabels() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -2309,12 +2334,15 @@ public java.util.Map getMutableLabels() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -2346,12 +2374,15 @@ public Builder putLabels(java.lang.String key, java.lang.String value) {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -2368,14 +2399,14 @@ public Builder putAllLabels(java.util.Map va
return this;
}
- private com.google.protobuf.LazyStringList endpointUris_ =
- com.google.protobuf.LazyStringArrayList.EMPTY;
+ private com.google.protobuf.LazyStringArrayList endpointUris_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureEndpointUrisIsMutable() {
- if (!((bitField0_ & 0x00000080) != 0)) {
+ if (!endpointUris_.isModifiable()) {
endpointUris_ = new com.google.protobuf.LazyStringArrayList(endpointUris_);
- bitField0_ |= 0x00000080;
}
+ bitField0_ |= 0x00000080;
}
/**
*
@@ -2389,7 +2420,8 @@ private void ensureEndpointUrisIsMutable() {
* @return A list containing the endpointUris.
*/
public com.google.protobuf.ProtocolStringList getEndpointUrisList() {
- return endpointUris_.getUnmodifiableView();
+ endpointUris_.makeImmutable();
+ return endpointUris_;
}
/**
*
@@ -2454,6 +2486,7 @@ public Builder setEndpointUris(int index, java.lang.String value) {
}
ensureEndpointUrisIsMutable();
endpointUris_.set(index, value);
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -2475,6 +2508,7 @@ public Builder addEndpointUris(java.lang.String value) {
}
ensureEndpointUrisIsMutable();
endpointUris_.add(value);
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -2493,6 +2527,7 @@ public Builder addEndpointUris(java.lang.String value) {
public Builder addAllEndpointUris(java.lang.Iterable values) {
ensureEndpointUrisIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, endpointUris_);
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
@@ -2508,8 +2543,9 @@ public Builder addAllEndpointUris(java.lang.Iterable values) {
* @return This builder for chaining.
*/
public Builder clearEndpointUris() {
- endpointUris_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ endpointUris_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000080);
+ ;
onChanged();
return this;
}
@@ -2532,6 +2568,7 @@ public Builder addEndpointUrisBytes(com.google.protobuf.ByteString value) {
checkByteStringIsUtf8(value);
ensureEndpointUrisIsMutable();
endpointUris_.add(value);
+ bitField0_ |= 0x00000080;
onChanged();
return this;
}
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfig.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfig.java
index e8b1cd418e3..0351972ca66 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfig.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfig.java
@@ -46,7 +46,7 @@ private InstanceConfig() {
optionalReplicas_ = java.util.Collections.emptyList();
baseConfig_ = "";
etag_ = "";
- leaderOptions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ leaderOptions_ = com.google.protobuf.LazyStringArrayList.emptyList();
state_ = 0;
}
@@ -56,11 +56,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new InstanceConfig();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_InstanceConfig_descriptor;
@@ -813,12 +808,15 @@ public int getLabelsCount() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -852,12 +850,15 @@ public java.util.Map getLabels() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -882,12 +883,15 @@ public java.util.Map getLabelsMap() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -919,12 +923,15 @@ public java.util.Map getLabelsMap() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -1019,7 +1026,8 @@ public com.google.protobuf.ByteString getEtagBytes() {
public static final int LEADER_OPTIONS_FIELD_NUMBER = 4;
@SuppressWarnings("serial")
- private com.google.protobuf.LazyStringList leaderOptions_;
+ private com.google.protobuf.LazyStringArrayList leaderOptions_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
@@ -1497,8 +1505,7 @@ public Builder clear() {
baseConfig_ = "";
internalGetMutableLabels().clear();
etag_ = "";
- leaderOptions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
- bitField0_ = (bitField0_ & ~0x00000100);
+ leaderOptions_ = com.google.protobuf.LazyStringArrayList.emptyList();
reconciling_ = false;
state_ = 0;
return this;
@@ -1556,11 +1563,6 @@ private void buildPartialRepeatedFields(
} else {
result.optionalReplicas_ = optionalReplicasBuilder_.build();
}
- if (((bitField0_ & 0x00000100) != 0)) {
- leaderOptions_ = leaderOptions_.getUnmodifiableView();
- bitField0_ = (bitField0_ & ~0x00000100);
- }
- result.leaderOptions_ = leaderOptions_;
}
private void buildPartial0(com.google.spanner.admin.instance.v1.InstanceConfig result) {
@@ -1584,6 +1586,10 @@ private void buildPartial0(com.google.spanner.admin.instance.v1.InstanceConfig r
if (((from_bitField0_ & 0x00000080) != 0)) {
result.etag_ = etag_;
}
+ if (((from_bitField0_ & 0x00000100) != 0)) {
+ leaderOptions_.makeImmutable();
+ result.leaderOptions_ = leaderOptions_;
+ }
if (((from_bitField0_ & 0x00000200) != 0)) {
result.reconciling_ = reconciling_;
}
@@ -1720,7 +1726,7 @@ public Builder mergeFrom(com.google.spanner.admin.instance.v1.InstanceConfig oth
if (!other.leaderOptions_.isEmpty()) {
if (leaderOptions_.isEmpty()) {
leaderOptions_ = other.leaderOptions_;
- bitField0_ = (bitField0_ & ~0x00000100);
+ bitField0_ |= 0x00000100;
} else {
ensureLeaderOptionsIsMutable();
leaderOptions_.addAll(other.leaderOptions_);
@@ -3137,12 +3143,15 @@ public int getLabelsCount() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -3176,12 +3185,15 @@ public java.util.Map getLabels() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -3206,12 +3218,15 @@ public java.util.Map getLabelsMap() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -3243,12 +3258,15 @@ public java.util.Map getLabelsMap() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -3286,12 +3304,15 @@ public Builder clearLabels() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -3325,12 +3346,15 @@ public java.util.Map getMutableLabels() {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -3362,12 +3386,15 @@ public Builder putLabels(java.lang.String key, java.lang.String value) {
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -3535,14 +3562,14 @@ public Builder setEtagBytes(com.google.protobuf.ByteString value) {
return this;
}
- private com.google.protobuf.LazyStringList leaderOptions_ =
- com.google.protobuf.LazyStringArrayList.EMPTY;
+ private com.google.protobuf.LazyStringArrayList leaderOptions_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureLeaderOptionsIsMutable() {
- if (!((bitField0_ & 0x00000100) != 0)) {
+ if (!leaderOptions_.isModifiable()) {
leaderOptions_ = new com.google.protobuf.LazyStringArrayList(leaderOptions_);
- bitField0_ |= 0x00000100;
}
+ bitField0_ |= 0x00000100;
}
/**
*
@@ -3557,7 +3584,8 @@ private void ensureLeaderOptionsIsMutable() {
* @return A list containing the leaderOptions.
*/
public com.google.protobuf.ProtocolStringList getLeaderOptionsList() {
- return leaderOptions_.getUnmodifiableView();
+ leaderOptions_.makeImmutable();
+ return leaderOptions_;
}
/**
*
@@ -3626,6 +3654,7 @@ public Builder setLeaderOptions(int index, java.lang.String value) {
}
ensureLeaderOptionsIsMutable();
leaderOptions_.set(index, value);
+ bitField0_ |= 0x00000100;
onChanged();
return this;
}
@@ -3648,6 +3677,7 @@ public Builder addLeaderOptions(java.lang.String value) {
}
ensureLeaderOptionsIsMutable();
leaderOptions_.add(value);
+ bitField0_ |= 0x00000100;
onChanged();
return this;
}
@@ -3667,6 +3697,7 @@ public Builder addLeaderOptions(java.lang.String value) {
public Builder addAllLeaderOptions(java.lang.Iterable values) {
ensureLeaderOptionsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, leaderOptions_);
+ bitField0_ |= 0x00000100;
onChanged();
return this;
}
@@ -3683,8 +3714,9 @@ public Builder addAllLeaderOptions(java.lang.Iterable values)
* @return This builder for chaining.
*/
public Builder clearLeaderOptions() {
- leaderOptions_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ leaderOptions_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000100);
+ ;
onChanged();
return this;
}
@@ -3708,6 +3740,7 @@ public Builder addLeaderOptionsBytes(com.google.protobuf.ByteString value) {
checkByteStringIsUtf8(value);
ensureLeaderOptionsIsMutable();
leaderOptions_.add(value);
+ bitField0_ |= 0x00000100;
onChanged();
return this;
}
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigName.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigName.java
index f35e6486198..013ea8d822f 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigName.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2022 Google LLC
+ * Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigOrBuilder.java
index cd54bc42865..acf1f898390 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceConfigOrBuilder.java
@@ -273,12 +273,15 @@ public interface InstanceConfigOrBuilder
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -300,12 +303,15 @@ public interface InstanceConfigOrBuilder
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -330,12 +336,15 @@ public interface InstanceConfigOrBuilder
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -357,12 +366,15 @@ public interface InstanceConfigOrBuilder
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
@@ -388,12 +400,15 @@ java.lang.String getLabelsOrDefault(
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. Therefore, you are advised to use
* an internal label representation, such as JSON, which doesn't rely upon
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceName.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceName.java
index c20c3d693c2..bdf8fc16fc5 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceName.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2022 Google LLC
+ * Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceOrBuilder.java
index 202d5c0bfe2..accad92c855 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/InstanceOrBuilder.java
@@ -124,6 +124,7 @@ public interface InstanceOrBuilder
* node_count or processing_units should be present in the message. This
* may be zero in API responses for instances that are not yet in state
* `READY`.
+ *
* See [the
* documentation](https://cloud.google.com/spanner/docs/compute-capacity)
* for more information about nodes and processing units.
@@ -142,6 +143,7 @@ public interface InstanceOrBuilder
* The number of processing units allocated to this instance. At most one of
* processing_units or node_count should be present in the message. This may
* be zero in API responses for instances that are not yet in state `READY`.
+ *
* See [the
* documentation](https://cloud.google.com/spanner/docs/compute-capacity)
* for more information about nodes and processing units.
@@ -200,12 +202,15 @@ public interface InstanceOrBuilder
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -227,12 +232,15 @@ public interface InstanceOrBuilder
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -257,12 +265,15 @@ public interface InstanceOrBuilder
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -284,12 +295,15 @@ public interface InstanceOrBuilder
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
@@ -315,12 +329,15 @@ java.lang.String getLabelsOrDefault(
* resources. They can be used to control how resource metrics are aggregated.
* And they can be used as arguments to policy management rules (e.g. route,
* firewall, load balancing, etc.).
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `[a-z0-9_-]{0,63}`.
* * No more than 64 labels can be associated with a given resource.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
+ *
* If you plan to use labels in your own code, please note that additional
* characters may be allowed in the future. And so you are advised to use an
* internal label representation, such as JSON, which doesn't rely upon
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequest.java
index f2383b48b41..542bafb332b 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequest.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequest.java
@@ -52,11 +52,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListInstanceConfigOperationsRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsRequest_descriptor;
@@ -138,13 +133,16 @@ public com.google.protobuf.ByteString getParentBytes() {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -158,10 +156,13 @@ public com.google.protobuf.ByteString getParentBytes() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=` \
* `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
@@ -197,13 +198,16 @@ public java.lang.String getFilter() {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -217,10 +221,13 @@ public java.lang.String getFilter() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=` \
* `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
@@ -883,13 +890,16 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -903,10 +913,13 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=` \
* `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
@@ -941,13 +954,16 @@ public java.lang.String getFilter() {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -961,10 +977,13 @@ public java.lang.String getFilter() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=` \
* `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
@@ -999,13 +1018,16 @@ public com.google.protobuf.ByteString getFilterBytes() {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -1019,10 +1041,13 @@ public com.google.protobuf.ByteString getFilterBytes() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=` \
* `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
@@ -1056,13 +1081,16 @@ public Builder setFilter(java.lang.String value) {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -1076,10 +1104,13 @@ public Builder setFilter(java.lang.String value) {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=` \
* `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
@@ -1109,13 +1140,16 @@ public Builder clearFilter() {
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -1129,10 +1163,13 @@ public Builder clearFilter() {
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=` \
* `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequestOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequestOrBuilder.java
index 3e79ae5fff3..b9116f3d765 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsRequestOrBuilder.java
@@ -59,13 +59,16 @@ public interface ListInstanceConfigOperationsRequestOrBuilder
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -79,10 +82,13 @@ public interface ListInstanceConfigOperationsRequestOrBuilder
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=` \
* `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
@@ -107,13 +113,16 @@ public interface ListInstanceConfigOperationsRequestOrBuilder
*
*
* An expression that filters the list of returned operations.
+ *
* A filter expression consists of a field name, a
* comparison operator, and a value for filtering.
* The value must be a string, a number, or a boolean. The comparison operator
* must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
* Colon `:` is the contains operator. Filter rules are not case sensitive.
+ *
* The following fields in the [Operation][google.longrunning.Operation]
* are eligible for filtering:
+ *
* * `name` - The name of the long-running operation
* * `done` - False if the operation is in progress, else true.
* * `metadata.@type` - the type of metadata. For example, the type string
@@ -127,10 +136,13 @@ public interface ListInstanceConfigOperationsRequestOrBuilder
* * `error` - Error associated with the long-running operation.
* * `response.@type` - the type of response.
* * `response.<field_name>` - any field in response.value.
+ *
* You can combine multiple expressions by enclosing each expression in
* parentheses. By default, expressions are combined with AND logic. However,
* you can specify AND, OR, and NOT logic explicitly.
+ *
* Here are a few examples:
+ *
* * `done:true` - The operation is complete.
* * `(metadata.@type=` \
* `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponse.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponse.java
index f120ee9ea3b..5ea6dd69395 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponse.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigOperationsResponse.java
@@ -51,11 +51,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListInstanceConfigOperationsResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_ListInstanceConfigOperationsResponse_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequest.java
index ccfd7f89e98..9101130a4c0 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequest.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsRequest.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListInstanceConfigsRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_ListInstanceConfigsRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponse.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponse.java
index d5611dd1e8d..0d8cac1c67f 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponse.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstanceConfigsResponse.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListInstanceConfigsResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_ListInstanceConfigsResponse_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequest.java
index 2ba8ebb3487..1236936495a 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequest.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequest.java
@@ -50,11 +50,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListInstancesRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_ListInstancesRequest_descriptor;
@@ -213,10 +208,13 @@ public com.google.protobuf.ByteString getPageTokenBytes() {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `name`
* * `display_name`
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `name:*` --> The instance has a name.
* * `name:Howl` --> The instance's name contains the string "howl".
* * `name:HOWL` --> Equivalent to above.
@@ -251,10 +249,13 @@ public java.lang.String getFilter() {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `name`
* * `display_name`
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `name:*` --> The instance has a name.
* * `name:Howl` --> The instance's name contains the string "howl".
* * `name:HOWL` --> Equivalent to above.
@@ -1003,10 +1004,13 @@ public Builder setPageTokenBytes(com.google.protobuf.ByteString value) {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `name`
* * `display_name`
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `name:*` --> The instance has a name.
* * `name:Howl` --> The instance's name contains the string "howl".
* * `name:HOWL` --> Equivalent to above.
@@ -1040,10 +1044,13 @@ public java.lang.String getFilter() {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `name`
* * `display_name`
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `name:*` --> The instance has a name.
* * `name:Howl` --> The instance's name contains the string "howl".
* * `name:HOWL` --> Equivalent to above.
@@ -1077,10 +1084,13 @@ public com.google.protobuf.ByteString getFilterBytes() {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `name`
* * `display_name`
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `name:*` --> The instance has a name.
* * `name:Howl` --> The instance's name contains the string "howl".
* * `name:HOWL` --> Equivalent to above.
@@ -1113,10 +1123,13 @@ public Builder setFilter(java.lang.String value) {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `name`
* * `display_name`
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `name:*` --> The instance has a name.
* * `name:Howl` --> The instance's name contains the string "howl".
* * `name:HOWL` --> Equivalent to above.
@@ -1145,10 +1158,13 @@ public Builder clearFilter() {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `name`
* * `display_name`
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `name:*` --> The instance has a name.
* * `name:Howl` --> The instance's name contains the string "howl".
* * `name:HOWL` --> Equivalent to above.
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequestOrBuilder.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequestOrBuilder.java
index fe48b843731..4d2e9869ded 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesRequestOrBuilder.java
@@ -105,10 +105,13 @@ public interface ListInstancesRequestOrBuilder
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `name`
* * `display_name`
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `name:*` --> The instance has a name.
* * `name:Howl` --> The instance's name contains the string "howl".
* * `name:HOWL` --> Equivalent to above.
@@ -132,10 +135,13 @@ public interface ListInstancesRequestOrBuilder
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `name`
* * `display_name`
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `name:*` --> The instance has a name.
* * `name:Howl` --> The instance's name contains the string "howl".
* * `name:HOWL` --> Equivalent to above.
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponse.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponse.java
index 89519d1b539..65ae986053e 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponse.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ListInstancesResponse.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListInstancesResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_ListInstancesResponse_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgress.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgress.java
index 8a822c2c7d2..37971de7ed9 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgress.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/OperationProgress.java
@@ -46,11 +46,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new OperationProgress();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.CommonProto
.internal_static_google_spanner_admin_instance_v1_OperationProgress_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ProjectName.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ProjectName.java
index 54cecb928ac..ac48875b84f 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ProjectName.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ProjectName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2022 Google LLC
+ * Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ReplicaInfo.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ReplicaInfo.java
index 2553f2fff57..e180b6bbb6d 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ReplicaInfo.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/ReplicaInfo.java
@@ -40,11 +40,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ReplicaInfo();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_ReplicaInfo_descriptor;
@@ -87,6 +82,7 @@ public enum ReplicaType implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Read-write replicas support both reads and writes. These replicas:
+ *
* * Maintain a full copy of your data.
* * Serve reads.
* * Can vote whether to commit a write.
@@ -102,6 +98,7 @@ public enum ReplicaType implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Read-only replicas only support reads (not writes). Read-only replicas:
+ *
* * Maintain a full copy of your data.
* * Serve reads.
* * Do not participate in voting to commit writes.
@@ -117,6 +114,7 @@ public enum ReplicaType implements com.google.protobuf.ProtocolMessageEnum {
*
* Witness replicas don't support reads but do participate in voting to
* commit writes. Witness replicas:
+ *
* * Do not maintain a full copy of data.
* * Do not serve reads.
* * Vote whether to commit writes.
@@ -144,6 +142,7 @@ public enum ReplicaType implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Read-write replicas support both reads and writes. These replicas:
+ *
* * Maintain a full copy of your data.
* * Serve reads.
* * Can vote whether to commit a write.
@@ -159,6 +158,7 @@ public enum ReplicaType implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Read-only replicas only support reads (not writes). Read-only replicas:
+ *
* * Maintain a full copy of your data.
* * Serve reads.
* * Do not participate in voting to commit writes.
@@ -174,6 +174,7 @@ public enum ReplicaType implements com.google.protobuf.ProtocolMessageEnum {
*
* Witness replicas don't support reads but do participate in voting to
* commit writes. Witness replicas:
+ *
* * Do not maintain a full copy of data.
* * Do not serve reads.
* * Vote whether to commit writes.
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/SpannerInstanceAdminProto.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/SpannerInstanceAdminProto.java
index 3d5256cbd62..8fc561a4fa7 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/SpannerInstanceAdminProto.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/SpannerInstanceAdminProto.java
@@ -144,203 +144,204 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "min.instance.v1.ReplicaInfo.ReplicaType\022"
+ "\037\n\027default_leader_location\030\003 \001(\010\"O\n\013Repl"
+ "icaType\022\024\n\020TYPE_UNSPECIFIED\020\000\022\016\n\nREAD_WR"
- + "ITE\020\001\022\r\n\tREAD_ONLY\020\002\022\013\n\007WITNESS\020\003\"\276\006\n\016In"
+ + "ITE\020\001\022\r\n\tREAD_ONLY\020\002\022\013\n\007WITNESS\020\003\"\302\006\n\016In"
+ "stanceConfig\022\014\n\004name\030\001 \001(\t\022\024\n\014display_na"
- + "me\030\002 \001(\t\022O\n\013config_type\030\005 \001(\01625.google.s"
+ + "me\030\002 \001(\t\022P\n\013config_type\030\005 \001(\01625.google.s"
+ "panner.admin.instance.v1.InstanceConfig."
- + "TypeB\003\340A\003\022?\n\010replicas\030\003 \003(\0132-.google.spa"
- + "nner.admin.instance.v1.ReplicaInfo\022M\n\021op"
- + "tional_replicas\030\006 \003(\0132-.google.spanner.a"
- + "dmin.instance.v1.ReplicaInfoB\003\340A\003\022?\n\013bas"
- + "e_config\030\007 \001(\tB*\372A\'\n%spanner.googleapis."
- + "com/InstanceConfig\022L\n\006labels\030\010 \003(\0132<.goo"
- + "gle.spanner.admin.instance.v1.InstanceCo"
- + "nfig.LabelsEntry\022\014\n\004etag\030\t \001(\t\022\026\n\016leader"
- + "_options\030\004 \003(\t\022\030\n\013reconciling\030\n \001(\010B\003\340A\003"
- + "\022J\n\005state\030\013 \001(\01626.google.spanner.admin.i"
- + "nstance.v1.InstanceConfig.StateB\003\340A\003\032-\n\013"
- + "LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:"
- + "\0028\001\"B\n\004Type\022\024\n\020TYPE_UNSPECIFIED\020\000\022\022\n\016GOO"
- + "GLE_MANAGED\020\001\022\020\n\014USER_MANAGED\020\002\"7\n\005State"
- + "\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010CREATING\020\001\022\t\n"
- + "\005READY\020\002:`\352A]\n%spanner.googleapis.com/In"
- + "stanceConfig\0224projects/{project}/instanc"
- + "eConfigs/{instance_config}\"\355\004\n\010Instance\022"
- + "\021\n\004name\030\001 \001(\tB\003\340A\002\022=\n\006config\030\002 \001(\tB-\340A\002\372"
- + "A\'\n%spanner.googleapis.com/InstanceConfi"
- + "g\022\031\n\014display_name\030\003 \001(\tB\003\340A\002\022\022\n\nnode_cou"
- + "nt\030\005 \001(\005\022\030\n\020processing_units\030\t \001(\005\022D\n\005st"
- + "ate\030\006 \001(\01620.google.spanner.admin.instanc"
- + "e.v1.Instance.StateB\003\340A\003\022F\n\006labels\030\007 \003(\013"
- + "26.google.spanner.admin.instance.v1.Inst"
- + "ance.LabelsEntry\022\025\n\rendpoint_uris\030\010 \003(\t\022"
- + "4\n\013create_time\030\013 \001(\0132\032.google.protobuf.T"
- + "imestampB\003\340A\003\0224\n\013update_time\030\014 \001(\0132\032.goo"
- + "gle.protobuf.TimestampB\003\340A\003\032-\n\013LabelsEnt"
- + "ry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"7\n\005St"
- + "ate\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010CREATING\020\001"
- + "\022\t\n\005READY\020\002:M\352AJ\n\037spanner.googleapis.com"
- + "/Instance\022\'projects/{project}/instances/"
- + "{instance}\"\210\001\n\032ListInstanceConfigsReques"
- + "t\022C\n\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudresource"
- + "manager.googleapis.com/Project\022\021\n\tpage_s"
- + "ize\030\002 \001(\005\022\022\n\npage_token\030\003 \001(\t\"\202\001\n\033ListIn"
- + "stanceConfigsResponse\022J\n\020instance_config"
- + "s\030\001 \003(\01320.google.spanner.admin.instance."
- + "v1.InstanceConfig\022\027\n\017next_page_token\030\002 \001"
- + "(\t\"W\n\030GetInstanceConfigRequest\022;\n\004name\030\001"
- + " \001(\tB-\340A\002\372A\'\n%spanner.googleapis.com/Ins"
- + "tanceConfig\"\352\001\n\033CreateInstanceConfigRequ"
- + "est\022C\n\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudresour"
- + "cemanager.googleapis.com/Project\022\037\n\022inst"
- + "ance_config_id\030\002 \001(\tB\003\340A\002\022N\n\017instance_co"
- + "nfig\030\003 \001(\01320.google.spanner.admin.instan"
- + "ce.v1.InstanceConfigB\003\340A\002\022\025\n\rvalidate_on"
- + "ly\030\004 \001(\010\"\272\001\n\033UpdateInstanceConfigRequest"
- + "\022N\n\017instance_config\030\001 \001(\01320.google.spann"
- + "er.admin.instance.v1.InstanceConfigB\003\340A\002"
- + "\0224\n\013update_mask\030\002 \001(\0132\032.google.protobuf."
- + "FieldMaskB\003\340A\002\022\025\n\rvalidate_only\030\003 \001(\010\"\177\n"
- + "\033DeleteInstanceConfigRequest\022;\n\004name\030\001 \001"
- + "(\tB-\340A\002\372A\'\n%spanner.googleapis.com/Insta"
- + "nceConfig\022\014\n\004etag\030\002 \001(\t\022\025\n\rvalidate_only"
- + "\030\003 \001(\010\"\241\001\n#ListInstanceConfigOperationsR"
- + "equest\022C\n\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudres"
- + "ourcemanager.googleapis.com/Project\022\016\n\006f"
- + "ilter\030\002 \001(\t\022\021\n\tpage_size\030\003 \001(\005\022\022\n\npage_t"
- + "oken\030\004 \001(\t\"r\n$ListInstanceConfigOperatio"
- + "nsResponse\0221\n\noperations\030\001 \003(\0132\035.google."
- + "longrunning.Operation\022\027\n\017next_page_token"
- + "\030\002 \001(\t\"{\n\022GetInstanceRequest\0225\n\004name\030\001 \001"
- + "(\tB\'\340A\002\372A!\n\037spanner.googleapis.com/Insta"
- + "nce\022.\n\nfield_mask\030\002 \001(\0132\032.google.protobu"
- + "f.FieldMask\"\271\001\n\025CreateInstanceRequest\022C\n"
- + "\006parent\030\001 \001(\tB3\340A\002\372A-\n+cloudresourcemana"
- + "ger.googleapis.com/Project\022\030\n\013instance_i"
- + "d\030\002 \001(\tB\003\340A\002\022A\n\010instance\030\003 \001(\0132*.google."
- + "spanner.admin.instance.v1.InstanceB\003\340A\002\""
- + "\222\001\n\024ListInstancesRequest\022C\n\006parent\030\001 \001(\t"
- + "B3\340A\002\372A-\n+cloudresourcemanager.googleapi"
- + "s.com/Project\022\021\n\tpage_size\030\002 \001(\005\022\022\n\npage"
- + "_token\030\003 \001(\t\022\016\n\006filter\030\004 \001(\t\"o\n\025ListInst"
- + "ancesResponse\022=\n\tinstances\030\001 \003(\0132*.googl"
- + "e.spanner.admin.instance.v1.Instance\022\027\n\017"
- + "next_page_token\030\002 \001(\t\"\217\001\n\025UpdateInstance"
- + "Request\022A\n\010instance\030\001 \001(\0132*.google.spann"
- + "er.admin.instance.v1.InstanceB\003\340A\002\0223\n\nfi"
- + "eld_mask\030\002 \001(\0132\032.google.protobuf.FieldMa"
- + "skB\003\340A\002\"N\n\025DeleteInstanceRequest\0225\n\004name"
- + "\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.googleapis.com/I"
- + "nstance\"\345\001\n\026CreateInstanceMetadata\022<\n\010in"
- + "stance\030\001 \001(\0132*.google.spanner.admin.inst"
- + "ance.v1.Instance\022.\n\nstart_time\030\002 \001(\0132\032.g"
- + "oogle.protobuf.Timestamp\022/\n\013cancel_time\030"
- + "\003 \001(\0132\032.google.protobuf.Timestamp\022,\n\010end"
- + "_time\030\004 \001(\0132\032.google.protobuf.Timestamp\""
- + "\345\001\n\026UpdateInstanceMetadata\022<\n\010instance\030\001"
- + " \001(\0132*.google.spanner.admin.instance.v1."
- + "Instance\022.\n\nstart_time\030\002 \001(\0132\032.google.pr"
- + "otobuf.Timestamp\022/\n\013cancel_time\030\003 \001(\0132\032."
- + "google.protobuf.Timestamp\022,\n\010end_time\030\004 "
- + "\001(\0132\032.google.protobuf.Timestamp\"\341\001\n\034Crea"
- + "teInstanceConfigMetadata\022I\n\017instance_con"
- + "fig\030\001 \001(\01320.google.spanner.admin.instanc"
- + "e.v1.InstanceConfig\022E\n\010progress\030\002 \001(\01323."
- + "google.spanner.admin.instance.v1.Operati"
- + "onProgress\022/\n\013cancel_time\030\003 \001(\0132\032.google"
- + ".protobuf.Timestamp\"\341\001\n\034UpdateInstanceCo"
+ + "TypeB\004\342A\001\003\022?\n\010replicas\030\003 \003(\0132-.google.sp"
+ + "anner.admin.instance.v1.ReplicaInfo\022N\n\021o"
+ + "ptional_replicas\030\006 \003(\0132-.google.spanner."
+ + "admin.instance.v1.ReplicaInfoB\004\342A\001\003\022?\n\013b"
+ + "ase_config\030\007 \001(\tB*\372A\'\n%spanner.googleapi"
+ + "s.com/InstanceConfig\022L\n\006labels\030\010 \003(\0132<.g"
+ + "oogle.spanner.admin.instance.v1.Instance"
+ + "Config.LabelsEntry\022\014\n\004etag\030\t \001(\t\022\026\n\016lead"
+ + "er_options\030\004 \003(\t\022\031\n\013reconciling\030\n \001(\010B\004\342"
+ + "A\001\003\022K\n\005state\030\013 \001(\01626.google.spanner.admi"
+ + "n.instance.v1.InstanceConfig.StateB\004\342A\001\003"
+ + "\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 "
+ + "\001(\t:\0028\001\"B\n\004Type\022\024\n\020TYPE_UNSPECIFIED\020\000\022\022\n"
+ + "\016GOOGLE_MANAGED\020\001\022\020\n\014USER_MANAGED\020\002\"7\n\005S"
+ + "tate\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010CREATING\020"
+ + "\001\022\t\n\005READY\020\002:`\352A]\n%spanner.googleapis.co"
+ + "m/InstanceConfig\0224projects/{project}/ins"
+ + "tanceConfigs/{instance_config}\"\363\004\n\010Insta"
+ + "nce\022\022\n\004name\030\001 \001(\tB\004\342A\001\002\022>\n\006config\030\002 \001(\tB"
+ + ".\342A\001\002\372A\'\n%spanner.googleapis.com/Instanc"
+ + "eConfig\022\032\n\014display_name\030\003 \001(\tB\004\342A\001\002\022\022\n\nn"
+ + "ode_count\030\005 \001(\005\022\030\n\020processing_units\030\t \001("
+ + "\005\022E\n\005state\030\006 \001(\01620.google.spanner.admin."
+ + "instance.v1.Instance.StateB\004\342A\001\003\022F\n\006labe"
+ + "ls\030\007 \003(\01326.google.spanner.admin.instance"
+ + ".v1.Instance.LabelsEntry\022\025\n\rendpoint_uri"
+ + "s\030\010 \003(\t\0225\n\013create_time\030\013 \001(\0132\032.google.pr"
+ + "otobuf.TimestampB\004\342A\001\003\0225\n\013update_time\030\014 "
+ + "\001(\0132\032.google.protobuf.TimestampB\004\342A\001\003\032-\n"
+ + "\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t"
+ + ":\0028\001\"7\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010"
+ + "CREATING\020\001\022\t\n\005READY\020\002:M\352AJ\n\037spanner.goog"
+ + "leapis.com/Instance\022\'projects/{project}/"
+ + "instances/{instance}\"\211\001\n\032ListInstanceCon"
+ + "figsRequest\022D\n\006parent\030\001 \001(\tB4\342A\001\002\372A-\n+cl"
+ + "oudresourcemanager.googleapis.com/Projec"
+ + "t\022\021\n\tpage_size\030\002 \001(\005\022\022\n\npage_token\030\003 \001(\t"
+ + "\"\202\001\n\033ListInstanceConfigsResponse\022J\n\020inst"
+ + "ance_configs\030\001 \003(\01320.google.spanner.admi"
+ + "n.instance.v1.InstanceConfig\022\027\n\017next_pag"
+ + "e_token\030\002 \001(\t\"X\n\030GetInstanceConfigReques"
+ + "t\022<\n\004name\030\001 \001(\tB.\342A\001\002\372A\'\n%spanner.google"
+ + "apis.com/InstanceConfig\"\355\001\n\033CreateInstan"
+ + "ceConfigRequest\022D\n\006parent\030\001 \001(\tB4\342A\001\002\372A-"
+ + "\n+cloudresourcemanager.googleapis.com/Pr"
+ + "oject\022 \n\022instance_config_id\030\002 \001(\tB\004\342A\001\002\022"
+ + "O\n\017instance_config\030\003 \001(\01320.google.spanne"
+ + "r.admin.instance.v1.InstanceConfigB\004\342A\001\002"
+ + "\022\025\n\rvalidate_only\030\004 \001(\010\"\274\001\n\033UpdateInstan"
+ + "ceConfigRequest\022O\n\017instance_config\030\001 \001(\013"
+ + "20.google.spanner.admin.instance.v1.Inst"
+ + "anceConfigB\004\342A\001\002\0225\n\013update_mask\030\002 \001(\0132\032."
+ + "google.protobuf.FieldMaskB\004\342A\001\002\022\025\n\rvalid"
+ + "ate_only\030\003 \001(\010\"\200\001\n\033DeleteInstanceConfigR"
+ + "equest\022<\n\004name\030\001 \001(\tB.\342A\001\002\372A\'\n%spanner.g"
+ + "oogleapis.com/InstanceConfig\022\014\n\004etag\030\002 \001"
+ + "(\t\022\025\n\rvalidate_only\030\003 \001(\010\"\242\001\n#ListInstan"
+ + "ceConfigOperationsRequest\022D\n\006parent\030\001 \001("
+ + "\tB4\342A\001\002\372A-\n+cloudresourcemanager.googlea"
+ + "pis.com/Project\022\016\n\006filter\030\002 \001(\t\022\021\n\tpage_"
+ + "size\030\003 \001(\005\022\022\n\npage_token\030\004 \001(\t\"r\n$ListIn"
+ + "stanceConfigOperationsResponse\0221\n\noperat"
+ + "ions\030\001 \003(\0132\035.google.longrunning.Operatio"
+ + "n\022\027\n\017next_page_token\030\002 \001(\t\"|\n\022GetInstanc"
+ + "eRequest\0226\n\004name\030\001 \001(\tB(\342A\001\002\372A!\n\037spanner"
+ + ".googleapis.com/Instance\022.\n\nfield_mask\030\002"
+ + " \001(\0132\032.google.protobuf.FieldMask\"\274\001\n\025Cre"
+ + "ateInstanceRequest\022D\n\006parent\030\001 \001(\tB4\342A\001\002"
+ + "\372A-\n+cloudresourcemanager.googleapis.com"
+ + "/Project\022\031\n\013instance_id\030\002 \001(\tB\004\342A\001\002\022B\n\010i"
+ + "nstance\030\003 \001(\0132*.google.spanner.admin.ins"
+ + "tance.v1.InstanceB\004\342A\001\002\"\223\001\n\024ListInstance"
+ + "sRequest\022D\n\006parent\030\001 \001(\tB4\342A\001\002\372A-\n+cloud"
+ + "resourcemanager.googleapis.com/Project\022\021"
+ + "\n\tpage_size\030\002 \001(\005\022\022\n\npage_token\030\003 \001(\t\022\016\n"
+ + "\006filter\030\004 \001(\t\"o\n\025ListInstancesResponse\022="
+ + "\n\tinstances\030\001 \003(\0132*.google.spanner.admin"
+ + ".instance.v1.Instance\022\027\n\017next_page_token"
+ + "\030\002 \001(\t\"\221\001\n\025UpdateInstanceRequest\022B\n\010inst"
+ + "ance\030\001 \001(\0132*.google.spanner.admin.instan"
+ + "ce.v1.InstanceB\004\342A\001\002\0224\n\nfield_mask\030\002 \001(\013"
+ + "2\032.google.protobuf.FieldMaskB\004\342A\001\002\"O\n\025De"
+ + "leteInstanceRequest\0226\n\004name\030\001 \001(\tB(\342A\001\002\372"
+ + "A!\n\037spanner.googleapis.com/Instance\"\345\001\n\026"
+ + "CreateInstanceMetadata\022<\n\010instance\030\001 \001(\013"
+ + "2*.google.spanner.admin.instance.v1.Inst"
+ + "ance\022.\n\nstart_time\030\002 \001(\0132\032.google.protob"
+ + "uf.Timestamp\022/\n\013cancel_time\030\003 \001(\0132\032.goog"
+ + "le.protobuf.Timestamp\022,\n\010end_time\030\004 \001(\0132"
+ + "\032.google.protobuf.Timestamp\"\345\001\n\026UpdateIn"
+ + "stanceMetadata\022<\n\010instance\030\001 \001(\0132*.googl"
+ + "e.spanner.admin.instance.v1.Instance\022.\n\n"
+ + "start_time\030\002 \001(\0132\032.google.protobuf.Times"
+ + "tamp\022/\n\013cancel_time\030\003 \001(\0132\032.google.proto"
+ + "buf.Timestamp\022,\n\010end_time\030\004 \001(\0132\032.google"
+ + ".protobuf.Timestamp\"\341\001\n\034CreateInstanceCo"
+ "nfigMetadata\022I\n\017instance_config\030\001 \001(\01320."
+ "google.spanner.admin.instance.v1.Instanc"
+ "eConfig\022E\n\010progress\030\002 \001(\01323.google.spann"
+ "er.admin.instance.v1.OperationProgress\022/"
+ "\n\013cancel_time\030\003 \001(\0132\032.google.protobuf.Ti"
- + "mestamp2\362\030\n\rInstanceAdmin\022\314\001\n\023ListInstan"
- + "ceConfigs\022<.google.spanner.admin.instanc"
- + "e.v1.ListInstanceConfigsRequest\032=.google"
- + ".spanner.admin.instance.v1.ListInstanceC"
- + "onfigsResponse\"8\202\323\344\223\002)\022\'/v1/{parent=proj"
- + "ects/*}/instanceConfigs\332A\006parent\022\271\001\n\021Get"
- + "InstanceConfig\022:.google.spanner.admin.in"
- + "stance.v1.GetInstanceConfigRequest\0320.goo"
- + "gle.spanner.admin.instance.v1.InstanceCo"
- + "nfig\"6\202\323\344\223\002)\022\'/v1/{name=projects/*/insta"
- + "nceConfigs/*}\332A\004name\022\310\002\n\024CreateInstanceC"
- + "onfig\022=.google.spanner.admin.instance.v1"
- + ".CreateInstanceConfigRequest\032\035.google.lo"
- + "ngrunning.Operation\"\321\001\202\323\344\223\002,\"\'/v1/{paren"
- + "t=projects/*}/instanceConfigs:\001*\332A)paren"
- + "t,instance_config,instance_config_id\312Ap\n"
- + "/google.spanner.admin.instance.v1.Instan"
- + "ceConfig\022=google.spanner.admin.instance."
- + "v1.CreateInstanceConfigMetadata\022\312\002\n\024Upda"
- + "teInstanceConfig\022=.google.spanner.admin."
- + "instance.v1.UpdateInstanceConfigRequest\032"
- + "\035.google.longrunning.Operation\"\323\001\202\323\344\223\002<2"
- + "7/v1/{instance_config.name=projects/*/in"
- + "stanceConfigs/*}:\001*\332A\033instance_config,up"
- + "date_mask\312Ap\n/google.spanner.admin.insta"
- + "nce.v1.InstanceConfig\022=google.spanner.ad"
- + "min.instance.v1.UpdateInstanceConfigMeta"
- + "data\022\245\001\n\024DeleteInstanceConfig\022=.google.s"
- + "panner.admin.instance.v1.DeleteInstanceC"
- + "onfigRequest\032\026.google.protobuf.Empty\"6\202\323"
- + "\344\223\002)*\'/v1/{name=projects/*/instanceConfi"
- + "gs/*}\332A\004name\022\360\001\n\034ListInstanceConfigOpera"
- + "tions\022E.google.spanner.admin.instance.v1"
- + ".ListInstanceConfigOperationsRequest\032F.g"
- + "oogle.spanner.admin.instance.v1.ListInst"
- + "anceConfigOperationsResponse\"A\202\323\344\223\0022\0220/v"
- + "1/{parent=projects/*}/instanceConfigOper"
- + "ations\332A\006parent\022\264\001\n\rListInstances\0226.goog"
+ + "mestamp\"\341\001\n\034UpdateInstanceConfigMetadata"
+ + "\022I\n\017instance_config\030\001 \001(\01320.google.spann"
+ + "er.admin.instance.v1.InstanceConfig\022E\n\010p"
+ + "rogress\030\002 \001(\01323.google.spanner.admin.ins"
+ + "tance.v1.OperationProgress\022/\n\013cancel_tim"
+ + "e\030\003 \001(\0132\032.google.protobuf.Timestamp2\362\030\n\r"
+ + "InstanceAdmin\022\314\001\n\023ListInstanceConfigs\022<."
+ + "google.spanner.admin.instance.v1.ListIns"
+ + "tanceConfigsRequest\032=.google.spanner.adm"
+ + "in.instance.v1.ListInstanceConfigsRespon"
+ + "se\"8\332A\006parent\202\323\344\223\002)\022\'/v1/{parent=project"
+ + "s/*}/instanceConfigs\022\271\001\n\021GetInstanceConf"
+ + "ig\022:.google.spanner.admin.instance.v1.Ge"
+ + "tInstanceConfigRequest\0320.google.spanner."
+ + "admin.instance.v1.InstanceConfig\"6\332A\004nam"
+ + "e\202\323\344\223\002)\022\'/v1/{name=projects/*/instanceCo"
+ + "nfigs/*}\022\310\002\n\024CreateInstanceConfig\022=.goog"
+ + "le.spanner.admin.instance.v1.CreateInsta"
+ + "nceConfigRequest\032\035.google.longrunning.Op"
+ + "eration\"\321\001\312Ap\n/google.spanner.admin.inst"
+ + "ance.v1.InstanceConfig\022=google.spanner.a"
+ + "dmin.instance.v1.CreateInstanceConfigMet"
+ + "adata\332A)parent,instance_config,instance_"
+ + "config_id\202\323\344\223\002,\"\'/v1/{parent=projects/*}"
+ + "/instanceConfigs:\001*\022\312\002\n\024UpdateInstanceCo"
+ + "nfig\022=.google.spanner.admin.instance.v1."
+ + "UpdateInstanceConfigRequest\032\035.google.lon"
+ + "grunning.Operation\"\323\001\312Ap\n/google.spanner"
+ + ".admin.instance.v1.InstanceConfig\022=googl"
+ + "e.spanner.admin.instance.v1.UpdateInstan"
+ + "ceConfigMetadata\332A\033instance_config,updat"
+ + "e_mask\202\323\344\223\002<27/v1/{instance_config.name="
+ + "projects/*/instanceConfigs/*}:\001*\022\245\001\n\024Del"
+ + "eteInstanceConfig\022=.google.spanner.admin"
+ + ".instance.v1.DeleteInstanceConfigRequest"
+ + "\032\026.google.protobuf.Empty\"6\332A\004name\202\323\344\223\002)*"
+ + "\'/v1/{name=projects/*/instanceConfigs/*}"
+ + "\022\360\001\n\034ListInstanceConfigOperations\022E.goog"
+ "le.spanner.admin.instance.v1.ListInstanc"
- + "esRequest\0327.google.spanner.admin.instanc"
- + "e.v1.ListInstancesResponse\"2\202\323\344\223\002#\022!/v1/"
- + "{parent=projects/*}/instances\332A\006parent\022\241"
- + "\001\n\013GetInstance\0224.google.spanner.admin.in"
- + "stance.v1.GetInstanceRequest\032*.google.sp"
- + "anner.admin.instance.v1.Instance\"0\202\323\344\223\002#"
- + "\022!/v1/{name=projects/*/instances/*}\332A\004na"
- + "me\022\234\002\n\016CreateInstance\0227.google.spanner.a"
- + "dmin.instance.v1.CreateInstanceRequest\032\035"
- + ".google.longrunning.Operation\"\261\001\202\323\344\223\002&\"!"
- + "/v1/{parent=projects/*}/instances:\001*\332A\033p"
- + "arent,instance_id,instance\312Ad\n)google.sp"
- + "anner.admin.instance.v1.Instance\0227google"
- + ".spanner.admin.instance.v1.CreateInstanc"
- + "eMetadata\022\235\002\n\016UpdateInstance\0227.google.sp"
- + "anner.admin.instance.v1.UpdateInstanceRe"
- + "quest\032\035.google.longrunning.Operation\"\262\001\202"
- + "\323\344\223\002/2*/v1/{instance.name=projects/*/ins"
- + "tances/*}:\001*\332A\023instance,field_mask\312Ad\n)g"
- + "oogle.spanner.admin.instance.v1.Instance"
- + "\0227google.spanner.admin.instance.v1.Updat"
- + "eInstanceMetadata\022\223\001\n\016DeleteInstance\0227.g"
- + "oogle.spanner.admin.instance.v1.DeleteIn"
- + "stanceRequest\032\026.google.protobuf.Empty\"0\202"
- + "\323\344\223\002#*!/v1/{name=projects/*/instances/*}"
- + "\332A\004name\022\232\001\n\014SetIamPolicy\022\".google.iam.v1"
- + ".SetIamPolicyRequest\032\025.google.iam.v1.Pol"
- + "icy\"O\202\323\344\223\0027\"2/v1/{resource=projects/*/in"
- + "stances/*}:setIamPolicy:\001*\332A\017resource,po"
- + "licy\022\223\001\n\014GetIamPolicy\022\".google.iam.v1.Ge"
- + "tIamPolicyRequest\032\025.google.iam.v1.Policy"
- + "\"H\202\323\344\223\0027\"2/v1/{resource=projects/*/insta"
- + "nces/*}:getIamPolicy:\001*\332A\010resource\022\305\001\n\022T"
- + "estIamPermissions\022(.google.iam.v1.TestIa"
- + "mPermissionsRequest\032).google.iam.v1.Test"
- + "IamPermissionsResponse\"Z\202\323\344\223\002=\"8/v1/{res"
- + "ource=projects/*/instances/*}:testIamPer"
- + "missions:\001*\332A\024resource,permissions\032x\312A\026s"
- + "panner.googleapis.com\322A\\https://www.goog"
- + "leapis.com/auth/cloud-platform,https://w"
- + "ww.googleapis.com/auth/spanner.adminB\213\002\n"
- + "$com.google.spanner.admin.instance.v1B\031S"
- + "pannerInstanceAdminProtoP\001ZFcloud.google"
- + ".com/go/spanner/admin/instance/apiv1/ins"
- + "tancepb;instancepb\252\002&Google.Cloud.Spanne"
- + "r.Admin.Instance.V1\312\002&Google\\Cloud\\Spann"
- + "er\\Admin\\Instance\\V1\352\002+Google::Cloud::Sp"
- + "anner::Admin::Instance::V1b\006proto3"
+ + "eConfigOperationsRequest\032F.google.spanne"
+ + "r.admin.instance.v1.ListInstanceConfigOp"
+ + "erationsResponse\"A\332A\006parent\202\323\344\223\0022\0220/v1/{"
+ + "parent=projects/*}/instanceConfigOperati"
+ + "ons\022\264\001\n\rListInstances\0226.google.spanner.a"
+ + "dmin.instance.v1.ListInstancesRequest\0327."
+ + "google.spanner.admin.instance.v1.ListIns"
+ + "tancesResponse\"2\332A\006parent\202\323\344\223\002#\022!/v1/{pa"
+ + "rent=projects/*}/instances\022\241\001\n\013GetInstan"
+ + "ce\0224.google.spanner.admin.instance.v1.Ge"
+ + "tInstanceRequest\032*.google.spanner.admin."
+ + "instance.v1.Instance\"0\332A\004name\202\323\344\223\002#\022!/v1"
+ + "/{name=projects/*/instances/*}\022\234\002\n\016Creat"
+ + "eInstance\0227.google.spanner.admin.instanc"
+ + "e.v1.CreateInstanceRequest\032\035.google.long"
+ + "running.Operation\"\261\001\312Ad\n)google.spanner."
+ + "admin.instance.v1.Instance\0227google.spann"
+ + "er.admin.instance.v1.CreateInstanceMetad"
+ + "ata\332A\033parent,instance_id,instance\202\323\344\223\002&\""
+ + "!/v1/{parent=projects/*}/instances:\001*\022\235\002"
+ + "\n\016UpdateInstance\0227.google.spanner.admin."
+ + "instance.v1.UpdateInstanceRequest\032\035.goog"
+ + "le.longrunning.Operation\"\262\001\312Ad\n)google.s"
+ + "panner.admin.instance.v1.Instance\0227googl"
+ + "e.spanner.admin.instance.v1.UpdateInstan"
+ + "ceMetadata\332A\023instance,field_mask\202\323\344\223\002/2*"
+ + "/v1/{instance.name=projects/*/instances/"
+ + "*}:\001*\022\223\001\n\016DeleteInstance\0227.google.spanne"
+ + "r.admin.instance.v1.DeleteInstanceReques"
+ + "t\032\026.google.protobuf.Empty\"0\332A\004name\202\323\344\223\002#"
+ + "*!/v1/{name=projects/*/instances/*}\022\232\001\n\014"
+ + "SetIamPolicy\022\".google.iam.v1.SetIamPolic"
+ + "yRequest\032\025.google.iam.v1.Policy\"O\332A\017reso"
+ + "urce,policy\202\323\344\223\0027\"2/v1/{resource=project"
+ + "s/*/instances/*}:setIamPolicy:\001*\022\223\001\n\014Get"
+ + "IamPolicy\022\".google.iam.v1.GetIamPolicyRe"
+ + "quest\032\025.google.iam.v1.Policy\"H\332A\010resourc"
+ + "e\202\323\344\223\0027\"2/v1/{resource=projects/*/instan"
+ + "ces/*}:getIamPolicy:\001*\022\305\001\n\022TestIamPermis"
+ + "sions\022(.google.iam.v1.TestIamPermissions"
+ + "Request\032).google.iam.v1.TestIamPermissio"
+ + "nsResponse\"Z\332A\024resource,permissions\202\323\344\223\002"
+ + "=\"8/v1/{resource=projects/*/instances/*}"
+ + ":testIamPermissions:\001*\032x\312A\026spanner.googl"
+ + "eapis.com\322A\\https://www.googleapis.com/a"
+ + "uth/cloud-platform,https://www.googleapi"
+ + "s.com/auth/spanner.adminB\213\002\n$com.google."
+ + "spanner.admin.instance.v1B\031SpannerInstan"
+ + "ceAdminProtoP\001ZFcloud.google.com/go/span"
+ + "ner/admin/instance/apiv1/instancepb;inst"
+ + "ancepb\252\002&Google.Cloud.Spanner.Admin.Inst"
+ + "ance.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Ins"
+ + "tance\\V1\352\002+Google::Cloud::Spanner::Admin"
+ + "::Instance::V1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadata.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadata.java
index 5a22311f981..48f2e9e1683 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadata.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigMetadata.java
@@ -46,11 +46,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new UpdateInstanceConfigMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigMetadata_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequest.java
index 9c93dda8798..d2916ab0a74 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequest.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceConfigRequest.java
@@ -46,11 +46,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new UpdateInstanceConfigRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_UpdateInstanceConfigRequest_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadata.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadata.java
index a421f384777..291ad67bc82 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadata.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceMetadata.java
@@ -46,11 +46,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new UpdateInstanceMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_UpdateInstanceMetadata_descriptor;
diff --git a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequest.java b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequest.java
index b8eaa2160d8..3c734c86d6e 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequest.java
+++ b/proto-google-cloud-spanner-admin-instance-v1/src/main/java/com/google/spanner/admin/instance/v1/UpdateInstanceRequest.java
@@ -46,11 +46,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new UpdateInstanceRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.admin.instance.v1.SpannerInstanceAdminProto
.internal_static_google_spanner_admin_instance_v1_UpdateInstanceRequest_descriptor;
diff --git a/proto-google-cloud-spanner-v1/pom.xml b/proto-google-cloud-spanner-v1/pom.xml
index 53897ef1f5a..531815bfe6b 100644
--- a/proto-google-cloud-spanner-v1/pom.xml
+++ b/proto-google-cloud-spanner-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-spanner-v1
- 6.43.2
+ 6.44.0
proto-google-cloud-spanner-v1
PROTO library for proto-google-cloud-spanner-v1
com.google.cloud
google-cloud-spanner-parent
- 6.43.2
+ 6.44.0
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BatchCreateSessionsRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BatchCreateSessionsRequest.java
index 9b92cd1cb03..1bdb2f44a29 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BatchCreateSessionsRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BatchCreateSessionsRequest.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new BatchCreateSessionsRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_BatchCreateSessionsRequest_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BatchCreateSessionsResponse.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BatchCreateSessionsResponse.java
index a53a5644317..9a8d1c91120 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BatchCreateSessionsResponse.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BatchCreateSessionsResponse.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new BatchCreateSessionsResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_BatchCreateSessionsResponse_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BeginTransactionRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BeginTransactionRequest.java
index d676fd87ea6..fae0074b1ca 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BeginTransactionRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/BeginTransactionRequest.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new BeginTransactionRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_BeginTransactionRequest_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitRequest.java
index 9d5d7d5891b..a052d9059b4 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitRequest.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CommitRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_CommitRequest_descriptor;
@@ -69,6 +64,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
}
private int transactionCase_ = 0;
+
+ @SuppressWarnings("serial")
private java.lang.Object transaction_;
public enum TransactionCase
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitRequestOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitRequestOrBuilder.java
index 67704563b20..c55778357bb 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitRequestOrBuilder.java
@@ -247,5 +247,5 @@ public interface CommitRequestOrBuilder
*/
com.google.spanner.v1.RequestOptionsOrBuilder getRequestOptionsOrBuilder();
- public com.google.spanner.v1.CommitRequest.TransactionCase getTransactionCase();
+ com.google.spanner.v1.CommitRequest.TransactionCase getTransactionCase();
}
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitResponse.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitResponse.java
index 89661b86be0..f3331b717f4 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitResponse.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitResponse.java
@@ -45,11 +45,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CommitResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.CommitResponseProto
.internal_static_google_spanner_v1_CommitResponse_descriptor;
@@ -116,11 +111,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CommitStats();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.CommitResponseProto
.internal_static_google_spanner_v1_CommitResponse_CommitStats_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CreateSessionRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CreateSessionRequest.java
index fe3fc6e7e6b..68c912c6598 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CreateSessionRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CreateSessionRequest.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new CreateSessionRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_CreateSessionRequest_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/DatabaseName.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/DatabaseName.java
index e7f0be608ab..3df2c6e0804 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/DatabaseName.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/DatabaseName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2022 Google LLC
+ * Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/DeleteSessionRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/DeleteSessionRequest.java
index f285dd8124e..26f385c994c 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/DeleteSessionRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/DeleteSessionRequest.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new DeleteSessionRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_DeleteSessionRequest_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlRequest.java
index c4392561ad7..3c9f88a1e4e 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlRequest.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ExecuteBatchDmlRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_ExecuteBatchDmlRequest_descriptor;
@@ -103,12 +98,16 @@ public interface StatementOrBuilder
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -122,12 +121,16 @@ public interface StatementOrBuilder
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -141,12 +144,16 @@ public interface StatementOrBuilder
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -161,6 +168,7 @@ public interface StatementOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -177,6 +185,7 @@ public interface StatementOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -196,6 +205,7 @@ public interface StatementOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -212,6 +222,7 @@ public interface StatementOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -232,6 +243,7 @@ com.google.spanner.v1.Type getParamTypesOrDefault(
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -271,11 +283,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new Statement();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_ExecuteBatchDmlRequest_Statement_descriptor;
@@ -360,12 +367,16 @@ public com.google.protobuf.ByteString getSqlBytes() {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -382,12 +393,16 @@ public boolean hasParams() {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -404,12 +419,16 @@ public com.google.protobuf.Struct getParams() {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -457,6 +476,7 @@ public int getParamTypesCount() {
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -485,6 +505,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -504,6 +525,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -531,6 +553,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1104,12 +1127,16 @@ public Builder setSqlBytes(com.google.protobuf.ByteString value) {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1125,12 +1152,16 @@ public boolean hasParams() {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1150,12 +1181,16 @@ public com.google.protobuf.Struct getParams() {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1179,12 +1214,16 @@ public Builder setParams(com.google.protobuf.Struct value) {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1205,12 +1244,16 @@ public Builder setParams(com.google.protobuf.Struct.Builder builderForValue) {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1237,12 +1280,16 @@ public Builder mergeParams(com.google.protobuf.Struct value) {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1263,12 +1310,16 @@ public Builder clearParams() {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1284,12 +1335,16 @@ public com.google.protobuf.Struct.Builder getParamsBuilder() {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1307,12 +1362,16 @@ public com.google.protobuf.StructOrBuilder getParamsOrBuilder() {
*
*
* Parameter names and values that bind to placeholders in the DML string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The
* same parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1371,6 +1430,7 @@ public int getParamTypesCount() {
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1399,6 +1459,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1418,6 +1479,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1445,6 +1507,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1478,6 +1541,7 @@ public Builder clearParamTypes() {
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1506,6 +1570,7 @@ public java.util.Map getMutablePar
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1532,6 +1597,7 @@ public Builder putParamTypes(java.lang.String key, com.google.spanner.v1.Type va
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteBatchDmlRequest.Statement.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1673,6 +1739,7 @@ public com.google.protobuf.ByteString getSessionBytes() {
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -1693,6 +1760,7 @@ public boolean hasTransaction() {
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -1715,6 +1783,7 @@ public com.google.spanner.v1.TransactionSelector getTransaction() {
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -1743,6 +1812,7 @@ public com.google.spanner.v1.TransactionSelectorOrBuilder getTransactionOrBuilde
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -1763,6 +1833,7 @@ public com.google.spanner.v1.TransactionSelectorOrBuilder getTransactionOrBuilde
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -1783,6 +1854,7 @@ public com.google.spanner.v1.TransactionSelectorOrBuilder getTransactionOrBuilde
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -1802,6 +1874,7 @@ public int getStatementsCount() {
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -1821,6 +1894,7 @@ public com.google.spanner.v1.ExecuteBatchDmlRequest.Statement getStatements(int
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -1843,6 +1917,7 @@ public com.google.spanner.v1.ExecuteBatchDmlRequest.StatementOrBuilder getStatem
* Required. A per-transaction sequence number used to identify this request. This field
* makes each request idempotent such that if the request is received multiple
* times, at most one will succeed.
+ *
* The sequence number must be monotonically increasing within the
* transaction. If a request arrives for the first time with an out-of-order
* sequence number, the transaction may be aborted. Replays of previously
@@ -2534,6 +2609,7 @@ public Builder setSessionBytes(com.google.protobuf.ByteString value) {
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -2553,6 +2629,7 @@ public boolean hasTransaction() {
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -2578,6 +2655,7 @@ public com.google.spanner.v1.TransactionSelector getTransaction() {
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -2605,6 +2683,7 @@ public Builder setTransaction(com.google.spanner.v1.TransactionSelector value) {
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -2630,6 +2709,7 @@ public Builder setTransaction(
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -2660,6 +2740,7 @@ public Builder mergeTransaction(com.google.spanner.v1.TransactionSelector value)
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -2684,6 +2765,7 @@ public Builder clearTransaction() {
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -2703,6 +2785,7 @@ public com.google.spanner.v1.TransactionSelector.Builder getTransactionBuilder()
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -2726,6 +2809,7 @@ public com.google.spanner.v1.TransactionSelectorOrBuilder getTransactionOrBuilde
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -2778,6 +2862,7 @@ private void ensureStatementsIsMutable() {
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -2801,6 +2886,7 @@ private void ensureStatementsIsMutable() {
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -2823,6 +2909,7 @@ public int getStatementsCount() {
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -2845,6 +2932,7 @@ public com.google.spanner.v1.ExecuteBatchDmlRequest.Statement getStatements(int
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -2874,6 +2962,7 @@ public Builder setStatements(
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -2900,6 +2989,7 @@ public Builder setStatements(
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -2928,6 +3018,7 @@ public Builder addStatements(com.google.spanner.v1.ExecuteBatchDmlRequest.Statem
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -2957,6 +3048,7 @@ public Builder addStatements(
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -2983,6 +3075,7 @@ public Builder addStatements(
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -3009,6 +3102,7 @@ public Builder addStatements(
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -3036,6 +3130,7 @@ public Builder addAllStatements(
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -3061,6 +3156,7 @@ public Builder clearStatements() {
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -3086,6 +3182,7 @@ public Builder removeStatements(int index) {
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -3105,6 +3202,7 @@ public com.google.spanner.v1.ExecuteBatchDmlRequest.Statement.Builder getStateme
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -3128,6 +3226,7 @@ public com.google.spanner.v1.ExecuteBatchDmlRequest.StatementOrBuilder getStatem
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -3151,6 +3250,7 @@ public com.google.spanner.v1.ExecuteBatchDmlRequest.StatementOrBuilder getStatem
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -3170,6 +3270,7 @@ public com.google.spanner.v1.ExecuteBatchDmlRequest.Statement.Builder addStateme
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -3191,6 +3292,7 @@ public com.google.spanner.v1.ExecuteBatchDmlRequest.Statement.Builder addStateme
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -3228,6 +3330,7 @@ public com.google.spanner.v1.ExecuteBatchDmlRequest.Statement.Builder addStateme
* Required. A per-transaction sequence number used to identify this request. This field
* makes each request idempotent such that if the request is received multiple
* times, at most one will succeed.
+ *
* The sequence number must be monotonically increasing within the
* transaction. If a request arrives for the first time with an out-of-order
* sequence number, the transaction may be aborted. Replays of previously
@@ -3249,6 +3352,7 @@ public long getSeqno() {
* Required. A per-transaction sequence number used to identify this request. This field
* makes each request idempotent such that if the request is received multiple
* times, at most one will succeed.
+ *
* The sequence number must be monotonically increasing within the
* transaction. If a request arrives for the first time with an out-of-order
* sequence number, the transaction may be aborted. Replays of previously
@@ -3274,6 +3378,7 @@ public Builder setSeqno(long value) {
* Required. A per-transaction sequence number used to identify this request. This field
* makes each request idempotent such that if the request is received multiple
* times, at most one will succeed.
+ *
* The sequence number must be monotonically increasing within the
* transaction. If a request arrives for the first time with an out-of-order
* sequence number, the transaction may be aborted. Replays of previously
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlRequestOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlRequestOrBuilder.java
index 87364106697..b0ecb6ff7ca 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlRequestOrBuilder.java
@@ -57,6 +57,7 @@ public interface ExecuteBatchDmlRequestOrBuilder
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -74,6 +75,7 @@ public interface ExecuteBatchDmlRequestOrBuilder
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -91,6 +93,7 @@ public interface ExecuteBatchDmlRequestOrBuilder
*
*
* Required. The transaction to use. Must be a read-write transaction.
+ *
* To protect against replays, single-use transactions are not supported. The
* caller must either supply an existing transaction ID or begin a new
* transaction.
@@ -110,6 +113,7 @@ public interface ExecuteBatchDmlRequestOrBuilder
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -126,6 +130,7 @@ public interface ExecuteBatchDmlRequestOrBuilder
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -142,6 +147,7 @@ public interface ExecuteBatchDmlRequestOrBuilder
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -158,6 +164,7 @@ public interface ExecuteBatchDmlRequestOrBuilder
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -175,6 +182,7 @@ public interface ExecuteBatchDmlRequestOrBuilder
* serially, such that the effects of statement `i` are visible to statement
* `i+1`. Each statement must be a DML statement. Execution stops at the
* first failed statement; the remaining statements are not executed.
+ *
* Callers must provide at least one statement.
*
*
@@ -191,6 +199,7 @@ public interface ExecuteBatchDmlRequestOrBuilder
* Required. A per-transaction sequence number used to identify this request. This field
* makes each request idempotent such that if the request is received multiple
* times, at most one will succeed.
+ *
* The sequence number must be monotonically increasing within the
* transaction. If a request arrives for the first time with an out-of-order
* sequence number, the transaction may be aborted. Replays of previously
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlResponse.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlResponse.java
index 3e7163fe1be..b467bf5feb0 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlResponse.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlResponse.java
@@ -26,16 +26,22 @@
* of [ResultSet][google.spanner.v1.ResultSet] messages, one for each DML statement that has successfully
* executed, in the same order as the statements in the request. If a statement
* fails, the status in the response body identifies the cause of the failure.
+ *
* To check for DML statements that failed, use the following approach:
+ *
* 1. Check the status in the response message. The [google.rpc.Code][google.rpc.Code] enum
* value `OK` indicates that all statements were executed successfully.
* 2. If the status was not `OK`, check the number of result sets in the
* response. If the response contains `N` [ResultSet][google.spanner.v1.ResultSet] messages, then
* statement `N+1` in the request failed.
+ *
* Example 1:
+ *
* * Request: 5 DML statements, all executed successfully.
* * Response: 5 [ResultSet][google.spanner.v1.ResultSet] messages, with the status `OK`.
+ *
* Example 2:
+ *
* * Request: 5 DML statements. The third statement has a syntax error.
* * Response: 2 [ResultSet][google.spanner.v1.ResultSet] messages, and a syntax error (`INVALID_ARGUMENT`)
* status. The number of [ResultSet][google.spanner.v1.ResultSet] messages indicates that the third
@@ -64,11 +70,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ExecuteBatchDmlResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_ExecuteBatchDmlResponse_descriptor;
@@ -96,6 +97,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -114,6 +116,7 @@ public java.util.List getResultSetsList() {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -133,6 +136,7 @@ public java.util.List getResultSetsList() {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -151,6 +155,7 @@ public int getResultSetsCount() {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -169,6 +174,7 @@ public com.google.spanner.v1.ResultSet getResultSets(int index) {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -412,16 +418,22 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* of [ResultSet][google.spanner.v1.ResultSet] messages, one for each DML statement that has successfully
* executed, in the same order as the statements in the request. If a statement
* fails, the status in the response body identifies the cause of the failure.
+ *
* To check for DML statements that failed, use the following approach:
+ *
* 1. Check the status in the response message. The [google.rpc.Code][google.rpc.Code] enum
* value `OK` indicates that all statements were executed successfully.
* 2. If the status was not `OK`, check the number of result sets in the
* response. If the response contains `N` [ResultSet][google.spanner.v1.ResultSet] messages, then
* statement `N+1` in the request failed.
+ *
* Example 1:
+ *
* * Request: 5 DML statements, all executed successfully.
* * Response: 5 [ResultSet][google.spanner.v1.ResultSet] messages, with the status `OK`.
+ *
* Example 2:
+ *
* * Request: 5 DML statements. The third statement has a syntax error.
* * Response: 2 [ResultSet][google.spanner.v1.ResultSet] messages, and a syntax error (`INVALID_ARGUMENT`)
* status. The number of [ResultSet][google.spanner.v1.ResultSet] messages indicates that the third
@@ -688,6 +700,7 @@ private void ensureResultSetsIsMutable() {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -709,6 +722,7 @@ public java.util.List getResultSetsList() {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -730,6 +744,7 @@ public int getResultSetsCount() {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -751,6 +766,7 @@ public com.google.spanner.v1.ResultSet getResultSets(int index) {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -778,6 +794,7 @@ public Builder setResultSets(int index, com.google.spanner.v1.ResultSet value) {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -803,6 +820,7 @@ public Builder setResultSets(
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -830,6 +848,7 @@ public Builder addResultSets(com.google.spanner.v1.ResultSet value) {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -857,6 +876,7 @@ public Builder addResultSets(int index, com.google.spanner.v1.ResultSet value) {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -881,6 +901,7 @@ public Builder addResultSets(com.google.spanner.v1.ResultSet.Builder builderForV
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -906,6 +927,7 @@ public Builder addResultSets(
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -931,6 +953,7 @@ public Builder addAllResultSets(
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -955,6 +978,7 @@ public Builder clearResultSets() {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -979,6 +1003,7 @@ public Builder removeResultSets(int index) {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -996,6 +1021,7 @@ public com.google.spanner.v1.ResultSet.Builder getResultSetsBuilder(int index) {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -1017,6 +1043,7 @@ public com.google.spanner.v1.ResultSetOrBuilder getResultSetsOrBuilder(int index
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -1039,6 +1066,7 @@ public com.google.spanner.v1.ResultSetOrBuilder getResultSetsOrBuilder(int index
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -1057,6 +1085,7 @@ public com.google.spanner.v1.ResultSet.Builder addResultSetsBuilder() {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -1075,6 +1104,7 @@ public com.google.spanner.v1.ResultSet.Builder addResultSetsBuilder(int index) {
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlResponseOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlResponseOrBuilder.java
index b2891c067a8..ac45d58c2fc 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlResponseOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteBatchDmlResponseOrBuilder.java
@@ -31,6 +31,7 @@ public interface ExecuteBatchDmlResponseOrBuilder
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -46,6 +47,7 @@ public interface ExecuteBatchDmlResponseOrBuilder
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -61,6 +63,7 @@ public interface ExecuteBatchDmlResponseOrBuilder
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -76,6 +79,7 @@ public interface ExecuteBatchDmlResponseOrBuilder
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
@@ -91,6 +95,7 @@ public interface ExecuteBatchDmlResponseOrBuilder
* in the same order as the statements in the request. Each [ResultSet][google.spanner.v1.ResultSet] does
* not contain any rows. The [ResultSetStats][google.spanner.v1.ResultSetStats] in each [ResultSet][google.spanner.v1.ResultSet] contain
* the number of rows modified by the statement.
+ *
* Only the first [ResultSet][google.spanner.v1.ResultSet] in the response contains valid
* [ResultSetMetadata][google.spanner.v1.ResultSetMetadata].
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequest.java
index 70f4c8219c2..8418e41cc38 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequest.java
@@ -52,11 +52,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ExecuteSqlRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_ExecuteSqlRequest_descriptor;
@@ -254,20 +249,26 @@ public interface QueryOptionsOrBuilder
*
*
* An option to control the selection of optimizer version.
+ *
* This parameter allows individual queries to pick different query
* optimizer versions.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the
* latest supported query optimizer version. If not specified, Cloud Spanner
* uses the optimizer version set at the database level options. Any other
* positive integer (from the list of supported optimizer versions)
* overrides the default optimizer version for query execution.
+ *
* The list of supported optimizer versions can be queried from
* SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
+ *
* Executing a SQL statement with an invalid optimizer version fails with
* an `INVALID_ARGUMENT` error.
+ *
* See
* https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
* for more information on managing the query optimizer.
+ *
* The `optimizer_version` statement hint has precedence over this setting.
*
*
@@ -281,20 +282,26 @@ public interface QueryOptionsOrBuilder
*
*
* An option to control the selection of optimizer version.
+ *
* This parameter allows individual queries to pick different query
* optimizer versions.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the
* latest supported query optimizer version. If not specified, Cloud Spanner
* uses the optimizer version set at the database level options. Any other
* positive integer (from the list of supported optimizer versions)
* overrides the default optimizer version for query execution.
+ *
* The list of supported optimizer versions can be queried from
* SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
+ *
* Executing a SQL statement with an invalid optimizer version fails with
* an `INVALID_ARGUMENT` error.
+ *
* See
* https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
* for more information on managing the query optimizer.
+ *
* The `optimizer_version` statement hint has precedence over this setting.
*
*
@@ -309,20 +316,26 @@ public interface QueryOptionsOrBuilder
*
*
* An option to control the selection of optimizer statistics package.
+ *
* This parameter allows individual queries to use a different query
* optimizer statistics package.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the latest
* generated statistics package. If not specified, Cloud Spanner uses
* the statistics package set at the database level options, or the latest
* package if the database option is not set.
+ *
* The statistics package requested by the query has to be exempt from
* garbage collection. This can be achieved with the following DDL
* statement:
+ *
* ```
* ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
* ```
+ *
* The list of available statistics packages can be queried from
* `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
+ *
* Executing a SQL statement with an invalid optimizer statistics package
* or with a statistics package that allows garbage collection fails with
* an `INVALID_ARGUMENT` error.
@@ -338,20 +351,26 @@ public interface QueryOptionsOrBuilder
*
*
* An option to control the selection of optimizer statistics package.
+ *
* This parameter allows individual queries to use a different query
* optimizer statistics package.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the latest
* generated statistics package. If not specified, Cloud Spanner uses
* the statistics package set at the database level options, or the latest
* package if the database option is not set.
+ *
* The statistics package requested by the query has to be exempt from
* garbage collection. This can be achieved with the following DDL
* statement:
+ *
* ```
* ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
* ```
+ *
* The list of available statistics packages can be queried from
* `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
+ *
* Executing a SQL statement with an invalid optimizer statistics package
* or with a statistics package that allows garbage collection fails with
* an `INVALID_ARGUMENT` error.
@@ -393,11 +412,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new QueryOptions();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_ExecuteSqlRequest_QueryOptions_descriptor;
@@ -422,20 +436,26 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
*
*
* An option to control the selection of optimizer version.
+ *
* This parameter allows individual queries to pick different query
* optimizer versions.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the
* latest supported query optimizer version. If not specified, Cloud Spanner
* uses the optimizer version set at the database level options. Any other
* positive integer (from the list of supported optimizer versions)
* overrides the default optimizer version for query execution.
+ *
* The list of supported optimizer versions can be queried from
* SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
+ *
* Executing a SQL statement with an invalid optimizer version fails with
* an `INVALID_ARGUMENT` error.
+ *
* See
* https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
* for more information on managing the query optimizer.
+ *
* The `optimizer_version` statement hint has precedence over this setting.
*
*
@@ -460,20 +480,26 @@ public java.lang.String getOptimizerVersion() {
*
*
* An option to control the selection of optimizer version.
+ *
* This parameter allows individual queries to pick different query
* optimizer versions.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the
* latest supported query optimizer version. If not specified, Cloud Spanner
* uses the optimizer version set at the database level options. Any other
* positive integer (from the list of supported optimizer versions)
* overrides the default optimizer version for query execution.
+ *
* The list of supported optimizer versions can be queried from
* SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
+ *
* Executing a SQL statement with an invalid optimizer version fails with
* an `INVALID_ARGUMENT` error.
+ *
* See
* https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
* for more information on managing the query optimizer.
+ *
* The `optimizer_version` statement hint has precedence over this setting.
*
*
@@ -503,20 +529,26 @@ public com.google.protobuf.ByteString getOptimizerVersionBytes() {
*
*
* An option to control the selection of optimizer statistics package.
+ *
* This parameter allows individual queries to use a different query
* optimizer statistics package.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the latest
* generated statistics package. If not specified, Cloud Spanner uses
* the statistics package set at the database level options, or the latest
* package if the database option is not set.
+ *
* The statistics package requested by the query has to be exempt from
* garbage collection. This can be achieved with the following DDL
* statement:
+ *
* ```
* ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
* ```
+ *
* The list of available statistics packages can be queried from
* `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
+ *
* Executing a SQL statement with an invalid optimizer statistics package
* or with a statistics package that allows garbage collection fails with
* an `INVALID_ARGUMENT` error.
@@ -543,20 +575,26 @@ public java.lang.String getOptimizerStatisticsPackage() {
*
*
* An option to control the selection of optimizer statistics package.
+ *
* This parameter allows individual queries to use a different query
* optimizer statistics package.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the latest
* generated statistics package. If not specified, Cloud Spanner uses
* the statistics package set at the database level options, or the latest
* package if the database option is not set.
+ *
* The statistics package requested by the query has to be exempt from
* garbage collection. This can be achieved with the following DDL
* statement:
+ *
* ```
* ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
* ```
+ *
* The list of available statistics packages can be queried from
* `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
+ *
* Executing a SQL statement with an invalid optimizer statistics package
* or with a statistics package that allows garbage collection fails with
* an `INVALID_ARGUMENT` error.
@@ -959,20 +997,26 @@ public Builder mergeFrom(
*
*
* An option to control the selection of optimizer version.
+ *
* This parameter allows individual queries to pick different query
* optimizer versions.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the
* latest supported query optimizer version. If not specified, Cloud Spanner
* uses the optimizer version set at the database level options. Any other
* positive integer (from the list of supported optimizer versions)
* overrides the default optimizer version for query execution.
+ *
* The list of supported optimizer versions can be queried from
* SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
+ *
* Executing a SQL statement with an invalid optimizer version fails with
* an `INVALID_ARGUMENT` error.
+ *
* See
* https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
* for more information on managing the query optimizer.
+ *
* The `optimizer_version` statement hint has precedence over this setting.
*
*
@@ -996,20 +1040,26 @@ public java.lang.String getOptimizerVersion() {
*
*
* An option to control the selection of optimizer version.
+ *
* This parameter allows individual queries to pick different query
* optimizer versions.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the
* latest supported query optimizer version. If not specified, Cloud Spanner
* uses the optimizer version set at the database level options. Any other
* positive integer (from the list of supported optimizer versions)
* overrides the default optimizer version for query execution.
+ *
* The list of supported optimizer versions can be queried from
* SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
+ *
* Executing a SQL statement with an invalid optimizer version fails with
* an `INVALID_ARGUMENT` error.
+ *
* See
* https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
* for more information on managing the query optimizer.
+ *
* The `optimizer_version` statement hint has precedence over this setting.
*
*
@@ -1033,20 +1083,26 @@ public com.google.protobuf.ByteString getOptimizerVersionBytes() {
*
*
* An option to control the selection of optimizer version.
+ *
* This parameter allows individual queries to pick different query
* optimizer versions.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the
* latest supported query optimizer version. If not specified, Cloud Spanner
* uses the optimizer version set at the database level options. Any other
* positive integer (from the list of supported optimizer versions)
* overrides the default optimizer version for query execution.
+ *
* The list of supported optimizer versions can be queried from
* SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
+ *
* Executing a SQL statement with an invalid optimizer version fails with
* an `INVALID_ARGUMENT` error.
+ *
* See
* https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
* for more information on managing the query optimizer.
+ *
* The `optimizer_version` statement hint has precedence over this setting.
*
*
@@ -1069,20 +1125,26 @@ public Builder setOptimizerVersion(java.lang.String value) {
*
*
* An option to control the selection of optimizer version.
+ *
* This parameter allows individual queries to pick different query
* optimizer versions.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the
* latest supported query optimizer version. If not specified, Cloud Spanner
* uses the optimizer version set at the database level options. Any other
* positive integer (from the list of supported optimizer versions)
* overrides the default optimizer version for query execution.
+ *
* The list of supported optimizer versions can be queried from
* SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
+ *
* Executing a SQL statement with an invalid optimizer version fails with
* an `INVALID_ARGUMENT` error.
+ *
* See
* https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
* for more information on managing the query optimizer.
+ *
* The `optimizer_version` statement hint has precedence over this setting.
*
*
@@ -1101,20 +1163,26 @@ public Builder clearOptimizerVersion() {
*
*
* An option to control the selection of optimizer version.
+ *
* This parameter allows individual queries to pick different query
* optimizer versions.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the
* latest supported query optimizer version. If not specified, Cloud Spanner
* uses the optimizer version set at the database level options. Any other
* positive integer (from the list of supported optimizer versions)
* overrides the default optimizer version for query execution.
+ *
* The list of supported optimizer versions can be queried from
* SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS.
+ *
* Executing a SQL statement with an invalid optimizer version fails with
* an `INVALID_ARGUMENT` error.
+ *
* See
* https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer
* for more information on managing the query optimizer.
+ *
* The `optimizer_version` statement hint has precedence over this setting.
*
*
@@ -1140,20 +1208,26 @@ public Builder setOptimizerVersionBytes(com.google.protobuf.ByteString value) {
*
*
* An option to control the selection of optimizer statistics package.
+ *
* This parameter allows individual queries to use a different query
* optimizer statistics package.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the latest
* generated statistics package. If not specified, Cloud Spanner uses
* the statistics package set at the database level options, or the latest
* package if the database option is not set.
+ *
* The statistics package requested by the query has to be exempt from
* garbage collection. This can be achieved with the following DDL
* statement:
+ *
* ```
* ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
* ```
+ *
* The list of available statistics packages can be queried from
* `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
+ *
* Executing a SQL statement with an invalid optimizer statistics package
* or with a statistics package that allows garbage collection fails with
* an `INVALID_ARGUMENT` error.
@@ -1179,20 +1253,26 @@ public java.lang.String getOptimizerStatisticsPackage() {
*
*
* An option to control the selection of optimizer statistics package.
+ *
* This parameter allows individual queries to use a different query
* optimizer statistics package.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the latest
* generated statistics package. If not specified, Cloud Spanner uses
* the statistics package set at the database level options, or the latest
* package if the database option is not set.
+ *
* The statistics package requested by the query has to be exempt from
* garbage collection. This can be achieved with the following DDL
* statement:
+ *
* ```
* ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
* ```
+ *
* The list of available statistics packages can be queried from
* `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
+ *
* Executing a SQL statement with an invalid optimizer statistics package
* or with a statistics package that allows garbage collection fails with
* an `INVALID_ARGUMENT` error.
@@ -1218,20 +1298,26 @@ public com.google.protobuf.ByteString getOptimizerStatisticsPackageBytes() {
*
*
* An option to control the selection of optimizer statistics package.
+ *
* This parameter allows individual queries to use a different query
* optimizer statistics package.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the latest
* generated statistics package. If not specified, Cloud Spanner uses
* the statistics package set at the database level options, or the latest
* package if the database option is not set.
+ *
* The statistics package requested by the query has to be exempt from
* garbage collection. This can be achieved with the following DDL
* statement:
+ *
* ```
* ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
* ```
+ *
* The list of available statistics packages can be queried from
* `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
+ *
* Executing a SQL statement with an invalid optimizer statistics package
* or with a statistics package that allows garbage collection fails with
* an `INVALID_ARGUMENT` error.
@@ -1256,20 +1342,26 @@ public Builder setOptimizerStatisticsPackage(java.lang.String value) {
*
*
* An option to control the selection of optimizer statistics package.
+ *
* This parameter allows individual queries to use a different query
* optimizer statistics package.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the latest
* generated statistics package. If not specified, Cloud Spanner uses
* the statistics package set at the database level options, or the latest
* package if the database option is not set.
+ *
* The statistics package requested by the query has to be exempt from
* garbage collection. This can be achieved with the following DDL
* statement:
+ *
* ```
* ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
* ```
+ *
* The list of available statistics packages can be queried from
* `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
+ *
* Executing a SQL statement with an invalid optimizer statistics package
* or with a statistics package that allows garbage collection fails with
* an `INVALID_ARGUMENT` error.
@@ -1290,20 +1382,26 @@ public Builder clearOptimizerStatisticsPackage() {
*
*
* An option to control the selection of optimizer statistics package.
+ *
* This parameter allows individual queries to use a different query
* optimizer statistics package.
+ *
* Specifying `latest` as a value instructs Cloud Spanner to use the latest
* generated statistics package. If not specified, Cloud Spanner uses
* the statistics package set at the database level options, or the latest
* package if the database option is not set.
+ *
* The statistics package requested by the query has to be exempt from
* garbage collection. This can be achieved with the following DDL
* statement:
+ *
* ```
* ALTER STATISTICS <package_name> SET OPTIONS (allow_gc=false)
* ```
+ *
* The list of available statistics packages can be queried from
* `INFORMATION_SCHEMA.SPANNER_STATISTICS`.
+ *
* Executing a SQL statement with an invalid optimizer statistics package
* or with a statistics package that allows garbage collection fails with
* an `INVALID_ARGUMENT` error.
@@ -1451,11 +1549,14 @@ public com.google.protobuf.ByteString getSessionBytes() {
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -1472,11 +1573,14 @@ public boolean hasTransaction() {
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -1495,11 +1599,14 @@ public com.google.spanner.v1.TransactionSelector getTransaction() {
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -1570,13 +1677,17 @@ public com.google.protobuf.ByteString getSqlBytes() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1593,13 +1704,17 @@ public boolean hasParams() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1616,13 +1731,17 @@ public com.google.protobuf.Struct getParams() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1669,6 +1788,7 @@ public int getParamTypesCount() {
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1697,6 +1817,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1716,6 +1837,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1743,6 +1865,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1856,10 +1979,12 @@ public com.google.protobuf.ByteString getPartitionToken() {
* A per-transaction sequence number used to identify this request. This field
* makes each request idempotent such that if the request is received multiple
* times, at most one will succeed.
+ *
* The sequence number must be monotonically increasing within the
* transaction. If a request arrives for the first time with an out-of-order
* sequence number, the transaction may be aborted. Replays of previously
* handled requests will yield the same response as the first execution.
+ *
* Required for DML statements. Ignored for queries.
*
*
@@ -1980,6 +2105,7 @@ public com.google.spanner.v1.RequestOptionsOrBuilder getRequestOptionsOrBuilder(
*
* If this is for a partitioned query and this field is set to `true`, the
* request will be executed via Spanner independent compute resources.
+ *
* If the field is set to `true` but the request does not set
* `partition_token`, the API will return an `INVALID_ARGUMENT` error.
*
@@ -2779,11 +2905,14 @@ public Builder setSessionBytes(com.google.protobuf.ByteString value) {
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -2799,11 +2928,14 @@ public boolean hasTransaction() {
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -2825,11 +2957,14 @@ public com.google.spanner.v1.TransactionSelector getTransaction() {
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -2853,11 +2988,14 @@ public Builder setTransaction(com.google.spanner.v1.TransactionSelector value) {
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -2879,11 +3017,14 @@ public Builder setTransaction(
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -2910,11 +3051,14 @@ public Builder mergeTransaction(com.google.spanner.v1.TransactionSelector value)
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -2935,11 +3079,14 @@ public Builder clearTransaction() {
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -2955,11 +3102,14 @@ public com.google.spanner.v1.TransactionSelector.Builder getTransactionBuilder()
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -2979,11 +3129,14 @@ public com.google.spanner.v1.TransactionSelectorOrBuilder getTransactionOrBuilde
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -3123,13 +3276,17 @@ public Builder setSqlBytes(com.google.protobuf.ByteString value) {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -3145,13 +3302,17 @@ public boolean hasParams() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -3171,13 +3332,17 @@ public com.google.protobuf.Struct getParams() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -3201,13 +3366,17 @@ public Builder setParams(com.google.protobuf.Struct value) {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -3228,13 +3397,17 @@ public Builder setParams(com.google.protobuf.Struct.Builder builderForValue) {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -3261,13 +3434,17 @@ public Builder mergeParams(com.google.protobuf.Struct value) {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -3288,13 +3465,17 @@ public Builder clearParams() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -3310,13 +3491,17 @@ public com.google.protobuf.Struct.Builder getParamsBuilder() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -3334,13 +3519,17 @@ public com.google.protobuf.StructOrBuilder getParamsOrBuilder() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -3398,6 +3587,7 @@ public int getParamTypesCount() {
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -3426,6 +3616,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -3445,6 +3636,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -3472,6 +3664,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -3505,6 +3698,7 @@ public Builder clearParamTypes() {
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -3533,6 +3727,7 @@ public java.util.Map getMutablePar
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -3559,6 +3754,7 @@ public Builder putParamTypes(java.lang.String key, com.google.spanner.v1.Type va
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -3818,10 +4014,12 @@ public Builder clearPartitionToken() {
* A per-transaction sequence number used to identify this request. This field
* makes each request idempotent such that if the request is received multiple
* times, at most one will succeed.
+ *
* The sequence number must be monotonically increasing within the
* transaction. If a request arrives for the first time with an out-of-order
* sequence number, the transaction may be aborted. Replays of previously
* handled requests will yield the same response as the first execution.
+ *
* Required for DML statements. Ignored for queries.
*
*
@@ -3840,10 +4038,12 @@ public long getSeqno() {
* A per-transaction sequence number used to identify this request. This field
* makes each request idempotent such that if the request is received multiple
* times, at most one will succeed.
+ *
* The sequence number must be monotonically increasing within the
* transaction. If a request arrives for the first time with an out-of-order
* sequence number, the transaction may be aborted. Replays of previously
* handled requests will yield the same response as the first execution.
+ *
* Required for DML statements. Ignored for queries.
*
*
@@ -3866,10 +4066,12 @@ public Builder setSeqno(long value) {
* A per-transaction sequence number used to identify this request. This field
* makes each request idempotent such that if the request is received multiple
* times, at most one will succeed.
+ *
* The sequence number must be monotonically increasing within the
* transaction. If a request arrives for the first time with an out-of-order
* sequence number, the transaction may be aborted. Replays of previously
* handled requests will yield the same response as the first execution.
+ *
* Required for DML statements. Ignored for queries.
*
*
@@ -4260,6 +4462,7 @@ public com.google.spanner.v1.RequestOptionsOrBuilder getRequestOptionsOrBuilder(
*
* If this is for a partitioned query and this field is set to `true`, the
* request will be executed via Spanner independent compute resources.
+ *
* If the field is set to `true` but the request does not set
* `partition_token`, the API will return an `INVALID_ARGUMENT` error.
*
@@ -4278,6 +4481,7 @@ public boolean getDataBoostEnabled() {
*
* If this is for a partitioned query and this field is set to `true`, the
* request will be executed via Spanner independent compute resources.
+ *
* If the field is set to `true` but the request does not set
* `partition_token`, the API will return an `INVALID_ARGUMENT` error.
*
@@ -4300,6 +4504,7 @@ public Builder setDataBoostEnabled(boolean value) {
*
* If this is for a partitioned query and this field is set to `true`, the
* request will be executed via Spanner independent compute resources.
+ *
* If the field is set to `true` but the request does not set
* `partition_token`, the API will return an `INVALID_ARGUMENT` error.
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequestOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequestOrBuilder.java
index 832c2f3c503..1bfb3f43749 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequestOrBuilder.java
@@ -57,11 +57,14 @@ public interface ExecuteSqlRequestOrBuilder
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -75,11 +78,14 @@ public interface ExecuteSqlRequestOrBuilder
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -93,11 +99,14 @@ public interface ExecuteSqlRequestOrBuilder
*
*
* The transaction to use.
+ *
* For queries, if none is provided, the default is a temporary read-only
* transaction with strong concurrency.
+ *
* Standard DML statements require a read-write transaction. To protect
* against replays, single-use transactions are not supported. The caller
* must either supply an existing transaction ID or begin a new transaction.
+ *
* Partitioned DML requires an existing Partitioned DML transaction ID.
*
*
@@ -135,13 +144,17 @@ public interface ExecuteSqlRequestOrBuilder
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -155,13 +168,17 @@ public interface ExecuteSqlRequestOrBuilder
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -175,13 +192,17 @@ public interface ExecuteSqlRequestOrBuilder
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names must conform
* to the naming requirements of identifiers as specified at
* https://cloud.google.com/spanner/docs/lexical#identifiers.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -196,6 +217,7 @@ public interface ExecuteSqlRequestOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -212,6 +234,7 @@ public interface ExecuteSqlRequestOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -231,6 +254,7 @@ public interface ExecuteSqlRequestOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -247,6 +271,7 @@ public interface ExecuteSqlRequestOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -267,6 +292,7 @@ com.google.spanner.v1.Type getParamTypesOrDefault(
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.ExecuteSqlRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL statement parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -347,10 +373,12 @@ com.google.spanner.v1.Type getParamTypesOrDefault(
* A per-transaction sequence number used to identify this request. This field
* makes each request idempotent such that if the request is received multiple
* times, at most one will succeed.
+ *
* The sequence number must be monotonically increasing within the
* transaction. If a request arrives for the first time with an out-of-order
* sequence number, the transaction may be aborted. Replays of previously
* handled requests will yield the same response as the first execution.
+ *
* Required for DML statements. Ignored for queries.
*
*
@@ -436,6 +464,7 @@ com.google.spanner.v1.Type getParamTypesOrDefault(
*
* If this is for a partitioned query and this field is set to `true`, the
* request will be executed via Spanner independent compute resources.
+ *
* If the field is set to `true` but the request does not set
* `partition_token`, the API will return an `INVALID_ARGUMENT` error.
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/GetSessionRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/GetSessionRequest.java
index cef307ed07e..0a78d665a60 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/GetSessionRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/GetSessionRequest.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new GetSessionRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_GetSessionRequest_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeyRange.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeyRange.java
index 2848ab4bdd3..6eb2bd0e2ac 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeyRange.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeyRange.java
@@ -23,64 +23,91 @@
*
*
* KeyRange represents a range of rows in a table or index.
+ *
* A range has a start key and an end key. These keys can be open or
* closed, indicating if the range includes rows with that key.
+ *
* Keys are represented by lists, where the ith value in the list
* corresponds to the ith component of the table or index primary key.
* Individual values are encoded as described
* [here][google.spanner.v1.TypeCode].
+ *
* For example, consider the following table definition:
+ *
* CREATE TABLE UserEvents (
* UserName STRING(MAX),
* EventDate STRING(10)
* ) PRIMARY KEY(UserName, EventDate);
+ *
* The following keys name rows in this table:
+ *
* ["Bob", "2014-09-23"]
* ["Alfred", "2015-06-12"]
+ *
* Since the `UserEvents` table's `PRIMARY KEY` clause names two
* columns, each `UserEvents` key has two elements; the first is the
* `UserName`, and the second is the `EventDate`.
+ *
* Key ranges with multiple components are interpreted
* lexicographically by component using the table or index key's declared
* sort order. For example, the following range returns all events for
* user `"Bob"` that occurred in the year 2015:
+ *
* "start_closed": ["Bob", "2015-01-01"]
* "end_closed": ["Bob", "2015-12-31"]
+ *
* Start and end keys can omit trailing key components. This affects the
* inclusion and exclusion of rows that exactly match the provided key
* components: if the key is closed, then rows that exactly match the
* provided components are included; if the key is open, then rows
* that exactly match are not included.
+ *
* For example, the following range includes all events for `"Bob"` that
* occurred during and after the year 2000:
+ *
* "start_closed": ["Bob", "2000-01-01"]
* "end_closed": ["Bob"]
+ *
* The next example retrieves all events for `"Bob"`:
+ *
* "start_closed": ["Bob"]
* "end_closed": ["Bob"]
+ *
* To retrieve events before the year 2000:
+ *
* "start_closed": ["Bob"]
* "end_open": ["Bob", "2000-01-01"]
+ *
* The following range includes all rows in the table:
+ *
* "start_closed": []
* "end_closed": []
+ *
* This range returns all users whose `UserName` begins with any
* character from A to C:
+ *
* "start_closed": ["A"]
* "end_open": ["D"]
+ *
* This range returns all users whose `UserName` begins with B:
+ *
* "start_closed": ["B"]
* "end_open": ["C"]
+ *
* Key ranges honor column sort order. For example, suppose a table is
* defined as follows:
+ *
* CREATE TABLE DescendingSortedTable {
* Key INT64,
* ...
* ) PRIMARY KEY(Key DESC);
+ *
* The following range retrieves all rows with key values between 1
* and 100 inclusive:
+ *
* "start_closed": ["100"]
* "end_closed": ["1"]
+ *
* Note that 100 is passed as the start, and 1 is passed as the end,
* because `Key` is a descending column in the schema.
*
@@ -105,11 +132,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new KeyRange();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.KeysProto.internal_static_google_spanner_v1_KeyRange_descriptor;
}
@@ -124,6 +146,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
}
private int startKeyTypeCase_ = 0;
+
+ @SuppressWarnings("serial")
private java.lang.Object startKeyType_;
public enum StartKeyTypeCase
@@ -171,6 +195,8 @@ public StartKeyTypeCase getStartKeyTypeCase() {
}
private int endKeyTypeCase_ = 0;
+
+ @SuppressWarnings("serial")
private java.lang.Object endKeyType_;
public enum EndKeyTypeCase
@@ -664,64 +690,91 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
*
*
* KeyRange represents a range of rows in a table or index.
+ *
* A range has a start key and an end key. These keys can be open or
* closed, indicating if the range includes rows with that key.
+ *
* Keys are represented by lists, where the ith value in the list
* corresponds to the ith component of the table or index primary key.
* Individual values are encoded as described
* [here][google.spanner.v1.TypeCode].
+ *
* For example, consider the following table definition:
+ *
* CREATE TABLE UserEvents (
* UserName STRING(MAX),
* EventDate STRING(10)
* ) PRIMARY KEY(UserName, EventDate);
+ *
* The following keys name rows in this table:
+ *
* ["Bob", "2014-09-23"]
* ["Alfred", "2015-06-12"]
+ *
* Since the `UserEvents` table's `PRIMARY KEY` clause names two
* columns, each `UserEvents` key has two elements; the first is the
* `UserName`, and the second is the `EventDate`.
+ *
* Key ranges with multiple components are interpreted
* lexicographically by component using the table or index key's declared
* sort order. For example, the following range returns all events for
* user `"Bob"` that occurred in the year 2015:
+ *
* "start_closed": ["Bob", "2015-01-01"]
* "end_closed": ["Bob", "2015-12-31"]
+ *
* Start and end keys can omit trailing key components. This affects the
* inclusion and exclusion of rows that exactly match the provided key
* components: if the key is closed, then rows that exactly match the
* provided components are included; if the key is open, then rows
* that exactly match are not included.
+ *
* For example, the following range includes all events for `"Bob"` that
* occurred during and after the year 2000:
+ *
* "start_closed": ["Bob", "2000-01-01"]
* "end_closed": ["Bob"]
+ *
* The next example retrieves all events for `"Bob"`:
+ *
* "start_closed": ["Bob"]
* "end_closed": ["Bob"]
+ *
* To retrieve events before the year 2000:
+ *
* "start_closed": ["Bob"]
* "end_open": ["Bob", "2000-01-01"]
+ *
* The following range includes all rows in the table:
+ *
* "start_closed": []
* "end_closed": []
+ *
* This range returns all users whose `UserName` begins with any
* character from A to C:
+ *
* "start_closed": ["A"]
* "end_open": ["D"]
+ *
* This range returns all users whose `UserName` begins with B:
+ *
* "start_closed": ["B"]
* "end_open": ["C"]
+ *
* Key ranges honor column sort order. For example, suppose a table is
* defined as follows:
+ *
* CREATE TABLE DescendingSortedTable {
* Key INT64,
* ...
* ) PRIMARY KEY(Key DESC);
+ *
* The following range retrieves all rows with key values between 1
* and 100 inclusive:
+ *
* "start_closed": ["100"]
* "end_closed": ["1"]
+ *
* Note that 100 is passed as the start, and 1 is passed as the end,
* because `Key` is a descending column in the schema.
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeyRangeOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeyRangeOrBuilder.java
index c6a5e89496f..77a2acdc324 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeyRangeOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeyRangeOrBuilder.java
@@ -175,7 +175,7 @@ public interface KeyRangeOrBuilder
*/
com.google.protobuf.ListValueOrBuilder getEndOpenOrBuilder();
- public com.google.spanner.v1.KeyRange.StartKeyTypeCase getStartKeyTypeCase();
+ com.google.spanner.v1.KeyRange.StartKeyTypeCase getStartKeyTypeCase();
- public com.google.spanner.v1.KeyRange.EndKeyTypeCase getEndKeyTypeCase();
+ com.google.spanner.v1.KeyRange.EndKeyTypeCase getEndKeyTypeCase();
}
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeySet.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeySet.java
index fca1f9f6fbb..d89ccd74fcb 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeySet.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeySet.java
@@ -25,6 +25,7 @@
* `KeySet` defines a collection of Cloud Spanner keys and/or key ranges. All
* the keys are expected to be in the same table or index. The keys need
* not be sorted in any particular way.
+ *
* If the same key is specified multiple times in the set (for example
* if two ranges, two keys, or a key and a range overlap), Cloud Spanner
* behaves as if the key were only specified once.
@@ -53,11 +54,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new KeySet();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.KeysProto.internal_static_google_spanner_v1_KeySet_descriptor;
}
@@ -438,6 +434,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* `KeySet` defines a collection of Cloud Spanner keys and/or key ranges. All
* the keys are expected to be in the same table or index. The keys need
* not be sorted in any particular way.
+ *
* If the same key is specified multiple times in the set (for example
* if two ranges, two keys, or a key and a range overlap), Cloud Spanner
* behaves as if the key were only specified once.
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsRequest.java
index fb6f3e29725..067526b246f 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsRequest.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListSessionsRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_ListSessionsRequest_descriptor;
@@ -208,8 +203,11 @@ public com.google.protobuf.ByteString getPageTokenBytes() {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `labels.env:*` --> The session has the label "env".
* * `labels.env:dev` --> The session has the label "env" and the value of
* the label contains the string "dev".
@@ -237,8 +235,11 @@ public java.lang.String getFilter() {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `labels.env:*` --> The session has the label "env".
* * `labels.env:dev` --> The session has the label "env" and the value of
* the label contains the string "dev".
@@ -967,8 +968,11 @@ public Builder setPageTokenBytes(com.google.protobuf.ByteString value) {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `labels.env:*` --> The session has the label "env".
* * `labels.env:dev` --> The session has the label "env" and the value of
* the label contains the string "dev".
@@ -995,8 +999,11 @@ public java.lang.String getFilter() {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `labels.env:*` --> The session has the label "env".
* * `labels.env:dev` --> The session has the label "env" and the value of
* the label contains the string "dev".
@@ -1023,8 +1030,11 @@ public com.google.protobuf.ByteString getFilterBytes() {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `labels.env:*` --> The session has the label "env".
* * `labels.env:dev` --> The session has the label "env" and the value of
* the label contains the string "dev".
@@ -1050,8 +1060,11 @@ public Builder setFilter(java.lang.String value) {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `labels.env:*` --> The session has the label "env".
* * `labels.env:dev` --> The session has the label "env" and the value of
* the label contains the string "dev".
@@ -1073,8 +1086,11 @@ public Builder clearFilter() {
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `labels.env:*` --> The session has the label "env".
* * `labels.env:dev` --> The session has the label "env" and the value of
* the label contains the string "dev".
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsRequestOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsRequestOrBuilder.java
index 98c63809bbc..9588536d71d 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsRequestOrBuilder.java
@@ -101,8 +101,11 @@ public interface ListSessionsRequestOrBuilder
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `labels.env:*` --> The session has the label "env".
* * `labels.env:dev` --> The session has the label "env" and the value of
* the label contains the string "dev".
@@ -119,8 +122,11 @@ public interface ListSessionsRequestOrBuilder
*
* An expression for filtering the results of the request. Filter rules are
* case insensitive. The fields eligible for filtering are:
+ *
* * `labels.key` where key is the name of a label
+ *
* Some examples of using filters are:
+ *
* * `labels.env:*` --> The session has the label "env".
* * `labels.env:dev` --> The session has the label "env" and the value of
* the label contains the string "dev".
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsResponse.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsResponse.java
index 204cd5a790f..820f48dcd7f 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsResponse.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ListSessionsResponse.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ListSessionsResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_ListSessionsResponse_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Mutation.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Mutation.java
index 9c06e66de8f..96d2dcea3ea 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Mutation.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Mutation.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new Mutation();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.MutationProto
.internal_static_google_spanner_v1_Mutation_descriptor;
@@ -101,6 +96,7 @@ public interface WriteOrBuilder
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -116,6 +112,7 @@ public interface WriteOrBuilder
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -131,6 +128,7 @@ public interface WriteOrBuilder
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -147,6 +145,7 @@ public interface WriteOrBuilder
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -267,7 +266,7 @@ private Write(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
private Write() {
table_ = "";
- columns_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ columns_ = com.google.protobuf.LazyStringArrayList.emptyList();
values_ = java.util.Collections.emptyList();
}
@@ -277,11 +276,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new Write();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.MutationProto
.internal_static_google_spanner_v1_Mutation_Write_descriptor;
@@ -351,12 +345,14 @@ public com.google.protobuf.ByteString getTableBytes() {
public static final int COLUMNS_FIELD_NUMBER = 2;
@SuppressWarnings("serial")
- private com.google.protobuf.LazyStringList columns_;
+ private com.google.protobuf.LazyStringArrayList columns_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -374,6 +370,7 @@ public com.google.protobuf.ProtocolStringList getColumnsList() {
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -391,6 +388,7 @@ public int getColumnsCount() {
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -409,6 +407,7 @@ public java.lang.String getColumns(int index) {
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -757,8 +756,7 @@ public Builder clear() {
super.clear();
bitField0_ = 0;
table_ = "";
- columns_ = com.google.protobuf.LazyStringArrayList.EMPTY;
- bitField0_ = (bitField0_ & ~0x00000002);
+ columns_ = com.google.protobuf.LazyStringArrayList.emptyList();
if (valuesBuilder_ == null) {
values_ = java.util.Collections.emptyList();
} else {
@@ -802,11 +800,6 @@ public com.google.spanner.v1.Mutation.Write buildPartial() {
}
private void buildPartialRepeatedFields(com.google.spanner.v1.Mutation.Write result) {
- if (((bitField0_ & 0x00000002) != 0)) {
- columns_ = columns_.getUnmodifiableView();
- bitField0_ = (bitField0_ & ~0x00000002);
- }
- result.columns_ = columns_;
if (valuesBuilder_ == null) {
if (((bitField0_ & 0x00000004) != 0)) {
values_ = java.util.Collections.unmodifiableList(values_);
@@ -823,6 +816,10 @@ private void buildPartial0(com.google.spanner.v1.Mutation.Write result) {
if (((from_bitField0_ & 0x00000001) != 0)) {
result.table_ = table_;
}
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ columns_.makeImmutable();
+ result.columns_ = columns_;
+ }
}
@java.lang.Override
@@ -880,7 +877,7 @@ public Builder mergeFrom(com.google.spanner.v1.Mutation.Write other) {
if (!other.columns_.isEmpty()) {
if (columns_.isEmpty()) {
columns_ = other.columns_;
- bitField0_ = (bitField0_ & ~0x00000002);
+ bitField0_ |= 0x00000002;
} else {
ensureColumnsIsMutable();
columns_.addAll(other.columns_);
@@ -1090,20 +1087,21 @@ public Builder setTableBytes(com.google.protobuf.ByteString value) {
return this;
}
- private com.google.protobuf.LazyStringList columns_ =
- com.google.protobuf.LazyStringArrayList.EMPTY;
+ private com.google.protobuf.LazyStringArrayList columns_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureColumnsIsMutable() {
- if (!((bitField0_ & 0x00000002) != 0)) {
+ if (!columns_.isModifiable()) {
columns_ = new com.google.protobuf.LazyStringArrayList(columns_);
- bitField0_ |= 0x00000002;
}
+ bitField0_ |= 0x00000002;
}
/**
*
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -1114,13 +1112,15 @@ private void ensureColumnsIsMutable() {
* @return A list containing the columns.
*/
public com.google.protobuf.ProtocolStringList getColumnsList() {
- return columns_.getUnmodifiableView();
+ columns_.makeImmutable();
+ return columns_;
}
/**
*
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -1138,6 +1138,7 @@ public int getColumnsCount() {
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -1156,6 +1157,7 @@ public java.lang.String getColumns(int index) {
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -1174,6 +1176,7 @@ public com.google.protobuf.ByteString getColumnsBytes(int index) {
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -1191,6 +1194,7 @@ public Builder setColumns(int index, java.lang.String value) {
}
ensureColumnsIsMutable();
columns_.set(index, value);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -1199,6 +1203,7 @@ public Builder setColumns(int index, java.lang.String value) {
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -1215,6 +1220,7 @@ public Builder addColumns(java.lang.String value) {
}
ensureColumnsIsMutable();
columns_.add(value);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -1223,6 +1229,7 @@ public Builder addColumns(java.lang.String value) {
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -1236,6 +1243,7 @@ public Builder addColumns(java.lang.String value) {
public Builder addAllColumns(java.lang.Iterable values) {
ensureColumnsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, columns_);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -1244,6 +1252,7 @@ public Builder addAllColumns(java.lang.Iterable values) {
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -1254,8 +1263,9 @@ public Builder addAllColumns(java.lang.Iterable values) {
* @return This builder for chaining.
*/
public Builder clearColumns() {
- columns_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ columns_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000002);
+ ;
onChanged();
return this;
}
@@ -1264,6 +1274,7 @@ public Builder clearColumns() {
*
*
* The names of the columns in [table][google.spanner.v1.Mutation.Write.table] to be written.
+ *
* The list of columns must contain enough columns to allow
* Cloud Spanner to derive values for all primary key columns in the
* row(s) to be modified.
@@ -1281,6 +1292,7 @@ public Builder addColumnsBytes(com.google.protobuf.ByteString value) {
checkByteStringIsUtf8(value);
ensureColumnsIsMutable();
columns_.add(value);
+ bitField0_ |= 0x00000002;
onChanged();
return this;
}
@@ -1930,11 +1942,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new Delete();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.MutationProto
.internal_static_google_spanner_v1_Mutation_Delete_descriptor;
@@ -2841,6 +2848,8 @@ public com.google.spanner.v1.Mutation.Delete getDefaultInstanceForType() {
}
private int operationCase_ = 0;
+
+ @SuppressWarnings("serial")
private java.lang.Object operation_;
public enum OperationCase
@@ -3012,6 +3021,7 @@ public com.google.spanner.v1.Mutation.WriteOrBuilder getUpdateOrBuilder() {
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -3032,6 +3042,7 @@ public boolean hasInsertOrUpdate() {
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -3055,6 +3066,7 @@ public com.google.spanner.v1.Mutation.Write getInsertOrUpdate() {
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -3079,6 +3091,7 @@ public com.google.spanner.v1.Mutation.WriteOrBuilder getInsertOrUpdateOrBuilder(
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -3101,6 +3114,7 @@ public boolean hasReplace() {
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -3126,6 +3140,7 @@ public com.google.spanner.v1.Mutation.Write getReplace() {
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -4154,6 +4169,7 @@ public com.google.spanner.v1.Mutation.WriteOrBuilder getUpdateOrBuilder() {
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -4174,6 +4190,7 @@ public boolean hasInsertOrUpdate() {
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -4204,6 +4221,7 @@ public com.google.spanner.v1.Mutation.Write getInsertOrUpdate() {
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -4231,6 +4249,7 @@ public Builder setInsertOrUpdate(com.google.spanner.v1.Mutation.Write value) {
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -4255,6 +4274,7 @@ public Builder setInsertOrUpdate(com.google.spanner.v1.Mutation.Write.Builder bu
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -4292,6 +4312,7 @@ public Builder mergeInsertOrUpdate(com.google.spanner.v1.Mutation.Write value) {
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -4322,6 +4343,7 @@ public Builder clearInsertOrUpdate() {
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -4339,6 +4361,7 @@ public com.google.spanner.v1.Mutation.Write.Builder getInsertOrUpdateBuilder() {
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -4364,6 +4387,7 @@ public com.google.spanner.v1.Mutation.WriteOrBuilder getInsertOrUpdateOrBuilder(
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -4408,6 +4432,7 @@ public com.google.spanner.v1.Mutation.WriteOrBuilder getInsertOrUpdateOrBuilder(
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -4430,6 +4455,7 @@ public boolean hasReplace() {
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -4462,6 +4488,7 @@ public com.google.spanner.v1.Mutation.Write getReplace() {
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -4491,6 +4518,7 @@ public Builder setReplace(com.google.spanner.v1.Mutation.Write value) {
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -4517,6 +4545,7 @@ public Builder setReplace(com.google.spanner.v1.Mutation.Write.Builder builderFo
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -4556,6 +4585,7 @@ public Builder mergeReplace(com.google.spanner.v1.Mutation.Write value) {
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -4588,6 +4618,7 @@ public Builder clearReplace() {
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -4607,6 +4638,7 @@ public com.google.spanner.v1.Mutation.Write.Builder getReplaceBuilder() {
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -4634,6 +4666,7 @@ public com.google.spanner.v1.Mutation.WriteOrBuilder getReplaceOrBuilder() {
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/MutationOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/MutationOrBuilder.java
index c91b2bbb83f..f448af6710f 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/MutationOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/MutationOrBuilder.java
@@ -106,6 +106,7 @@ public interface MutationOrBuilder
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -123,6 +124,7 @@ public interface MutationOrBuilder
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -140,6 +142,7 @@ public interface MutationOrBuilder
* Like [insert][google.spanner.v1.Mutation.insert], except that if the row already exists, then
* its column values are overwritten with the ones provided. Any
* column values not explicitly written are preserved.
+ *
* When using [insert_or_update][google.spanner.v1.Mutation.insert_or_update], just as when using [insert][google.spanner.v1.Mutation.insert], all `NOT
* NULL` columns in the table must be given a value. This holds true
* even when the row already exists and will therefore actually be updated.
@@ -157,6 +160,7 @@ public interface MutationOrBuilder
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -176,6 +180,7 @@ public interface MutationOrBuilder
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -195,6 +200,7 @@ public interface MutationOrBuilder
* deleted, and the column values provided are inserted
* instead. Unlike [insert_or_update][google.spanner.v1.Mutation.insert_or_update], this means any values not
* explicitly written become `NULL`.
+ *
* In an interleaved table, if you create the child table with the
* `ON DELETE CASCADE` annotation, then replacing a parent row
* also deletes the child rows. Otherwise, you must delete the
@@ -243,5 +249,5 @@ public interface MutationOrBuilder
*/
com.google.spanner.v1.Mutation.DeleteOrBuilder getDeleteOrBuilder();
- public com.google.spanner.v1.Mutation.OperationCase getOperationCase();
+ com.google.spanner.v1.Mutation.OperationCase getOperationCase();
}
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/MutationProto.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/MutationProto.java
index a1706fc4cd1..ca64bf3a9b8 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/MutationProto.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/MutationProto.java
@@ -51,24 +51,24 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"\n google/spanner/v1/mutation.proto\022\021goog"
+ "le.spanner.v1\032\037google/api/field_behavior"
+ ".proto\032\034google/protobuf/struct.proto\032\034go"
- + "ogle/spanner/v1/keys.proto\"\325\003\n\010Mutation\022"
+ + "ogle/spanner/v1/keys.proto\"\330\003\n\010Mutation\022"
+ "3\n\006insert\030\001 \001(\0132!.google.spanner.v1.Muta"
+ "tion.WriteH\000\0223\n\006update\030\002 \001(\0132!.google.sp"
+ "anner.v1.Mutation.WriteH\000\022=\n\020insert_or_u"
+ "pdate\030\003 \001(\0132!.google.spanner.v1.Mutation"
+ ".WriteH\000\0224\n\007replace\030\004 \001(\0132!.google.spann"
+ "er.v1.Mutation.WriteH\000\0224\n\006delete\030\005 \001(\0132\""
- + ".google.spanner.v1.Mutation.DeleteH\000\032X\n\005"
- + "Write\022\022\n\005table\030\001 \001(\tB\003\340A\002\022\017\n\007columns\030\002 \003"
- + "(\t\022*\n\006values\030\003 \003(\0132\032.google.protobuf.Lis"
- + "tValue\032M\n\006Delete\022\022\n\005table\030\001 \001(\tB\003\340A\002\022/\n\007"
- + "key_set\030\002 \001(\0132\031.google.spanner.v1.KeySet"
- + "B\003\340A\002B\013\n\toperationB\260\001\n\025com.google.spanne"
- + "r.v1B\rMutationProtoP\001Z5cloud.google.com/"
- + "go/spanner/apiv1/spannerpb;spannerpb\252\002\027G"
- + "oogle.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Sp"
- + "anner\\V1\352\002\032Google::Cloud::Spanner::V1b\006p"
- + "roto3"
+ + ".google.spanner.v1.Mutation.DeleteH\000\032Y\n\005"
+ + "Write\022\023\n\005table\030\001 \001(\tB\004\342A\001\002\022\017\n\007columns\030\002 "
+ + "\003(\t\022*\n\006values\030\003 \003(\0132\032.google.protobuf.Li"
+ + "stValue\032O\n\006Delete\022\023\n\005table\030\001 \001(\tB\004\342A\001\002\0220"
+ + "\n\007key_set\030\002 \001(\0132\031.google.spanner.v1.KeyS"
+ + "etB\004\342A\001\002B\013\n\toperationB\260\001\n\025com.google.spa"
+ + "nner.v1B\rMutationProtoP\001Z5cloud.google.c"
+ + "om/go/spanner/apiv1/spannerpb;spannerpb\252"
+ + "\002\027Google.Cloud.Spanner.V1\312\002\027Google\\Cloud"
+ + "\\Spanner\\V1\352\002\032Google::Cloud::Spanner::V1"
+ + "b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSet.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSet.java
index 4453ef0c119..04457063afb 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSet.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSet.java
@@ -50,11 +50,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new PartialResultSet();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.ResultSetProto
.internal_static_google_spanner_v1_PartialResultSet_descriptor;
@@ -136,13 +131,16 @@ public com.google.spanner.v1.ResultSetMetadataOrBuilder getMetadataOrBuilder() {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -151,27 +149,37 @@ public com.google.spanner.v1.ResultSetMetadataOrBuilder getMetadataOrBuilder() {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -187,6 +195,7 @@ public com.google.spanner.v1.ResultSetMetadataOrBuilder getMetadataOrBuilder() {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -207,13 +216,16 @@ public java.util.List getValuesList() {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -222,27 +234,37 @@ public java.util.List getValuesList() {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -258,6 +280,7 @@ public java.util.List getValuesList() {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -278,13 +301,16 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -293,27 +319,37 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -329,6 +365,7 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -349,13 +386,16 @@ public int getValuesCount() {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -364,27 +404,37 @@ public int getValuesCount() {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -400,6 +450,7 @@ public int getValuesCount() {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -420,13 +471,16 @@ public com.google.protobuf.Value getValues(int index) {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -435,27 +489,37 @@ public com.google.protobuf.Value getValues(int index) {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -471,6 +535,7 @@ public com.google.protobuf.Value getValues(int index) {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -1296,13 +1361,16 @@ private void ensureValuesIsMutable() {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -1311,27 +1379,37 @@ private void ensureValuesIsMutable() {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -1347,6 +1425,7 @@ private void ensureValuesIsMutable() {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -1370,13 +1449,16 @@ public java.util.List getValuesList() {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -1385,27 +1467,37 @@ public java.util.List getValuesList() {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -1421,6 +1513,7 @@ public java.util.List getValuesList() {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -1444,13 +1537,16 @@ public int getValuesCount() {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -1459,27 +1555,37 @@ public int getValuesCount() {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -1495,6 +1601,7 @@ public int getValuesCount() {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -1518,13 +1625,16 @@ public com.google.protobuf.Value getValues(int index) {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -1533,27 +1643,37 @@ public com.google.protobuf.Value getValues(int index) {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -1569,6 +1689,7 @@ public com.google.protobuf.Value getValues(int index) {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -1598,13 +1719,16 @@ public Builder setValues(int index, com.google.protobuf.Value value) {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -1613,27 +1737,37 @@ public Builder setValues(int index, com.google.protobuf.Value value) {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -1649,6 +1783,7 @@ public Builder setValues(int index, com.google.protobuf.Value value) {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -1675,13 +1810,16 @@ public Builder setValues(int index, com.google.protobuf.Value.Builder builderFor
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -1690,27 +1828,37 @@ public Builder setValues(int index, com.google.protobuf.Value.Builder builderFor
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -1726,6 +1874,7 @@ public Builder setValues(int index, com.google.protobuf.Value.Builder builderFor
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -1755,13 +1904,16 @@ public Builder addValues(com.google.protobuf.Value value) {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -1770,27 +1922,37 @@ public Builder addValues(com.google.protobuf.Value value) {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -1806,6 +1968,7 @@ public Builder addValues(com.google.protobuf.Value value) {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -1835,13 +1998,16 @@ public Builder addValues(int index, com.google.protobuf.Value value) {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -1850,27 +2016,37 @@ public Builder addValues(int index, com.google.protobuf.Value value) {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -1886,6 +2062,7 @@ public Builder addValues(int index, com.google.protobuf.Value value) {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -1912,13 +2089,16 @@ public Builder addValues(com.google.protobuf.Value.Builder builderForValue) {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -1927,27 +2107,37 @@ public Builder addValues(com.google.protobuf.Value.Builder builderForValue) {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -1963,6 +2153,7 @@ public Builder addValues(com.google.protobuf.Value.Builder builderForValue) {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -1989,13 +2180,16 @@ public Builder addValues(int index, com.google.protobuf.Value.Builder builderFor
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -2004,27 +2198,37 @@ public Builder addValues(int index, com.google.protobuf.Value.Builder builderFor
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -2040,6 +2244,7 @@ public Builder addValues(int index, com.google.protobuf.Value.Builder builderFor
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -2066,13 +2271,16 @@ public Builder addAllValues(java.lang.Iterable extends com.google.protobuf.Val
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -2081,27 +2289,37 @@ public Builder addAllValues(java.lang.Iterable extends com.google.protobuf.Val
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -2117,6 +2335,7 @@ public Builder addAllValues(java.lang.Iterable extends com.google.protobuf.Val
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -2143,13 +2362,16 @@ public Builder clearValues() {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -2158,27 +2380,37 @@ public Builder clearValues() {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -2194,6 +2426,7 @@ public Builder clearValues() {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -2220,13 +2453,16 @@ public Builder removeValues(int index) {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -2235,27 +2471,37 @@ public Builder removeValues(int index) {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -2271,6 +2517,7 @@ public Builder removeValues(int index) {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -2290,13 +2537,16 @@ public com.google.protobuf.Value.Builder getValuesBuilder(int index) {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -2305,27 +2555,37 @@ public com.google.protobuf.Value.Builder getValuesBuilder(int index) {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -2341,6 +2601,7 @@ public com.google.protobuf.Value.Builder getValuesBuilder(int index) {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -2364,13 +2625,16 @@ public com.google.protobuf.ValueOrBuilder getValuesOrBuilder(int index) {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -2379,27 +2643,37 @@ public com.google.protobuf.ValueOrBuilder getValuesOrBuilder(int index) {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -2415,6 +2689,7 @@ public com.google.protobuf.ValueOrBuilder getValuesOrBuilder(int index) {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -2438,13 +2713,16 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -2453,27 +2731,37 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -2489,6 +2777,7 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -2508,13 +2797,16 @@ public com.google.protobuf.Value.Builder addValuesBuilder() {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -2523,27 +2815,37 @@ public com.google.protobuf.Value.Builder addValuesBuilder() {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -2559,6 +2861,7 @@ public com.google.protobuf.Value.Builder addValuesBuilder() {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -2579,13 +2882,16 @@ public com.google.protobuf.Value.Builder addValuesBuilder(int index) {
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -2594,27 +2900,37 @@ public com.google.protobuf.Value.Builder addValuesBuilder(int index) {
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -2630,6 +2946,7 @@ public com.google.protobuf.Value.Builder addValuesBuilder(int index) {
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSetOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSetOrBuilder.java
index 60b851170fa..d0fb0a05c77 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSetOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSetOrBuilder.java
@@ -70,13 +70,16 @@ public interface PartialResultSetOrBuilder
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -85,27 +88,37 @@ public interface PartialResultSetOrBuilder
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -121,6 +134,7 @@ public interface PartialResultSetOrBuilder
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -138,13 +152,16 @@ public interface PartialResultSetOrBuilder
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -153,27 +170,37 @@ public interface PartialResultSetOrBuilder
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -189,6 +216,7 @@ public interface PartialResultSetOrBuilder
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -206,13 +234,16 @@ public interface PartialResultSetOrBuilder
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -221,27 +252,37 @@ public interface PartialResultSetOrBuilder
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -257,6 +298,7 @@ public interface PartialResultSetOrBuilder
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -274,13 +316,16 @@ public interface PartialResultSetOrBuilder
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -289,27 +334,37 @@ public interface PartialResultSetOrBuilder
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -325,6 +380,7 @@ public interface PartialResultSetOrBuilder
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
@@ -342,13 +398,16 @@ public interface PartialResultSetOrBuilder
* large rows and/or large values. Every N complete values defines a
* row, where N is equal to the number of entries in
* [metadata.row_type.fields][google.spanner.v1.StructType.fields].
+ *
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
+ *
* It is possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
* `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
* field. Two or more chunked values can be merged to form a
* complete value as follows:
+ *
* * `bool/number/null`: cannot be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
@@ -357,27 +416,37 @@ public interface PartialResultSetOrBuilder
* * `object`: concatenate the (field name, field value) pairs. If a
* field name is duplicated, then apply these rules recursively
* to merge the field values.
+ *
* Some examples of merging:
+ *
* # Strings are concatenated.
* "foo", "bar" => "foobar"
+ *
* # Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
+ *
* # Lists are concatenated, but the last and first elements are merged
* # because they are lists. Recursively, the last and first elements
* # of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
+ *
* # Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
+ *
* # Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
+ *
* # Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
+ *
* For a more complete example, suppose a streaming SQL query is
* yielding a result set whose rows contain a single string
* field. The following `PartialResultSet`s might be yielded:
+ *
* {
* "metadata": { ... }
* "values": ["Hello", "W"]
@@ -393,6 +462,7 @@ public interface PartialResultSetOrBuilder
* "values": ["d"]
* "resume_token": "Zx1B..."
* }
+ *
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Partition.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Partition.java
index c052325fad6..c25d69935af 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Partition.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Partition.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new Partition();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_Partition_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionOptions.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionOptions.java
index fb704ea89af..52c32ec4de8 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionOptions.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionOptions.java
@@ -46,11 +46,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new PartitionOptions();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_PartitionOptions_descriptor;
@@ -74,6 +69,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
*
* **Note:** This hint is currently ignored by PartitionQuery and
* PartitionRead requests.
+ *
* The desired data size for each partition generated. The default for this
* option is currently 1 GiB. This is only a hint. The actual size of each
* partition may be smaller or larger than this size request.
@@ -96,6 +92,7 @@ public long getPartitionSizeBytes() {
*
* **Note:** This hint is currently ignored by PartitionQuery and
* PartitionRead requests.
+ *
* The desired maximum number of partitions to return. For example, this may
* be set to the number of workers available. The default for this option
* is currently 10,000. The maximum value is currently 200,000. This is only
@@ -480,6 +477,7 @@ public Builder mergeFrom(
*
* **Note:** This hint is currently ignored by PartitionQuery and
* PartitionRead requests.
+ *
* The desired data size for each partition generated. The default for this
* option is currently 1 GiB. This is only a hint. The actual size of each
* partition may be smaller or larger than this size request.
@@ -499,6 +497,7 @@ public long getPartitionSizeBytes() {
*
* **Note:** This hint is currently ignored by PartitionQuery and
* PartitionRead requests.
+ *
* The desired data size for each partition generated. The default for this
* option is currently 1 GiB. This is only a hint. The actual size of each
* partition may be smaller or larger than this size request.
@@ -522,6 +521,7 @@ public Builder setPartitionSizeBytes(long value) {
*
* **Note:** This hint is currently ignored by PartitionQuery and
* PartitionRead requests.
+ *
* The desired data size for each partition generated. The default for this
* option is currently 1 GiB. This is only a hint. The actual size of each
* partition may be smaller or larger than this size request.
@@ -545,6 +545,7 @@ public Builder clearPartitionSizeBytes() {
*
* **Note:** This hint is currently ignored by PartitionQuery and
* PartitionRead requests.
+ *
* The desired maximum number of partitions to return. For example, this may
* be set to the number of workers available. The default for this option
* is currently 10,000. The maximum value is currently 200,000. This is only
@@ -566,6 +567,7 @@ public long getMaxPartitions() {
*
* **Note:** This hint is currently ignored by PartitionQuery and
* PartitionRead requests.
+ *
* The desired maximum number of partitions to return. For example, this may
* be set to the number of workers available. The default for this option
* is currently 10,000. The maximum value is currently 200,000. This is only
@@ -591,6 +593,7 @@ public Builder setMaxPartitions(long value) {
*
* **Note:** This hint is currently ignored by PartitionQuery and
* PartitionRead requests.
+ *
* The desired maximum number of partitions to return. For example, this may
* be set to the number of workers available. The default for this option
* is currently 10,000. The maximum value is currently 200,000. This is only
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionOptionsOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionOptionsOrBuilder.java
index e1461014cb9..07d763cbf90 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionOptionsOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionOptionsOrBuilder.java
@@ -29,6 +29,7 @@ public interface PartitionOptionsOrBuilder
*
* **Note:** This hint is currently ignored by PartitionQuery and
* PartitionRead requests.
+ *
* The desired data size for each partition generated. The default for this
* option is currently 1 GiB. This is only a hint. The actual size of each
* partition may be smaller or larger than this size request.
@@ -46,6 +47,7 @@ public interface PartitionOptionsOrBuilder
*
* **Note:** This hint is currently ignored by PartitionQuery and
* PartitionRead requests.
+ *
* The desired maximum number of partitions to return. For example, this may
* be set to the number of workers available. The default for this option
* is currently 10,000. The maximum value is currently 200,000. This is only
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionQueryRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionQueryRequest.java
index bb5809c2692..47b4bcfc6a2 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionQueryRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionQueryRequest.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new PartitionQueryRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_PartitionQueryRequest_descriptor;
@@ -201,6 +196,7 @@ public com.google.spanner.v1.TransactionSelectorOrBuilder getTransactionOrBuilde
* union operator conceptually divides one or more tables into multiple
* splits, remotely evaluates a subquery independently on each split, and
* then unions all results.
+ *
* This must not contain DML commands, such as INSERT, UPDATE, or
* DELETE. Use [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] with a
* PartitionedDml transaction for large, partition-friendly DML operations.
@@ -232,6 +228,7 @@ public java.lang.String getSql() {
* union operator conceptually divides one or more tables into multiple
* splits, remotely evaluates a subquery independently on each split, and
* then unions all results.
+ *
* This must not contain DML commands, such as INSERT, UPDATE, or
* DELETE. Use [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] with a
* PartitionedDml transaction for large, partition-friendly DML operations.
@@ -261,12 +258,16 @@ public com.google.protobuf.ByteString getSqlBytes() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -283,12 +284,16 @@ public boolean hasParams() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -305,12 +310,16 @@ public com.google.protobuf.Struct getParams() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -357,6 +366,7 @@ public int getParamTypesCount() {
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -385,6 +395,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -404,6 +415,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -431,6 +443,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1340,6 +1353,7 @@ public com.google.spanner.v1.TransactionSelectorOrBuilder getTransactionOrBuilde
* union operator conceptually divides one or more tables into multiple
* splits, remotely evaluates a subquery independently on each split, and
* then unions all results.
+ *
* This must not contain DML commands, such as INSERT, UPDATE, or
* DELETE. Use [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] with a
* PartitionedDml transaction for large, partition-friendly DML operations.
@@ -1370,6 +1384,7 @@ public java.lang.String getSql() {
* union operator conceptually divides one or more tables into multiple
* splits, remotely evaluates a subquery independently on each split, and
* then unions all results.
+ *
* This must not contain DML commands, such as INSERT, UPDATE, or
* DELETE. Use [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] with a
* PartitionedDml transaction for large, partition-friendly DML operations.
@@ -1400,6 +1415,7 @@ public com.google.protobuf.ByteString getSqlBytes() {
* union operator conceptually divides one or more tables into multiple
* splits, remotely evaluates a subquery independently on each split, and
* then unions all results.
+ *
* This must not contain DML commands, such as INSERT, UPDATE, or
* DELETE. Use [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] with a
* PartitionedDml transaction for large, partition-friendly DML operations.
@@ -1429,6 +1445,7 @@ public Builder setSql(java.lang.String value) {
* union operator conceptually divides one or more tables into multiple
* splits, remotely evaluates a subquery independently on each split, and
* then unions all results.
+ *
* This must not contain DML commands, such as INSERT, UPDATE, or
* DELETE. Use [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] with a
* PartitionedDml transaction for large, partition-friendly DML operations.
@@ -1454,6 +1471,7 @@ public Builder clearSql() {
* union operator conceptually divides one or more tables into multiple
* splits, remotely evaluates a subquery independently on each split, and
* then unions all results.
+ *
* This must not contain DML commands, such as INSERT, UPDATE, or
* DELETE. Use [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] with a
* PartitionedDml transaction for large, partition-friendly DML operations.
@@ -1486,12 +1504,16 @@ public Builder setSqlBytes(com.google.protobuf.ByteString value) {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1507,12 +1529,16 @@ public boolean hasParams() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1532,12 +1558,16 @@ public com.google.protobuf.Struct getParams() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1561,12 +1591,16 @@ public Builder setParams(com.google.protobuf.Struct value) {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1587,12 +1621,16 @@ public Builder setParams(com.google.protobuf.Struct.Builder builderForValue) {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1619,12 +1657,16 @@ public Builder mergeParams(com.google.protobuf.Struct value) {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1645,12 +1687,16 @@ public Builder clearParams() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1666,12 +1712,16 @@ public com.google.protobuf.Struct.Builder getParamsBuilder() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1689,12 +1739,16 @@ public com.google.protobuf.StructOrBuilder getParamsOrBuilder() {
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -1752,6 +1806,7 @@ public int getParamTypesCount() {
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1780,6 +1835,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1799,6 +1855,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1826,6 +1883,7 @@ public java.util.Map getParamTypes
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1859,6 +1917,7 @@ public Builder clearParamTypes() {
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1887,6 +1946,7 @@ public java.util.Map getMutablePar
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -1913,6 +1973,7 @@ public Builder putParamTypes(java.lang.String key, com.google.spanner.v1.Type va
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionQueryRequestOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionQueryRequestOrBuilder.java
index 7c71cf32d5e..03858c082d1 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionQueryRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionQueryRequestOrBuilder.java
@@ -100,6 +100,7 @@ public interface PartitionQueryRequestOrBuilder
* union operator conceptually divides one or more tables into multiple
* splits, remotely evaluates a subquery independently on each split, and
* then unions all results.
+ *
* This must not contain DML commands, such as INSERT, UPDATE, or
* DELETE. Use [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] with a
* PartitionedDml transaction for large, partition-friendly DML operations.
@@ -120,6 +121,7 @@ public interface PartitionQueryRequestOrBuilder
* union operator conceptually divides one or more tables into multiple
* splits, remotely evaluates a subquery independently on each split, and
* then unions all results.
+ *
* This must not contain DML commands, such as INSERT, UPDATE, or
* DELETE. Use [ExecuteStreamingSql][google.spanner.v1.Spanner.ExecuteStreamingSql] with a
* PartitionedDml transaction for large, partition-friendly DML operations.
@@ -136,12 +138,16 @@ public interface PartitionQueryRequestOrBuilder
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -155,12 +161,16 @@ public interface PartitionQueryRequestOrBuilder
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -174,12 +184,16 @@ public interface PartitionQueryRequestOrBuilder
*
*
* Parameter names and values that bind to placeholders in the SQL string.
+ *
* A parameter placeholder consists of the `@` character followed by the
* parameter name (for example, `@firstName`). Parameter names can contain
* letters, numbers, and underscores.
+ *
* Parameters can appear anywhere that a literal value is expected. The same
* parameter name can be used more than once, for example:
+ *
* `"WHERE id > @msg_id AND id < @msg_id + 100"`
+ *
* It is an error to execute a SQL statement with unbound parameters.
*
*
@@ -194,6 +208,7 @@ public interface PartitionQueryRequestOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -210,6 +225,7 @@ public interface PartitionQueryRequestOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -229,6 +245,7 @@ public interface PartitionQueryRequestOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -245,6 +262,7 @@ public interface PartitionQueryRequestOrBuilder
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
@@ -265,6 +283,7 @@ com.google.spanner.v1.Type getParamTypesOrDefault(
* It is not always possible for Cloud Spanner to infer the right SQL type
* from a JSON value. For example, values of type `BYTES` and values
* of type `STRING` both appear in [params][google.spanner.v1.PartitionQueryRequest.params] as JSON strings.
+ *
* In these cases, `param_types` can be used to specify the exact
* SQL type for some or all of the SQL query parameters. See the
* definition of [Type][google.spanner.v1.Type] for more information
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionReadRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionReadRequest.java
index 46155e66a27..8b8d2a6b4f6 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionReadRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionReadRequest.java
@@ -41,7 +41,7 @@ private PartitionReadRequest() {
session_ = "";
table_ = "";
index_ = "";
- columns_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ columns_ = com.google.protobuf.LazyStringArrayList.emptyList();
}
@java.lang.Override
@@ -50,11 +50,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new PartitionReadRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_PartitionReadRequest_descriptor;
@@ -287,7 +282,8 @@ public com.google.protobuf.ByteString getIndexBytes() {
public static final int COLUMNS_FIELD_NUMBER = 5;
@SuppressWarnings("serial")
- private com.google.protobuf.LazyStringList columns_;
+ private com.google.protobuf.LazyStringArrayList columns_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
@@ -361,6 +357,7 @@ public com.google.protobuf.ByteString getColumnsBytes(int index) {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -381,6 +378,7 @@ public boolean hasKeySet() {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -401,6 +399,7 @@ public com.google.spanner.v1.KeySet getKeySet() {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -744,8 +743,7 @@ public Builder clear() {
}
table_ = "";
index_ = "";
- columns_ = com.google.protobuf.LazyStringArrayList.EMPTY;
- bitField0_ = (bitField0_ & ~0x00000010);
+ columns_ = com.google.protobuf.LazyStringArrayList.emptyList();
keySet_ = null;
if (keySetBuilder_ != null) {
keySetBuilder_.dispose();
@@ -783,7 +781,6 @@ public com.google.spanner.v1.PartitionReadRequest build() {
public com.google.spanner.v1.PartitionReadRequest buildPartial() {
com.google.spanner.v1.PartitionReadRequest result =
new com.google.spanner.v1.PartitionReadRequest(this);
- buildPartialRepeatedFields(result);
if (bitField0_ != 0) {
buildPartial0(result);
}
@@ -791,14 +788,6 @@ public com.google.spanner.v1.PartitionReadRequest buildPartial() {
return result;
}
- private void buildPartialRepeatedFields(com.google.spanner.v1.PartitionReadRequest result) {
- if (((bitField0_ & 0x00000010) != 0)) {
- columns_ = columns_.getUnmodifiableView();
- bitField0_ = (bitField0_ & ~0x00000010);
- }
- result.columns_ = columns_;
- }
-
private void buildPartial0(com.google.spanner.v1.PartitionReadRequest result) {
int from_bitField0_ = bitField0_;
if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -814,6 +803,10 @@ private void buildPartial0(com.google.spanner.v1.PartitionReadRequest result) {
if (((from_bitField0_ & 0x00000008) != 0)) {
result.index_ = index_;
}
+ if (((from_bitField0_ & 0x00000010) != 0)) {
+ columns_.makeImmutable();
+ result.columns_ = columns_;
+ }
if (((from_bitField0_ & 0x00000020) != 0)) {
result.keySet_ = keySetBuilder_ == null ? keySet_ : keySetBuilder_.build();
}
@@ -889,7 +882,7 @@ public Builder mergeFrom(com.google.spanner.v1.PartitionReadRequest other) {
if (!other.columns_.isEmpty()) {
if (columns_.isEmpty()) {
columns_ = other.columns_;
- bitField0_ = (bitField0_ & ~0x00000010);
+ bitField0_ |= 0x00000010;
} else {
ensureColumnsIsMutable();
columns_.addAll(other.columns_);
@@ -1522,14 +1515,14 @@ public Builder setIndexBytes(com.google.protobuf.ByteString value) {
return this;
}
- private com.google.protobuf.LazyStringList columns_ =
- com.google.protobuf.LazyStringArrayList.EMPTY;
+ private com.google.protobuf.LazyStringArrayList columns_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureColumnsIsMutable() {
- if (!((bitField0_ & 0x00000010) != 0)) {
+ if (!columns_.isModifiable()) {
columns_ = new com.google.protobuf.LazyStringArrayList(columns_);
- bitField0_ |= 0x00000010;
}
+ bitField0_ |= 0x00000010;
}
/**
*
@@ -1544,7 +1537,8 @@ private void ensureColumnsIsMutable() {
* @return A list containing the columns.
*/
public com.google.protobuf.ProtocolStringList getColumnsList() {
- return columns_.getUnmodifiableView();
+ columns_.makeImmutable();
+ return columns_;
}
/**
*
@@ -1613,6 +1607,7 @@ public Builder setColumns(int index, java.lang.String value) {
}
ensureColumnsIsMutable();
columns_.set(index, value);
+ bitField0_ |= 0x00000010;
onChanged();
return this;
}
@@ -1635,6 +1630,7 @@ public Builder addColumns(java.lang.String value) {
}
ensureColumnsIsMutable();
columns_.add(value);
+ bitField0_ |= 0x00000010;
onChanged();
return this;
}
@@ -1654,6 +1650,7 @@ public Builder addColumns(java.lang.String value) {
public Builder addAllColumns(java.lang.Iterable values) {
ensureColumnsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, columns_);
+ bitField0_ |= 0x00000010;
onChanged();
return this;
}
@@ -1670,8 +1667,9 @@ public Builder addAllColumns(java.lang.Iterable values) {
* @return This builder for chaining.
*/
public Builder clearColumns() {
- columns_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ columns_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000010);
+ ;
onChanged();
return this;
}
@@ -1695,6 +1693,7 @@ public Builder addColumnsBytes(com.google.protobuf.ByteString value) {
checkByteStringIsUtf8(value);
ensureColumnsIsMutable();
columns_.add(value);
+ bitField0_ |= 0x00000010;
onChanged();
return this;
}
@@ -1713,6 +1712,7 @@ public Builder addColumnsBytes(com.google.protobuf.ByteString value) {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -1732,6 +1732,7 @@ public boolean hasKeySet() {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -1755,6 +1756,7 @@ public com.google.spanner.v1.KeySet getKeySet() {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -1782,6 +1784,7 @@ public Builder setKeySet(com.google.spanner.v1.KeySet value) {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -1806,6 +1809,7 @@ public Builder setKeySet(com.google.spanner.v1.KeySet.Builder builderForValue) {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -1836,6 +1840,7 @@ public Builder mergeKeySet(com.google.spanner.v1.KeySet value) {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -1860,6 +1865,7 @@ public Builder clearKeySet() {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -1879,6 +1885,7 @@ public com.google.spanner.v1.KeySet.Builder getKeySetBuilder() {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -1900,6 +1907,7 @@ public com.google.spanner.v1.KeySetOrBuilder getKeySetOrBuilder() {
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionReadRequestOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionReadRequestOrBuilder.java
index 3b178f71836..2f6a285bc43 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionReadRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionReadRequestOrBuilder.java
@@ -207,6 +207,7 @@ public interface PartitionReadRequestOrBuilder
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -224,6 +225,7 @@ public interface PartitionReadRequestOrBuilder
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -241,6 +243,7 @@ public interface PartitionReadRequestOrBuilder
* primary keys of the rows in [table][google.spanner.v1.PartitionReadRequest.table] to be yielded, unless [index][google.spanner.v1.PartitionReadRequest.index]
* is present. If [index][google.spanner.v1.PartitionReadRequest.index] is present, then [key_set][google.spanner.v1.PartitionReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.PartitionReadRequest.index].
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionResponse.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionResponse.java
index 5216448c858..66ba370b276 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionResponse.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartitionResponse.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new PartitionResponse();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_PartitionResponse_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PlanNode.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PlanNode.java
index 21fc82e6924..6507cb2656f 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PlanNode.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PlanNode.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new PlanNode();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.QueryPlanProto
.internal_static_google_spanner_v1_PlanNode_descriptor;
@@ -355,11 +350,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ChildLink();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.QueryPlanProto
.internal_static_google_spanner_v1_PlanNode_ChildLink_descriptor;
@@ -1420,11 +1410,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ShortRepresentation();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.QueryPlanProto
.internal_static_google_spanner_v1_PlanNode_ShortRepresentation_descriptor;
@@ -2624,6 +2609,7 @@ public com.google.spanner.v1.PlanNode.ShortRepresentation getShortRepresentation
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -2645,6 +2631,7 @@ public boolean hasMetadata() {
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -2666,6 +2653,7 @@ public com.google.protobuf.Struct getMetadata() {
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -4109,6 +4097,7 @@ public Builder clearShortRepresentation() {
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -4129,6 +4118,7 @@ public boolean hasMetadata() {
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -4153,6 +4143,7 @@ public com.google.protobuf.Struct getMetadata() {
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -4181,6 +4172,7 @@ public Builder setMetadata(com.google.protobuf.Struct value) {
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -4206,6 +4198,7 @@ public Builder setMetadata(com.google.protobuf.Struct.Builder builderForValue) {
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -4237,6 +4230,7 @@ public Builder mergeMetadata(com.google.protobuf.Struct value) {
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -4262,6 +4256,7 @@ public Builder clearMetadata() {
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -4282,6 +4277,7 @@ public com.google.protobuf.Struct.Builder getMetadataBuilder() {
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -4304,6 +4300,7 @@ public com.google.protobuf.StructOrBuilder getMetadataOrBuilder() {
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PlanNodeOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PlanNodeOrBuilder.java
index fa57b333d5f..0ba896c5717 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PlanNodeOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PlanNodeOrBuilder.java
@@ -188,6 +188,7 @@ public interface PlanNodeOrBuilder
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -206,6 +207,7 @@ public interface PlanNodeOrBuilder
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
@@ -224,6 +226,7 @@ public interface PlanNodeOrBuilder
* Attributes relevant to the node contained in a group of key-value pairs.
* For example, a Parameter Reference node could have the following
* information in its metadata:
+ *
* {
* "parameter_reference": "param1",
* "parameter_type": "array"
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/QueryPlan.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/QueryPlan.java
index 609fb5cd3ae..54d2be319de 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/QueryPlan.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/QueryPlan.java
@@ -47,11 +47,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new QueryPlan();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.QueryPlanProto
.internal_static_google_spanner_v1_QueryPlan_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ReadRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ReadRequest.java
index 5b75750eabf..54129945d8c 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ReadRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ReadRequest.java
@@ -42,7 +42,7 @@ private ReadRequest() {
session_ = "";
table_ = "";
index_ = "";
- columns_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ columns_ = com.google.protobuf.LazyStringArrayList.emptyList();
resumeToken_ = com.google.protobuf.ByteString.EMPTY;
partitionToken_ = com.google.protobuf.ByteString.EMPTY;
}
@@ -53,11 +53,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ReadRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_ReadRequest_descriptor;
@@ -290,7 +285,8 @@ public com.google.protobuf.ByteString getIndexBytes() {
public static final int COLUMNS_FIELD_NUMBER = 5;
@SuppressWarnings("serial")
- private com.google.protobuf.LazyStringList columns_;
+ private com.google.protobuf.LazyStringArrayList columns_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
/**
*
*
@@ -364,10 +360,12 @@ public com.google.protobuf.ByteString getColumnsBytes(int index) {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -388,10 +386,12 @@ public boolean hasKeySet() {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -412,10 +412,12 @@ public com.google.spanner.v1.KeySet getKeySet() {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -549,6 +551,7 @@ public com.google.spanner.v1.RequestOptionsOrBuilder getRequestOptionsOrBuilder(
*
* If this is for a partitioned read and this field is set to `true`, the
* request will be executed via Spanner independent compute resources.
+ *
* If the field is set to `true` but the request does not set
* `partition_token`, the API will return an `INVALID_ARGUMENT` error.
*
@@ -879,8 +882,7 @@ public Builder clear() {
}
table_ = "";
index_ = "";
- columns_ = com.google.protobuf.LazyStringArrayList.EMPTY;
- bitField0_ = (bitField0_ & ~0x00000010);
+ columns_ = com.google.protobuf.LazyStringArrayList.emptyList();
keySet_ = null;
if (keySetBuilder_ != null) {
keySetBuilder_.dispose();
@@ -921,7 +923,6 @@ public com.google.spanner.v1.ReadRequest build() {
@java.lang.Override
public com.google.spanner.v1.ReadRequest buildPartial() {
com.google.spanner.v1.ReadRequest result = new com.google.spanner.v1.ReadRequest(this);
- buildPartialRepeatedFields(result);
if (bitField0_ != 0) {
buildPartial0(result);
}
@@ -929,14 +930,6 @@ public com.google.spanner.v1.ReadRequest buildPartial() {
return result;
}
- private void buildPartialRepeatedFields(com.google.spanner.v1.ReadRequest result) {
- if (((bitField0_ & 0x00000010) != 0)) {
- columns_ = columns_.getUnmodifiableView();
- bitField0_ = (bitField0_ & ~0x00000010);
- }
- result.columns_ = columns_;
- }
-
private void buildPartial0(com.google.spanner.v1.ReadRequest result) {
int from_bitField0_ = bitField0_;
if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -952,6 +945,10 @@ private void buildPartial0(com.google.spanner.v1.ReadRequest result) {
if (((from_bitField0_ & 0x00000008) != 0)) {
result.index_ = index_;
}
+ if (((from_bitField0_ & 0x00000010) != 0)) {
+ columns_.makeImmutable();
+ result.columns_ = columns_;
+ }
if (((from_bitField0_ & 0x00000020) != 0)) {
result.keySet_ = keySetBuilder_ == null ? keySet_ : keySetBuilder_.build();
}
@@ -1039,7 +1036,7 @@ public Builder mergeFrom(com.google.spanner.v1.ReadRequest other) {
if (!other.columns_.isEmpty()) {
if (columns_.isEmpty()) {
columns_ = other.columns_;
- bitField0_ = (bitField0_ & ~0x00000010);
+ bitField0_ |= 0x00000010;
} else {
ensureColumnsIsMutable();
columns_.addAll(other.columns_);
@@ -1707,14 +1704,14 @@ public Builder setIndexBytes(com.google.protobuf.ByteString value) {
return this;
}
- private com.google.protobuf.LazyStringList columns_ =
- com.google.protobuf.LazyStringArrayList.EMPTY;
+ private com.google.protobuf.LazyStringArrayList columns_ =
+ com.google.protobuf.LazyStringArrayList.emptyList();
private void ensureColumnsIsMutable() {
- if (!((bitField0_ & 0x00000010) != 0)) {
+ if (!columns_.isModifiable()) {
columns_ = new com.google.protobuf.LazyStringArrayList(columns_);
- bitField0_ |= 0x00000010;
}
+ bitField0_ |= 0x00000010;
}
/**
*
@@ -1729,7 +1726,8 @@ private void ensureColumnsIsMutable() {
* @return A list containing the columns.
*/
public com.google.protobuf.ProtocolStringList getColumnsList() {
- return columns_.getUnmodifiableView();
+ columns_.makeImmutable();
+ return columns_;
}
/**
*
@@ -1798,6 +1796,7 @@ public Builder setColumns(int index, java.lang.String value) {
}
ensureColumnsIsMutable();
columns_.set(index, value);
+ bitField0_ |= 0x00000010;
onChanged();
return this;
}
@@ -1820,6 +1819,7 @@ public Builder addColumns(java.lang.String value) {
}
ensureColumnsIsMutable();
columns_.add(value);
+ bitField0_ |= 0x00000010;
onChanged();
return this;
}
@@ -1839,6 +1839,7 @@ public Builder addColumns(java.lang.String value) {
public Builder addAllColumns(java.lang.Iterable values) {
ensureColumnsIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(values, columns_);
+ bitField0_ |= 0x00000010;
onChanged();
return this;
}
@@ -1855,8 +1856,9 @@ public Builder addAllColumns(java.lang.Iterable values) {
* @return This builder for chaining.
*/
public Builder clearColumns() {
- columns_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ columns_ = com.google.protobuf.LazyStringArrayList.emptyList();
bitField0_ = (bitField0_ & ~0x00000010);
+ ;
onChanged();
return this;
}
@@ -1880,6 +1882,7 @@ public Builder addColumnsBytes(com.google.protobuf.ByteString value) {
checkByteStringIsUtf8(value);
ensureColumnsIsMutable();
columns_.add(value);
+ bitField0_ |= 0x00000010;
onChanged();
return this;
}
@@ -1898,10 +1901,12 @@ public Builder addColumnsBytes(com.google.protobuf.ByteString value) {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -1921,10 +1926,12 @@ public boolean hasKeySet() {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -1948,10 +1955,12 @@ public com.google.spanner.v1.KeySet getKeySet() {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -1979,10 +1988,12 @@ public Builder setKeySet(com.google.spanner.v1.KeySet value) {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -2007,10 +2018,12 @@ public Builder setKeySet(com.google.spanner.v1.KeySet.Builder builderForValue) {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -2041,10 +2054,12 @@ public Builder mergeKeySet(com.google.spanner.v1.KeySet value) {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -2069,10 +2084,12 @@ public Builder clearKeySet() {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -2092,10 +2109,12 @@ public com.google.spanner.v1.KeySet.Builder getKeySetBuilder() {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -2117,10 +2136,12 @@ public com.google.spanner.v1.KeySetOrBuilder getKeySetOrBuilder() {
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -2527,6 +2548,7 @@ public com.google.spanner.v1.RequestOptionsOrBuilder getRequestOptionsOrBuilder(
*
* If this is for a partitioned read and this field is set to `true`, the
* request will be executed via Spanner independent compute resources.
+ *
* If the field is set to `true` but the request does not set
* `partition_token`, the API will return an `INVALID_ARGUMENT` error.
*
@@ -2545,6 +2567,7 @@ public boolean getDataBoostEnabled() {
*
* If this is for a partitioned read and this field is set to `true`, the
* request will be executed via Spanner independent compute resources.
+ *
* If the field is set to `true` but the request does not set
* `partition_token`, the API will return an `INVALID_ARGUMENT` error.
*
@@ -2567,6 +2590,7 @@ public Builder setDataBoostEnabled(boolean value) {
*
* If this is for a partitioned read and this field is set to `true`, the
* request will be executed via Spanner independent compute resources.
+ *
* If the field is set to `true` but the request does not set
* `partition_token`, the API will return an `INVALID_ARGUMENT` error.
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ReadRequestOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ReadRequestOrBuilder.java
index fc986d632d4..3bdf94f7ebd 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ReadRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ReadRequestOrBuilder.java
@@ -207,10 +207,12 @@ public interface ReadRequestOrBuilder
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -228,10 +230,12 @@ public interface ReadRequestOrBuilder
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -249,10 +253,12 @@ public interface ReadRequestOrBuilder
* primary keys of the rows in [table][google.spanner.v1.ReadRequest.table] to be yielded, unless [index][google.spanner.v1.ReadRequest.index]
* is present. If [index][google.spanner.v1.ReadRequest.index] is present, then [key_set][google.spanner.v1.ReadRequest.key_set] instead names
* index keys in [index][google.spanner.v1.ReadRequest.index].
+ *
* If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is empty, rows are yielded
* in table primary key order (if [index][google.spanner.v1.ReadRequest.index] is empty) or index key order
* (if [index][google.spanner.v1.ReadRequest.index] is non-empty). If the [partition_token][google.spanner.v1.ReadRequest.partition_token] field is not
* empty, rows will be yielded in an unspecified order.
+ *
* It is not an error for the `key_set` to name rows that do not
* exist in the database. Read yields nothing for nonexistent rows.
*
@@ -351,6 +357,7 @@ public interface ReadRequestOrBuilder
*
* If this is for a partitioned read and this field is set to `true`, the
* request will be executed via Spanner independent compute resources.
+ *
* If the field is set to `true` but the request does not set
* `partition_token`, the API will return an `INVALID_ARGUMENT` error.
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RequestOptions.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RequestOptions.java
index bdce7978e3a..3b43c192884 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RequestOptions.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RequestOptions.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new RequestOptions();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_RequestOptions_descriptor;
@@ -75,8 +70,10 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
*
* The relative priority for requests. Note that priority is not applicable
* for [BeginTransaction][google.spanner.v1.Spanner.BeginTransaction].
+ *
* The priority acts as a hint to the Cloud Spanner scheduler and does not
* guarantee priority or order of execution. For example:
+ *
* * Some parts of a write operation always execute at `PRIORITY_HIGH`,
* regardless of the specified priority. This may cause you to see an
* increase in high priority workload even when executing a low priority
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSet.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSet.java
index 574ee4b5d29..c2982901a17 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSet.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSet.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ResultSet();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.ResultSetProto
.internal_static_google_spanner_v1_ResultSet_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadata.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadata.java
index 6c2261da657..a195b930323 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadata.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadata.java
@@ -45,11 +45,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ResultSetMetadata();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.ResultSetProto
.internal_static_google_spanner_v1_ResultSetMetadata_descriptor;
@@ -74,6 +69,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -95,6 +91,7 @@ public boolean hasRowType() {
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -116,6 +113,7 @@ public com.google.spanner.v1.StructType getRowType() {
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -193,6 +191,7 @@ public com.google.spanner.v1.TransactionOrBuilder getTransactionOrBuilder() {
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -216,6 +215,7 @@ public boolean hasUndeclaredParameters() {
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -241,6 +241,7 @@ public com.google.spanner.v1.StructType getUndeclaredParameters() {
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -684,6 +685,7 @@ public Builder mergeFrom(
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -704,6 +706,7 @@ public boolean hasRowType() {
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -728,6 +731,7 @@ public com.google.spanner.v1.StructType getRowType() {
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -756,6 +760,7 @@ public Builder setRowType(com.google.spanner.v1.StructType value) {
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -781,6 +786,7 @@ public Builder setRowType(com.google.spanner.v1.StructType.Builder builderForVal
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -812,6 +818,7 @@ public Builder mergeRowType(com.google.spanner.v1.StructType value) {
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -837,6 +844,7 @@ public Builder clearRowType() {
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -857,6 +865,7 @@ public com.google.spanner.v1.StructType.Builder getRowTypeBuilder() {
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -879,6 +888,7 @@ public com.google.spanner.v1.StructTypeOrBuilder getRowTypeOrBuilder() {
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -1111,6 +1121,7 @@ public com.google.spanner.v1.TransactionOrBuilder getTransactionOrBuilder() {
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -1133,6 +1144,7 @@ public boolean hasUndeclaredParameters() {
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -1161,6 +1173,7 @@ public com.google.spanner.v1.StructType getUndeclaredParameters() {
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -1191,6 +1204,7 @@ public Builder setUndeclaredParameters(com.google.spanner.v1.StructType value) {
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -1219,6 +1233,7 @@ public Builder setUndeclaredParameters(
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -1252,6 +1267,7 @@ public Builder mergeUndeclaredParameters(com.google.spanner.v1.StructType value)
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -1279,6 +1295,7 @@ public Builder clearUndeclaredParameters() {
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -1301,6 +1318,7 @@ public com.google.spanner.v1.StructType.Builder getUndeclaredParametersBuilder()
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -1327,6 +1345,7 @@ public com.google.spanner.v1.StructTypeOrBuilder getUndeclaredParametersOrBuilde
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadataOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadataOrBuilder.java
index 38216902ce7..ec11a259891 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadataOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadataOrBuilder.java
@@ -30,6 +30,7 @@ public interface ResultSetMetadataOrBuilder
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -48,6 +49,7 @@ public interface ResultSetMetadataOrBuilder
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -66,6 +68,7 @@ public interface ResultSetMetadataOrBuilder
* Indicates the field names and types for the rows in the result
* set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -123,6 +126,7 @@ public interface ResultSetMetadataOrBuilder
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -143,6 +147,7 @@ public interface ResultSetMetadataOrBuilder
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
@@ -163,6 +168,7 @@ public interface ResultSetMetadataOrBuilder
* parameters in the SQL query. For example, a SQL query like `"SELECT * FROM
* Users where UserId = @userId and UserName = @userName "` could return a
* `undeclared_parameters` value like:
+ *
* "fields": [
* { "name": "UserId", "type": { "code": "INT64" } },
* { "name": "UserName", "type": { "code": "STRING" } },
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStats.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStats.java
index 3c940cb8d13..b4472630c26 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStats.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStats.java
@@ -45,11 +45,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ResultSetStats();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.ResultSetProto
.internal_static_google_spanner_v1_ResultSetStats_descriptor;
@@ -66,6 +61,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
}
private int rowCountCase_ = 0;
+
+ @SuppressWarnings("serial")
private java.lang.Object rowCount_;
public enum RowCountCase
@@ -167,6 +164,7 @@ public com.google.spanner.v1.QueryPlanOrBuilder getQueryPlanOrBuilder() {
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -189,6 +187,7 @@ public boolean hasQueryStats() {
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -211,6 +210,7 @@ public com.google.protobuf.Struct getQueryStats() {
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -958,6 +958,7 @@ public com.google.spanner.v1.QueryPlanOrBuilder getQueryPlanOrBuilder() {
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -979,6 +980,7 @@ public boolean hasQueryStats() {
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -1004,6 +1006,7 @@ public com.google.protobuf.Struct getQueryStats() {
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -1033,6 +1036,7 @@ public Builder setQueryStats(com.google.protobuf.Struct value) {
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -1059,6 +1063,7 @@ public Builder setQueryStats(com.google.protobuf.Struct.Builder builderForValue)
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -1091,6 +1096,7 @@ public Builder mergeQueryStats(com.google.protobuf.Struct value) {
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -1117,6 +1123,7 @@ public Builder clearQueryStats() {
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -1138,6 +1145,7 @@ public com.google.protobuf.Struct.Builder getQueryStatsBuilder() {
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -1161,6 +1169,7 @@ public com.google.protobuf.StructOrBuilder getQueryStatsOrBuilder() {
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStatsOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStatsOrBuilder.java
index 9a01e754b41..049091eeb0c 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStatsOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStatsOrBuilder.java
@@ -65,6 +65,7 @@ public interface ResultSetStatsOrBuilder
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -84,6 +85,7 @@ public interface ResultSetStatsOrBuilder
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -103,6 +105,7 @@ public interface ResultSetStatsOrBuilder
* Aggregated statistics from the execution of the query. Only present when
* the query is profiled. For example, a query could return the statistics as
* follows:
+ *
* {
* "rows_returned": "3",
* "elapsed_time": "1.22 secs",
@@ -166,5 +169,5 @@ public interface ResultSetStatsOrBuilder
*/
long getRowCountLowerBound();
- public com.google.spanner.v1.ResultSetStats.RowCountCase getRowCountCase();
+ com.google.spanner.v1.ResultSetStats.RowCountCase getRowCountCase();
}
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RollbackRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RollbackRequest.java
index ceb4ac4591a..d079779e349 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RollbackRequest.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RollbackRequest.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new RollbackRequest();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto
.internal_static_google_spanner_v1_RollbackRequest_descriptor;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Session.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Session.java
index 60f04ef5517..30a10b81938 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Session.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Session.java
@@ -48,11 +48,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new Session();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.SpannerProto.internal_static_google_spanner_v1_Session_descriptor;
}
@@ -159,11 +154,13 @@ public int getLabelsCount() {
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -187,11 +184,13 @@ public java.util.Map getLabels() {
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -206,11 +205,13 @@ public java.util.Map getLabelsMap() {
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -232,11 +233,13 @@ public java.util.Map getLabelsMap() {
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -1033,11 +1036,13 @@ public int getLabelsCount() {
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -1061,11 +1066,13 @@ public java.util.Map getLabels() {
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -1080,11 +1087,13 @@ public java.util.Map getLabelsMap() {
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -1106,11 +1115,13 @@ public java.util.Map getLabelsMap() {
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -1138,11 +1149,13 @@ public Builder clearLabels() {
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -1166,11 +1179,13 @@ public java.util.Map getMutableLabels() {
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -1192,11 +1207,13 @@ public Builder putLabels(java.lang.String key, java.lang.String value) {
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SessionName.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SessionName.java
index 84eb4091a65..241081d9bda 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SessionName.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SessionName.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2022 Google LLC
+ * Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SessionOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SessionOrBuilder.java
index 71da8b1240f..15a932664ab 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SessionOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SessionOrBuilder.java
@@ -53,11 +53,13 @@ public interface SessionOrBuilder
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -69,11 +71,13 @@ public interface SessionOrBuilder
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -88,11 +92,13 @@ public interface SessionOrBuilder
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -104,11 +110,13 @@ public interface SessionOrBuilder
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
@@ -124,11 +132,13 @@ java.lang.String getLabelsOrDefault(
*
*
* The labels for the session.
+ *
* * Label keys must be between 1 and 63 characters long and must conform to
* the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
* * Label values must be between 0 and 63 characters long and must conform
* to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
* * No more than 64 labels can be associated with a given session.
+ *
* See https://goo.gl/xmQnxf for more information on and examples of labels.
*
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SpannerProto.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SpannerProto.java
index 4cf68b20170..eaa10048ac4 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SpannerProto.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/SpannerProto.java
@@ -156,206 +156,207 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "gle/spanner/v1/mutation.proto\032\"google/sp"
+ "anner/v1/result_set.proto\032#google/spanne"
+ "r/v1/transaction.proto\032\034google/spanner/v"
- + "1/type.proto\"\203\001\n\024CreateSessionRequest\0229\n"
- + "\010database\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.googlea"
- + "pis.com/Database\0220\n\007session\030\002 \001(\0132\032.goog"
- + "le.spanner.v1.SessionB\003\340A\002\"\251\001\n\032BatchCrea"
- + "teSessionsRequest\0229\n\010database\030\001 \001(\tB\'\340A\002"
- + "\372A!\n\037spanner.googleapis.com/Database\0224\n\020"
- + "session_template\030\002 \001(\0132\032.google.spanner."
- + "v1.Session\022\032\n\rsession_count\030\003 \001(\005B\003\340A\002\"J"
- + "\n\033BatchCreateSessionsResponse\022+\n\007session"
- + "\030\001 \003(\0132\032.google.spanner.v1.Session\"\211\003\n\007S"
- + "ession\022\021\n\004name\030\001 \001(\tB\003\340A\003\0226\n\006labels\030\002 \003("
- + "\0132&.google.spanner.v1.Session.LabelsEntr"
- + "y\0224\n\013create_time\030\003 \001(\0132\032.google.protobuf"
- + ".TimestampB\003\340A\003\022B\n\031approximate_last_use_"
- + "time\030\004 \001(\0132\032.google.protobuf.TimestampB\003"
- + "\340A\003\022\024\n\014creator_role\030\005 \001(\t\032-\n\013LabelsEntry"
- + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001:t\352Aq\n\036s"
- + "panner.googleapis.com/Session\022Oprojects/"
- + "{project}/instances/{instance}/databases"
- + "/{database}/sessions/{session}\"I\n\021GetSes"
- + "sionRequest\0224\n\004name\030\001 \001(\tB&\340A\002\372A \n\036spann"
- + "er.googleapis.com/Session\"\207\001\n\023ListSessio"
- + "nsRequest\0229\n\010database\030\001 \001(\tB\'\340A\002\372A!\n\037spa"
- + "nner.googleapis.com/Database\022\021\n\tpage_siz"
- + "e\030\002 \001(\005\022\022\n\npage_token\030\003 \001(\t\022\016\n\006filter\030\004 "
- + "\001(\t\"]\n\024ListSessionsResponse\022,\n\010sessions\030"
- + "\001 \003(\0132\032.google.spanner.v1.Session\022\027\n\017nex"
- + "t_page_token\030\002 \001(\t\"L\n\024DeleteSessionReque"
- + "st\0224\n\004name\030\001 \001(\tB&\340A\002\372A \n\036spanner.google"
- + "apis.com/Session\"\334\001\n\016RequestOptions\022<\n\010p"
- + "riority\030\001 \001(\0162*.google.spanner.v1.Reques"
- + "tOptions.Priority\022\023\n\013request_tag\030\002 \001(\t\022\027"
- + "\n\017transaction_tag\030\003 \001(\t\"^\n\010Priority\022\030\n\024P"
- + "RIORITY_UNSPECIFIED\020\000\022\020\n\014PRIORITY_LOW\020\001\022"
- + "\023\n\017PRIORITY_MEDIUM\020\002\022\021\n\rPRIORITY_HIGH\020\003\""
- + "\200\006\n\021ExecuteSqlRequest\0227\n\007session\030\001 \001(\tB&"
- + "\340A\002\372A \n\036spanner.googleapis.com/Session\022;"
- + "\n\013transaction\030\002 \001(\0132&.google.spanner.v1."
- + "TransactionSelector\022\020\n\003sql\030\003 \001(\tB\003\340A\002\022\'\n"
- + "\006params\030\004 \001(\0132\027.google.protobuf.Struct\022I"
- + "\n\013param_types\030\005 \003(\01324.google.spanner.v1."
- + "ExecuteSqlRequest.ParamTypesEntry\022\024\n\014res"
- + "ume_token\030\006 \001(\014\022B\n\nquery_mode\030\007 \001(\0162..go"
- + "ogle.spanner.v1.ExecuteSqlRequest.QueryM"
- + "ode\022\027\n\017partition_token\030\010 \001(\014\022\r\n\005seqno\030\t "
- + "\001(\003\022H\n\rquery_options\030\n \001(\01321.google.span"
- + "ner.v1.ExecuteSqlRequest.QueryOptions\022:\n"
- + "\017request_options\030\013 \001(\0132!.google.spanner."
- + "v1.RequestOptions\022\032\n\022data_boost_enabled\030"
- + "\020 \001(\010\032O\n\014QueryOptions\022\031\n\021optimizer_versi"
- + "on\030\001 \001(\t\022$\n\034optimizer_statistics_package"
- + "\030\002 \001(\t\032J\n\017ParamTypesEntry\022\013\n\003key\030\001 \001(\t\022&"
- + "\n\005value\030\002 \001(\0132\027.google.spanner.v1.Type:\002"
- + "8\001\".\n\tQueryMode\022\n\n\006NORMAL\020\000\022\010\n\004PLAN\020\001\022\013\n"
- + "\007PROFILE\020\002\"\240\004\n\026ExecuteBatchDmlRequest\0227\n"
- + "\007session\030\001 \001(\tB&\340A\002\372A \n\036spanner.googleap"
- + "is.com/Session\022@\n\013transaction\030\002 \001(\0132&.go"
- + "ogle.spanner.v1.TransactionSelectorB\003\340A\002"
- + "\022L\n\nstatements\030\003 \003(\01323.google.spanner.v1"
- + ".ExecuteBatchDmlRequest.StatementB\003\340A\002\022\022"
- + "\n\005seqno\030\004 \001(\003B\003\340A\002\022:\n\017request_options\030\005 "
- + "\001(\0132!.google.spanner.v1.RequestOptions\032\354"
- + "\001\n\tStatement\022\020\n\003sql\030\001 \001(\tB\003\340A\002\022\'\n\006params"
- + "\030\002 \001(\0132\027.google.protobuf.Struct\022X\n\013param"
- + "_types\030\003 \003(\0132C.google.spanner.v1.Execute"
- + "BatchDmlRequest.Statement.ParamTypesEntr"
- + "y\032J\n\017ParamTypesEntry\022\013\n\003key\030\001 \001(\t\022&\n\005val"
- + "ue\030\002 \001(\0132\027.google.spanner.v1.Type:\0028\001\"p\n"
- + "\027ExecuteBatchDmlResponse\0221\n\013result_sets\030"
- + "\001 \003(\0132\034.google.spanner.v1.ResultSet\022\"\n\006s"
- + "tatus\030\002 \001(\0132\022.google.rpc.Status\"H\n\020Parti"
- + "tionOptions\022\034\n\024partition_size_bytes\030\001 \001("
- + "\003\022\026\n\016max_partitions\030\002 \001(\003\"\243\003\n\025PartitionQ"
- + "ueryRequest\0227\n\007session\030\001 \001(\tB&\340A\002\372A \n\036sp"
- + "anner.googleapis.com/Session\022;\n\013transact"
- + "ion\030\002 \001(\0132&.google.spanner.v1.Transactio"
- + "nSelector\022\020\n\003sql\030\003 \001(\tB\003\340A\002\022\'\n\006params\030\004 "
- + "\001(\0132\027.google.protobuf.Struct\022M\n\013param_ty"
- + "pes\030\005 \003(\01328.google.spanner.v1.PartitionQ"
- + "ueryRequest.ParamTypesEntry\022>\n\021partition"
- + "_options\030\006 \001(\0132#.google.spanner.v1.Parti"
- + "tionOptions\032J\n\017ParamTypesEntry\022\013\n\003key\030\001 "
- + "\001(\t\022&\n\005value\030\002 \001(\0132\027.google.spanner.v1.T"
- + "ype:\0028\001\"\261\002\n\024PartitionReadRequest\0227\n\007sess"
- + "ion\030\001 \001(\tB&\340A\002\372A \n\036spanner.googleapis.co"
+ + "1/type.proto\"\205\001\n\024CreateSessionRequest\022:\n"
+ + "\010database\030\001 \001(\tB(\342A\001\002\372A!\n\037spanner.google"
+ + "apis.com/Database\0221\n\007session\030\002 \001(\0132\032.goo"
+ + "gle.spanner.v1.SessionB\004\342A\001\002\"\253\001\n\032BatchCr"
+ + "eateSessionsRequest\022:\n\010database\030\001 \001(\tB(\342"
+ + "A\001\002\372A!\n\037spanner.googleapis.com/Database\022"
+ + "4\n\020session_template\030\002 \001(\0132\032.google.spann"
+ + "er.v1.Session\022\033\n\rsession_count\030\003 \001(\005B\004\342A"
+ + "\001\002\"J\n\033BatchCreateSessionsResponse\022+\n\007ses"
+ + "sion\030\001 \003(\0132\032.google.spanner.v1.Session\"\214"
+ + "\003\n\007Session\022\022\n\004name\030\001 \001(\tB\004\342A\001\003\0226\n\006labels"
+ + "\030\002 \003(\0132&.google.spanner.v1.Session.Label"
+ + "sEntry\0225\n\013create_time\030\003 \001(\0132\032.google.pro"
+ + "tobuf.TimestampB\004\342A\001\003\022C\n\031approximate_las"
+ + "t_use_time\030\004 \001(\0132\032.google.protobuf.Times"
+ + "tampB\004\342A\001\003\022\024\n\014creator_role\030\005 \001(\t\032-\n\013Labe"
+ + "lsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001:"
+ + "t\352Aq\n\036spanner.googleapis.com/Session\022Opr"
+ + "ojects/{project}/instances/{instance}/da"
+ + "tabases/{database}/sessions/{session}\"J\n"
+ + "\021GetSessionRequest\0225\n\004name\030\001 \001(\tB\'\342A\001\002\372A"
+ + " \n\036spanner.googleapis.com/Session\"\210\001\n\023Li"
+ + "stSessionsRequest\022:\n\010database\030\001 \001(\tB(\342A\001"
+ + "\002\372A!\n\037spanner.googleapis.com/Database\022\021\n"
+ + "\tpage_size\030\002 \001(\005\022\022\n\npage_token\030\003 \001(\t\022\016\n\006"
+ + "filter\030\004 \001(\t\"]\n\024ListSessionsResponse\022,\n\010"
+ + "sessions\030\001 \003(\0132\032.google.spanner.v1.Sessi"
+ + "on\022\027\n\017next_page_token\030\002 \001(\t\"M\n\024DeleteSes"
+ + "sionRequest\0225\n\004name\030\001 \001(\tB\'\342A\001\002\372A \n\036span"
+ + "ner.googleapis.com/Session\"\334\001\n\016RequestOp"
+ + "tions\022<\n\010priority\030\001 \001(\0162*.google.spanner"
+ + ".v1.RequestOptions.Priority\022\023\n\013request_t"
+ + "ag\030\002 \001(\t\022\027\n\017transaction_tag\030\003 \001(\t\"^\n\010Pri"
+ + "ority\022\030\n\024PRIORITY_UNSPECIFIED\020\000\022\020\n\014PRIOR"
+ + "ITY_LOW\020\001\022\023\n\017PRIORITY_MEDIUM\020\002\022\021\n\rPRIORI"
+ + "TY_HIGH\020\003\"\202\006\n\021ExecuteSqlRequest\0228\n\007sessi"
+ + "on\030\001 \001(\tB\'\342A\001\002\372A \n\036spanner.googleapis.co"
+ "m/Session\022;\n\013transaction\030\002 \001(\0132&.google."
- + "spanner.v1.TransactionSelector\022\022\n\005table\030"
- + "\003 \001(\tB\003\340A\002\022\r\n\005index\030\004 \001(\t\022\017\n\007columns\030\005 \003"
- + "(\t\022/\n\007key_set\030\006 \001(\0132\031.google.spanner.v1."
- + "KeySetB\003\340A\002\022>\n\021partition_options\030\t \001(\0132#"
- + ".google.spanner.v1.PartitionOptions\"$\n\tP"
- + "artition\022\027\n\017partition_token\030\001 \001(\014\"z\n\021Par"
- + "titionResponse\0220\n\npartitions\030\001 \003(\0132\034.goo"
- + "gle.spanner.v1.Partition\0223\n\013transaction\030"
- + "\002 \001(\0132\036.google.spanner.v1.Transaction\"\203\003"
- + "\n\013ReadRequest\0227\n\007session\030\001 \001(\tB&\340A\002\372A \n\036"
- + "spanner.googleapis.com/Session\022;\n\013transa"
- + "ction\030\002 \001(\0132&.google.spanner.v1.Transact"
- + "ionSelector\022\022\n\005table\030\003 \001(\tB\003\340A\002\022\r\n\005index"
- + "\030\004 \001(\t\022\024\n\007columns\030\005 \003(\tB\003\340A\002\022/\n\007key_set\030"
- + "\006 \001(\0132\031.google.spanner.v1.KeySetB\003\340A\002\022\r\n"
- + "\005limit\030\010 \001(\003\022\024\n\014resume_token\030\t \001(\014\022\027\n\017pa"
- + "rtition_token\030\n \001(\014\022:\n\017request_options\030\013"
- + " \001(\0132!.google.spanner.v1.RequestOptions\022"
- + "\032\n\022data_boost_enabled\030\017 \001(\010\"\313\001\n\027BeginTra"
- + "nsactionRequest\0227\n\007session\030\001 \001(\tB&\340A\002\372A "
- + "\n\036spanner.googleapis.com/Session\022;\n\007opti"
- + "ons\030\002 \001(\0132%.google.spanner.v1.Transactio"
- + "nOptionsB\003\340A\002\022:\n\017request_options\030\003 \001(\0132!"
- + ".google.spanner.v1.RequestOptions\"\303\002\n\rCo"
- + "mmitRequest\0227\n\007session\030\001 \001(\tB&\340A\002\372A \n\036sp"
- + "anner.googleapis.com/Session\022\030\n\016transact"
- + "ion_id\030\002 \001(\014H\000\022G\n\026single_use_transaction"
- + "\030\003 \001(\0132%.google.spanner.v1.TransactionOp"
- + "tionsH\000\022.\n\tmutations\030\004 \003(\0132\033.google.span"
- + "ner.v1.Mutation\022\033\n\023return_commit_stats\030\005"
- + " \001(\010\022:\n\017request_options\030\006 \001(\0132!.google.s"
- + "panner.v1.RequestOptionsB\r\n\013transaction\""
- + "g\n\017RollbackRequest\0227\n\007session\030\001 \001(\tB&\340A\002"
- + "\372A \n\036spanner.googleapis.com/Session\022\033\n\016t"
- + "ransaction_id\030\002 \001(\014B\003\340A\0022\300\026\n\007Spanner\022\246\001\n"
- + "\rCreateSession\022\'.google.spanner.v1.Creat"
- + "eSessionRequest\032\032.google.spanner.v1.Sess"
- + "ion\"P\202\323\344\223\002?\":/v1/{database=projects/*/in"
- + "stances/*/databases/*}/sessions:\001*\332A\010dat"
- + "abase\022\340\001\n\023BatchCreateSessions\022-.google.s"
- + "panner.v1.BatchCreateSessionsRequest\032..g"
- + "oogle.spanner.v1.BatchCreateSessionsResp"
- + "onse\"j\202\323\344\223\002K\"F/v1/{database=projects/*/i"
- + "nstances/*/databases/*}/sessions:batchCr"
- + "eate:\001*\332A\026database,session_count\022\227\001\n\nGet"
- + "Session\022$.google.spanner.v1.GetSessionRe"
- + "quest\032\032.google.spanner.v1.Session\"G\202\323\344\223\002"
- + ":\0228/v1/{name=projects/*/instances/*/data"
- + "bases/*/sessions/*}\332A\004name\022\256\001\n\014ListSessi"
- + "ons\022&.google.spanner.v1.ListSessionsRequ"
- + "est\032\'.google.spanner.v1.ListSessionsResp"
- + "onse\"M\202\323\344\223\002<\022:/v1/{database=projects/*/i"
- + "nstances/*/databases/*}/sessions\332A\010datab"
- + "ase\022\231\001\n\rDeleteSession\022\'.google.spanner.v"
- + "1.DeleteSessionRequest\032\026.google.protobuf"
- + ".Empty\"G\202\323\344\223\002:*8/v1/{name=projects/*/ins"
- + "tances/*/databases/*/sessions/*}\332A\004name\022"
- + "\243\001\n\nExecuteSql\022$.google.spanner.v1.Execu"
- + "teSqlRequest\032\034.google.spanner.v1.ResultS"
- + "et\"Q\202\323\344\223\002K\"F/v1/{session=projects/*/inst"
- + "ances/*/databases/*/sessions/*}:executeS"
- + "ql:\001*\022\276\001\n\023ExecuteStreamingSql\022$.google.s"
- + "panner.v1.ExecuteSqlRequest\032#.google.spa"
- + "nner.v1.PartialResultSet\"Z\202\323\344\223\002T\"O/v1/{s"
- + "ession=projects/*/instances/*/databases/"
- + "*/sessions/*}:executeStreamingSql:\001*0\001\022\300"
- + "\001\n\017ExecuteBatchDml\022).google.spanner.v1.E"
- + "xecuteBatchDmlRequest\032*.google.spanner.v"
- + "1.ExecuteBatchDmlResponse\"V\202\323\344\223\002P\"K/v1/{"
- + "session=projects/*/instances/*/databases"
- + "/*/sessions/*}:executeBatchDml:\001*\022\221\001\n\004Re"
- + "ad\022\036.google.spanner.v1.ReadRequest\032\034.goo"
- + "gle.spanner.v1.ResultSet\"K\202\323\344\223\002E\"@/v1/{s"
- + "ession=projects/*/instances/*/databases/"
- + "*/sessions/*}:read:\001*\022\254\001\n\rStreamingRead\022"
- + "\036.google.spanner.v1.ReadRequest\032#.google"
- + ".spanner.v1.PartialResultSet\"T\202\323\344\223\002N\"I/v"
- + "1/{session=projects/*/instances/*/databa"
- + "ses/*/sessions/*}:streamingRead:\001*0\001\022\311\001\n"
- + "\020BeginTransaction\022*.google.spanner.v1.Be"
- + "ginTransactionRequest\032\036.google.spanner.v"
- + "1.Transaction\"i\202\323\344\223\002Q\"L/v1/{session=proj"
- + "ects/*/instances/*/databases/*/sessions/"
- + "*}:beginTransaction:\001*\332A\017session,options"
- + "\022\353\001\n\006Commit\022 .google.spanner.v1.CommitRe"
- + "quest\032!.google.spanner.v1.CommitResponse"
- + "\"\233\001\202\323\344\223\002G\"B/v1/{session=projects/*/insta"
- + "nces/*/databases/*/sessions/*}:commit:\001*"
- + "\332A session,transaction_id,mutations\332A(se"
- + "ssion,single_use_transaction,mutations\022\260"
- + "\001\n\010Rollback\022\".google.spanner.v1.Rollback"
- + "Request\032\026.google.protobuf.Empty\"h\202\323\344\223\002I\""
- + "D/v1/{session=projects/*/instances/*/dat"
- + "abases/*/sessions/*}:rollback:\001*\332A\026sessi"
- + "on,transaction_id\022\267\001\n\016PartitionQuery\022(.g"
- + "oogle.spanner.v1.PartitionQueryRequest\032$"
- + ".google.spanner.v1.PartitionResponse\"U\202\323"
- + "\344\223\002O\"J/v1/{session=projects/*/instances/"
- + "*/databases/*/sessions/*}:partitionQuery"
- + ":\001*\022\264\001\n\rPartitionRead\022\'.google.spanner.v"
- + "1.PartitionReadRequest\032$.google.spanner."
- + "v1.PartitionResponse\"T\202\323\344\223\002N\"I/v1/{sessi"
- + "on=projects/*/instances/*/databases/*/se"
- + "ssions/*}:partitionRead:\001*\032w\312A\026spanner.g"
- + "oogleapis.com\322A[https://www.googleapis.c"
- + "om/auth/cloud-platform,https://www.googl"
- + "eapis.com/auth/spanner.dataB\221\002\n\025com.goog"
- + "le.spanner.v1B\014SpannerProtoP\001Z5cloud.goo"
- + "gle.com/go/spanner/apiv1/spannerpb;spann"
- + "erpb\252\002\027Google.Cloud.Spanner.V1\312\002\027Google\\"
- + "Cloud\\Spanner\\V1\352\002\032Google::Cloud::Spanne"
- + "r::V1\352A_\n\037spanner.googleapis.com/Databas"
- + "e\022\n\021partition_options\030\006 \001(\0132#.goog"
+ + "le.spanner.v1.PartitionOptions\032J\n\017ParamT"
+ + "ypesEntry\022\013\n\003key\030\001 \001(\t\022&\n\005value\030\002 \001(\0132\027."
+ + "google.spanner.v1.Type:\0028\001\"\264\002\n\024Partition"
+ + "ReadRequest\0228\n\007session\030\001 \001(\tB\'\342A\001\002\372A \n\036s"
+ + "panner.googleapis.com/Session\022;\n\013transac"
+ + "tion\030\002 \001(\0132&.google.spanner.v1.Transacti"
+ + "onSelector\022\023\n\005table\030\003 \001(\tB\004\342A\001\002\022\r\n\005index"
+ + "\030\004 \001(\t\022\017\n\007columns\030\005 \003(\t\0220\n\007key_set\030\006 \001(\013"
+ + "2\031.google.spanner.v1.KeySetB\004\342A\001\002\022>\n\021par"
+ + "tition_options\030\t \001(\0132#.google.spanner.v1"
+ + ".PartitionOptions\"$\n\tPartition\022\027\n\017partit"
+ + "ion_token\030\001 \001(\014\"z\n\021PartitionResponse\0220\n\n"
+ + "partitions\030\001 \003(\0132\034.google.spanner.v1.Par"
+ + "tition\0223\n\013transaction\030\002 \001(\0132\036.google.spa"
+ + "nner.v1.Transaction\"\207\003\n\013ReadRequest\0228\n\007s"
+ + "ession\030\001 \001(\tB\'\342A\001\002\372A \n\036spanner.googleapi"
+ + "s.com/Session\022;\n\013transaction\030\002 \001(\0132&.goo"
+ + "gle.spanner.v1.TransactionSelector\022\023\n\005ta"
+ + "ble\030\003 \001(\tB\004\342A\001\002\022\r\n\005index\030\004 \001(\t\022\025\n\007column"
+ + "s\030\005 \003(\tB\004\342A\001\002\0220\n\007key_set\030\006 \001(\0132\031.google."
+ + "spanner.v1.KeySetB\004\342A\001\002\022\r\n\005limit\030\010 \001(\003\022\024"
+ + "\n\014resume_token\030\t \001(\014\022\027\n\017partition_token\030"
+ + "\n \001(\014\022:\n\017request_options\030\013 \001(\0132!.google."
+ + "spanner.v1.RequestOptions\022\032\n\022data_boost_"
+ + "enabled\030\017 \001(\010\"\315\001\n\027BeginTransactionReques"
+ + "t\0228\n\007session\030\001 \001(\tB\'\342A\001\002\372A \n\036spanner.goo"
+ + "gleapis.com/Session\022<\n\007options\030\002 \001(\0132%.g"
+ + "oogle.spanner.v1.TransactionOptionsB\004\342A\001"
+ + "\002\022:\n\017request_options\030\003 \001(\0132!.google.span"
+ + "ner.v1.RequestOptions\"\304\002\n\rCommitRequest\022"
+ + "8\n\007session\030\001 \001(\tB\'\342A\001\002\372A \n\036spanner.googl"
+ + "eapis.com/Session\022\030\n\016transaction_id\030\002 \001("
+ + "\014H\000\022G\n\026single_use_transaction\030\003 \001(\0132%.go"
+ + "ogle.spanner.v1.TransactionOptionsH\000\022.\n\t"
+ + "mutations\030\004 \003(\0132\033.google.spanner.v1.Muta"
+ + "tion\022\033\n\023return_commit_stats\030\005 \001(\010\022:\n\017req"
+ + "uest_options\030\006 \001(\0132!.google.spanner.v1.R"
+ + "equestOptionsB\r\n\013transaction\"i\n\017Rollback"
+ + "Request\0228\n\007session\030\001 \001(\tB\'\342A\001\002\372A \n\036spann"
+ + "er.googleapis.com/Session\022\034\n\016transaction"
+ + "_id\030\002 \001(\014B\004\342A\001\0022\300\026\n\007Spanner\022\246\001\n\rCreateSe"
+ + "ssion\022\'.google.spanner.v1.CreateSessionR"
+ + "equest\032\032.google.spanner.v1.Session\"P\332A\010d"
+ + "atabase\202\323\344\223\002?\":/v1/{database=projects/*/"
+ + "instances/*/databases/*}/sessions:\001*\022\340\001\n"
+ + "\023BatchCreateSessions\022-.google.spanner.v1"
+ + ".BatchCreateSessionsRequest\032..google.spa"
+ + "nner.v1.BatchCreateSessionsResponse\"j\332A\026"
+ + "database,session_count\202\323\344\223\002K\"F/v1/{datab"
+ + "ase=projects/*/instances/*/databases/*}/"
+ + "sessions:batchCreate:\001*\022\227\001\n\nGetSession\022$"
+ + ".google.spanner.v1.GetSessionRequest\032\032.g"
+ + "oogle.spanner.v1.Session\"G\332A\004name\202\323\344\223\002:\022"
+ + "8/v1/{name=projects/*/instances/*/databa"
+ + "ses/*/sessions/*}\022\256\001\n\014ListSessions\022&.goo"
+ + "gle.spanner.v1.ListSessionsRequest\032\'.goo"
+ + "gle.spanner.v1.ListSessionsResponse\"M\332A\010"
+ + "database\202\323\344\223\002<\022:/v1/{database=projects/*"
+ + "/instances/*/databases/*}/sessions\022\231\001\n\rD"
+ + "eleteSession\022\'.google.spanner.v1.DeleteS"
+ + "essionRequest\032\026.google.protobuf.Empty\"G\332"
+ + "A\004name\202\323\344\223\002:*8/v1/{name=projects/*/insta"
+ + "nces/*/databases/*/sessions/*}\022\243\001\n\nExecu"
+ + "teSql\022$.google.spanner.v1.ExecuteSqlRequ"
+ + "est\032\034.google.spanner.v1.ResultSet\"Q\202\323\344\223\002"
+ + "K\"F/v1/{session=projects/*/instances/*/d"
+ + "atabases/*/sessions/*}:executeSql:\001*\022\276\001\n"
+ + "\023ExecuteStreamingSql\022$.google.spanner.v1"
+ + ".ExecuteSqlRequest\032#.google.spanner.v1.P"
+ + "artialResultSet\"Z\202\323\344\223\002T\"O/v1/{session=pr"
+ + "ojects/*/instances/*/databases/*/session"
+ + "s/*}:executeStreamingSql:\001*0\001\022\300\001\n\017Execut"
+ + "eBatchDml\022).google.spanner.v1.ExecuteBat"
+ + "chDmlRequest\032*.google.spanner.v1.Execute"
+ + "BatchDmlResponse\"V\202\323\344\223\002P\"K/v1/{session=p"
+ + "rojects/*/instances/*/databases/*/sessio"
+ + "ns/*}:executeBatchDml:\001*\022\221\001\n\004Read\022\036.goog"
+ + "le.spanner.v1.ReadRequest\032\034.google.spann"
+ + "er.v1.ResultSet\"K\202\323\344\223\002E\"@/v1/{session=pr"
+ + "ojects/*/instances/*/databases/*/session"
+ + "s/*}:read:\001*\022\254\001\n\rStreamingRead\022\036.google."
+ + "spanner.v1.ReadRequest\032#.google.spanner."
+ + "v1.PartialResultSet\"T\202\323\344\223\002N\"I/v1/{sessio"
+ + "n=projects/*/instances/*/databases/*/ses"
+ + "sions/*}:streamingRead:\001*0\001\022\311\001\n\020BeginTra"
+ + "nsaction\022*.google.spanner.v1.BeginTransa"
+ + "ctionRequest\032\036.google.spanner.v1.Transac"
+ + "tion\"i\332A\017session,options\202\323\344\223\002Q\"L/v1/{ses"
+ + "sion=projects/*/instances/*/databases/*/"
+ + "sessions/*}:beginTransaction:\001*\022\353\001\n\006Comm"
+ + "it\022 .google.spanner.v1.CommitRequest\032!.g"
+ + "oogle.spanner.v1.CommitResponse\"\233\001\332A ses"
+ + "sion,transaction_id,mutations\332A(session,"
+ + "single_use_transaction,mutations\202\323\344\223\002G\"B"
+ + "/v1/{session=projects/*/instances/*/data"
+ + "bases/*/sessions/*}:commit:\001*\022\260\001\n\010Rollba"
+ + "ck\022\".google.spanner.v1.RollbackRequest\032\026"
+ + ".google.protobuf.Empty\"h\332A\026session,trans"
+ + "action_id\202\323\344\223\002I\"D/v1/{session=projects/*"
+ + "/instances/*/databases/*/sessions/*}:rol"
+ + "lback:\001*\022\267\001\n\016PartitionQuery\022(.google.spa"
+ + "nner.v1.PartitionQueryRequest\032$.google.s"
+ + "panner.v1.PartitionResponse\"U\202\323\344\223\002O\"J/v1"
+ + "/{session=projects/*/instances/*/databas"
+ + "es/*/sessions/*}:partitionQuery:\001*\022\264\001\n\rP"
+ + "artitionRead\022\'.google.spanner.v1.Partiti"
+ + "onReadRequest\032$.google.spanner.v1.Partit"
+ + "ionResponse\"T\202\323\344\223\002N\"I/v1/{session=projec"
+ + "ts/*/instances/*/databases/*/sessions/*}"
+ + ":partitionRead:\001*\032w\312A\026spanner.googleapis"
+ + ".com\322A[https://www.googleapis.com/auth/c"
+ + "loud-platform,https://www.googleapis.com"
+ + "/auth/spanner.dataB\221\002\n\025com.google.spanne"
+ + "r.v1B\014SpannerProtoP\001Z5cloud.google.com/g"
+ + "o/spanner/apiv1/spannerpb;spannerpb\252\002\027Go"
+ + "ogle.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spa"
+ + "nner\\V1\352\002\032Google::Cloud::Spanner::V1\352A_\n"
+ + "\037spanner.googleapis.com/Database\022
@@ -100,6 +96,7 @@ public com.google.protobuf.ByteString getId() {
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -119,6 +116,7 @@ public boolean hasReadTimestamp() {
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -140,6 +138,7 @@ public com.google.protobuf.Timestamp getReadTimestamp() {
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -531,6 +530,7 @@ public Builder mergeFrom(
* [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql],
* [Commit][google.spanner.v1.Spanner.Commit], or
* [Rollback][google.spanner.v1.Spanner.Rollback] calls.
+ *
* Single-use read-only transactions do not have IDs, because
* single-use transactions do not support multiple requests.
*
@@ -552,6 +552,7 @@ public com.google.protobuf.ByteString getId() {
* [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql],
* [Commit][google.spanner.v1.Spanner.Commit], or
* [Rollback][google.spanner.v1.Spanner.Rollback] calls.
+ *
* Single-use read-only transactions do not have IDs, because
* single-use transactions do not support multiple requests.
*
@@ -579,6 +580,7 @@ public Builder setId(com.google.protobuf.ByteString value) {
* [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql],
* [Commit][google.spanner.v1.Spanner.Commit], or
* [Rollback][google.spanner.v1.Spanner.Rollback] calls.
+ *
* Single-use read-only transactions do not have IDs, because
* single-use transactions do not support multiple requests.
*
@@ -607,6 +609,7 @@ public Builder clearId() {
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -625,6 +628,7 @@ public boolean hasReadTimestamp() {
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -649,6 +653,7 @@ public com.google.protobuf.Timestamp getReadTimestamp() {
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -675,6 +680,7 @@ public Builder setReadTimestamp(com.google.protobuf.Timestamp value) {
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -698,6 +704,7 @@ public Builder setReadTimestamp(com.google.protobuf.Timestamp.Builder builderFor
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -727,6 +734,7 @@ public Builder mergeReadTimestamp(com.google.protobuf.Timestamp value) {
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -750,6 +758,7 @@ public Builder clearReadTimestamp() {
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -768,6 +777,7 @@ public com.google.protobuf.Timestamp.Builder getReadTimestampBuilder() {
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -790,6 +800,7 @@ public com.google.protobuf.TimestampOrBuilder getReadTimestampOrBuilder() {
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOptions.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOptions.java
index 85b7624ebe4..d731f85b08a 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOptions.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOptions.java
@@ -23,18 +23,23 @@
*
*
* Transactions:
+ *
* Each session can have at most one active transaction at a time (note that
* standalone reads and queries use a transaction internally and do count
* towards the one transaction limit). After the active transaction is
* completed, the session can immediately be re-used for the next transaction.
* It is not necessary to create a new session for each transaction.
+ *
* Transaction modes:
+ *
* Cloud Spanner supports three transaction modes:
+ *
* 1. Locking read-write. This type of transaction is the only way
* to write data into Cloud Spanner. These transactions rely on
* pessimistic locking and, if necessary, two-phase commit.
* Locking read-write transactions may abort, requiring the
* application to retry.
+ *
* 2. Snapshot read-only. Snapshot read-only transactions provide guaranteed
* consistency across several reads, but do not allow
* writes. Snapshot read-only transactions can be configured to read at
@@ -43,28 +48,35 @@
* guaranteed to see the effects of all transactions that have committed
* before the start of the read). Snapshot read-only transactions do not
* need to be committed.
+ *
* Queries on change streams must be performed with the snapshot read-only
* transaction mode, specifying a strong read. Please see
* [TransactionOptions.ReadOnly.strong][google.spanner.v1.TransactionOptions.ReadOnly.strong]
* for more details.
+ *
* 3. Partitioned DML. This type of transaction is used to execute
* a single Partitioned DML statement. Partitioned DML partitions
* the key space and runs the DML statement over each partition
* in parallel using separate, internal transactions that commit
* independently. Partitioned DML transactions do not need to be
* committed.
+ *
* For transactions that only read, snapshot read-only transactions
* provide simpler semantics and are almost always faster. In
* particular, read-only transactions do not take locks, so they do
* not conflict with read-write transactions. As a consequence of not
* taking locks, they also do not abort, so retry loops are not needed.
+ *
* Transactions may only read-write data in a single database. They
* may, however, read-write data in different tables within that
* database.
+ *
* Locking read-write transactions:
+ *
* Locking transactions may be used to atomically read-modify-write
* data anywhere in a database. This type of transaction is externally
* consistent.
+ *
* Clients should attempt to minimize the amount of time a transaction
* is active. Faster transactions commit with higher probability
* and cause less contention. Cloud Spanner attempts to keep read locks
@@ -74,87 +86,113 @@
* [Rollback][google.spanner.v1.Spanner.Rollback]. Long periods of
* inactivity at the client may cause Cloud Spanner to release a
* transaction's locks and abort it.
+ *
* Conceptually, a read-write transaction consists of zero or more
* reads or SQL statements followed by
* [Commit][google.spanner.v1.Spanner.Commit]. At any time before
* [Commit][google.spanner.v1.Spanner.Commit], the client can send a
* [Rollback][google.spanner.v1.Spanner.Rollback] request to abort the
* transaction.
+ *
* Semantics:
+ *
* Cloud Spanner can commit the transaction if all read locks it acquired
* are still valid at commit time, and it is able to acquire write
* locks for all writes. Cloud Spanner can abort the transaction for any
* reason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees
* that the transaction has not modified any user data in Cloud Spanner.
+ *
* Unless the transaction commits, Cloud Spanner makes no guarantees about
* how long the transaction's locks were held for. It is an error to
* use Cloud Spanner locks for any sort of mutual exclusion other than
* between Cloud Spanner transactions themselves.
+ *
* Retrying aborted transactions:
+ *
* When a transaction aborts, the application can choose to retry the
* whole transaction again. To maximize the chances of successfully
* committing the retry, the client should execute the retry in the
* same session as the original attempt. The original session's lock
* priority increases with each consecutive abort, meaning that each
* attempt has a slightly better chance of success than the previous.
+ *
* Under some circumstances (for example, many transactions attempting to
* modify the same row(s)), a transaction can abort many times in a
* short period before successfully committing. Thus, it is not a good
* idea to cap the number of retries a transaction can attempt;
* instead, it is better to limit the total amount of time spent
* retrying.
+ *
* Idle transactions:
+ *
* A transaction is considered idle if it has no outstanding reads or
* SQL queries and has not started a read or SQL query within the last 10
* seconds. Idle transactions can be aborted by Cloud Spanner so that they
* don't hold on to locks indefinitely. If an idle transaction is aborted, the
* commit will fail with error `ABORTED`.
+ *
* If this behavior is undesirable, periodically executing a simple
* SQL query in the transaction (for example, `SELECT 1`) prevents the
* transaction from becoming idle.
+ *
* Snapshot read-only transactions:
+ *
* Snapshot read-only transactions provides a simpler method than
* locking read-write transactions for doing several consistent
* reads. However, this type of transaction does not support writes.
+ *
* Snapshot transactions do not take locks. Instead, they work by
* choosing a Cloud Spanner timestamp, then executing all reads at that
* timestamp. Since they do not acquire locks, they do not block
* concurrent read-write transactions.
+ *
* Unlike locking read-write transactions, snapshot read-only
* transactions never abort. They can fail if the chosen read
* timestamp is garbage collected; however, the default garbage
* collection policy is generous enough that most applications do not
* need to worry about this in practice.
+ *
* Snapshot read-only transactions do not need to call
* [Commit][google.spanner.v1.Spanner.Commit] or
* [Rollback][google.spanner.v1.Spanner.Rollback] (and in fact are not
* permitted to do so).
+ *
* To execute a snapshot transaction, the client specifies a timestamp
* bound, which tells Cloud Spanner how to choose a read timestamp.
+ *
* The types of timestamp bound are:
+ *
* - Strong (the default).
* - Bounded staleness.
* - Exact staleness.
+ *
* If the Cloud Spanner database to be read is geographically distributed,
* stale read-only transactions can execute more quickly than strong
* or read-write transactions, because they are able to execute far
* from the leader replica.
+ *
* Each type of timestamp bound is discussed in detail below.
+ *
* Strong: Strong reads are guaranteed to see the effects of all transactions
* that have committed before the start of the read. Furthermore, all
* rows yielded by a single read are consistent with each other -- if
* any part of the read observes a transaction, all parts of the read
* see the transaction.
+ *
* Strong reads are not repeatable: two consecutive strong read-only
* transactions might return inconsistent results if there are
* concurrent writes. If consistency across reads is required, the
* reads should be executed within a transaction or at an exact read
* timestamp.
+ *
* Queries on change streams (see below for more details) must also specify
* the strong read timestamp bound.
+ *
* See
* [TransactionOptions.ReadOnly.strong][google.spanner.v1.TransactionOptions.ReadOnly.strong].
+ *
* Exact staleness:
+ *
* These timestamp bounds execute reads at a user-specified
* timestamp. Reads at a timestamp are guaranteed to see a consistent
* prefix of the global transaction history: they observe
@@ -163,42 +201,54 @@
* transactions with a larger commit timestamp. They will block until
* all conflicting transactions that may be assigned commit timestamps
* <= the read timestamp have finished.
+ *
* The timestamp can either be expressed as an absolute Cloud Spanner commit
* timestamp or a staleness relative to the current time.
+ *
* These modes do not require a "negotiation phase" to pick a
* timestamp. As a result, they execute slightly faster than the
* equivalent boundedly stale concurrency modes. On the other hand,
* boundedly stale reads usually return fresher results.
+ *
* See
* [TransactionOptions.ReadOnly.read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.read_timestamp]
* and
* [TransactionOptions.ReadOnly.exact_staleness][google.spanner.v1.TransactionOptions.ReadOnly.exact_staleness].
+ *
* Bounded staleness:
+ *
* Bounded staleness modes allow Cloud Spanner to pick the read timestamp,
* subject to a user-provided staleness bound. Cloud Spanner chooses the
* newest timestamp within the staleness bound that allows execution
* of the reads at the closest available replica without blocking.
+ *
* All rows yielded are consistent with each other -- if any part of
* the read observes a transaction, all parts of the read see the
* transaction. Boundedly stale reads are not repeatable: two stale
* reads, even if they use the same staleness bound, can execute at
* different timestamps and thus return inconsistent results.
+ *
* Boundedly stale reads execute in two phases: the first phase
* negotiates a timestamp among all replicas needed to serve the
* read. In the second phase, reads are executed at the negotiated
* timestamp.
+ *
* As a result of the two phase execution, bounded staleness reads are
* usually a little slower than comparable exact staleness
* reads. However, they are typically able to return fresher
* results, and are more likely to execute at the closest replica.
+ *
* Because the timestamp negotiation requires up-front knowledge of
* which rows will be read, it can only be used with single-use
* read-only transactions.
+ *
* See
* [TransactionOptions.ReadOnly.max_staleness][google.spanner.v1.TransactionOptions.ReadOnly.max_staleness]
* and
* [TransactionOptions.ReadOnly.min_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.min_read_timestamp].
+ *
* Old read timestamps and garbage collection:
+ *
* Cloud Spanner continuously garbage collects deleted and overwritten data
* in the background to reclaim storage space. This process is known
* as "version GC". By default, version GC reclaims versions after they
@@ -207,18 +257,23 @@
* restriction also applies to in-progress reads and/or SQL queries whose
* timestamp become too old while executing. Reads and SQL queries with
* too-old read timestamps fail with the error `FAILED_PRECONDITION`.
+ *
* You can configure and extend the `VERSION_RETENTION_PERIOD` of a
* database up to a period as long as one week, which allows Cloud Spanner
* to perform reads up to one week in the past.
+ *
* Querying change Streams:
+ *
* A Change Stream is a schema object that can be configured to watch data
* changes on the entire database, a set of tables, or a set of columns
* in a database.
+ *
* When a change stream is created, Spanner automatically defines a
* corresponding SQL Table-Valued Function (TVF) that can be used to query
* the change records in the associated change stream using the
* ExecuteStreamingSql API. The name of the TVF for a change stream is
* generated from the name of the change stream: READ_<change_stream_name>.
+ *
* All queries on change stream TVFs must be executed using the
* ExecuteStreamingSql API with a single-use read-only transaction with a
* strong read-only timestamp_bound. The change stream TVF allows users to
@@ -226,34 +281,44 @@
* interest. All change records within the retention period is accessible
* using the strong read-only timestamp_bound. All other TransactionOptions
* are invalid for change stream queries.
+ *
* In addition, if TransactionOptions.read_only.return_read_timestamp is set
* to true, a special value of 2^63 - 2 will be returned in the
* [Transaction][google.spanner.v1.Transaction] message that describes the
* transaction, instead of a valid read timestamp. This special value should be
* discarded and not used for any subsequent queries.
+ *
* Please see https://cloud.google.com/spanner/docs/change-streams
* for more details on how to query the change stream TVFs.
+ *
* Partitioned DML transactions:
+ *
* Partitioned DML transactions are used to execute DML statements with a
* different execution strategy that provides different, and often better,
* scalability properties for large, table-wide operations than DML in a
* ReadWrite transaction. Smaller scoped statements, such as an OLTP workload,
* should prefer using ReadWrite transactions.
+ *
* Partitioned DML partitions the keyspace and runs the DML statement on each
* partition in separate, internal transactions. These transactions commit
* automatically when complete, and run independently from one another.
+ *
* To reduce lock contention, this execution strategy only acquires read locks
* on rows that match the WHERE clause of the statement. Additionally, the
* smaller per-partition transactions hold locks for less time.
+ *
* That said, Partitioned DML is not a drop-in replacement for standard DML used
* in ReadWrite transactions.
+ *
* - The DML statement must be fully-partitionable. Specifically, the statement
* must be expressible as the union of many statements which each access only
* a single row of the table.
+ *
* - The statement is not applied atomically to all rows of the table. Rather,
* the statement is applied atomically to partitions of the table, in
* independent transactions. Secondary index rows are updated atomically
* with the base table rows.
+ *
* - Partitioned DML does not guarantee exactly-once execution semantics
* against a partition. The statement will be applied at least once to each
* partition. It is strongly recommended that the DML statement should be
@@ -261,19 +326,23 @@
* dangerous to run a statement such as
* `UPDATE table SET column = column + 1` as it could be run multiple times
* against some rows.
+ *
* - The partitions are committed automatically - there is no support for
* Commit or Rollback. If the call returns an error, or if the client issuing
* the ExecuteSql call dies, it is possible that some rows had the statement
* executed on them successfully. It is also possible that statement was
* never executed against other rows.
+ *
* - Partitioned DML transactions may only contain the execution of a single
* DML statement via ExecuteSql or ExecuteStreamingSql.
+ *
* - If any error is encountered during the execution of the partitioned DML
* operation (for instance, a UNIQUE INDEX violation, division by zero, or a
* value that cannot be stored due to schema constraints), then the
* operation is stopped at that point and an error is returned. It is
* possible that at this point, some partitions have been committed (or even
* committed multiple times), and other partitions have not been run at all.
+ *
* Given the above, Partitioned DML is good fit for large, database-wide,
* operations that are idempotent, such as deleting old rows from a very large
* table.
@@ -299,11 +368,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new TransactionOptions();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.TransactionProto
.internal_static_google_spanner_v1_TransactionOptions_descriptor;
@@ -379,11 +443,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ReadWrite();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.TransactionProto
.internal_static_google_spanner_v1_TransactionOptions_ReadWrite_descriptor;
@@ -415,6 +474,7 @@ public enum ReadLockMode implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Default value.
+ *
* If the value is not specified, the pessimistic read lock is used.
*
*
@@ -426,6 +486,7 @@ public enum ReadLockMode implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Pessimistic lock mode.
+ *
* Read locks are acquired immediately on read.
*
*
@@ -437,6 +498,7 @@ public enum ReadLockMode implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Optimistic lock mode.
+ *
* Locks for reads within the transaction are not acquired on read.
* Instead the locks are acquired on a commit to validate that
* read/queried data has not changed since the transaction started.
@@ -453,6 +515,7 @@ public enum ReadLockMode implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Default value.
+ *
* If the value is not specified, the pessimistic read lock is used.
*
*
@@ -464,6 +527,7 @@ public enum ReadLockMode implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Pessimistic lock mode.
+ *
* Read locks are acquired immediately on read.
*
*
@@ -475,6 +539,7 @@ public enum ReadLockMode implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Optimistic lock mode.
+ *
* Locks for reads within the transaction are not acquired on read.
* Instead the locks are acquired on a commit to validate that
* read/queried data has not changed since the transaction started.
@@ -1151,11 +1216,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new PartitionedDml();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.TransactionProto
.internal_static_google_spanner_v1_TransactionOptions_PartitionedDml_descriptor;
@@ -1585,10 +1645,13 @@ public interface ReadOnlyOrBuilder
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -1603,10 +1666,13 @@ public interface ReadOnlyOrBuilder
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -1621,10 +1687,13 @@ public interface ReadOnlyOrBuilder
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -1643,9 +1712,11 @@ public interface ReadOnlyOrBuilder
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -1665,9 +1736,11 @@ public interface ReadOnlyOrBuilder
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -1687,9 +1760,11 @@ public interface ReadOnlyOrBuilder
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -1707,9 +1782,11 @@ public interface ReadOnlyOrBuilder
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -1728,9 +1805,11 @@ public interface ReadOnlyOrBuilder
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -1749,9 +1828,11 @@ public interface ReadOnlyOrBuilder
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -1766,11 +1847,13 @@ public interface ReadOnlyOrBuilder
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -1786,11 +1869,13 @@ public interface ReadOnlyOrBuilder
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -1806,11 +1891,13 @@ public interface ReadOnlyOrBuilder
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -1834,8 +1921,7 @@ public interface ReadOnlyOrBuilder
*/
boolean getReturnReadTimestamp();
- public com.google.spanner.v1.TransactionOptions.ReadOnly.TimestampBoundCase
- getTimestampBoundCase();
+ com.google.spanner.v1.TransactionOptions.ReadOnly.TimestampBoundCase getTimestampBoundCase();
}
/**
*
@@ -1864,11 +1950,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new ReadOnly();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.TransactionProto
.internal_static_google_spanner_v1_TransactionOptions_ReadOnly_descriptor;
@@ -1885,6 +1966,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
}
private int timestampBoundCase_ = 0;
+
+ @SuppressWarnings("serial")
private java.lang.Object timestampBound_;
public enum TimestampBoundCase
@@ -1983,10 +2066,13 @@ public boolean getStrong() {
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -2004,10 +2090,13 @@ public boolean hasMinReadTimestamp() {
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -2028,10 +2117,13 @@ public com.google.protobuf.Timestamp getMinReadTimestamp() {
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -2057,9 +2149,11 @@ public com.google.protobuf.TimestampOrBuilder getMinReadTimestampOrBuilder() {
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -2082,9 +2176,11 @@ public boolean hasMaxStaleness() {
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -2110,9 +2206,11 @@ public com.google.protobuf.Duration getMaxStaleness() {
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -2137,9 +2235,11 @@ public com.google.protobuf.DurationOrBuilder getMaxStalenessOrBuilder() {
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -2161,9 +2261,11 @@ public boolean hasReadTimestamp() {
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -2188,9 +2290,11 @@ public com.google.protobuf.Timestamp getReadTimestamp() {
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -2212,11 +2316,13 @@ public com.google.protobuf.TimestampOrBuilder getReadTimestampOrBuilder() {
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -2235,11 +2341,13 @@ public boolean hasExactStaleness() {
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -2261,11 +2369,13 @@ public com.google.protobuf.Duration getExactStaleness() {
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -2921,10 +3031,13 @@ public Builder clearStrong() {
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -2942,10 +3055,13 @@ public boolean hasMinReadTimestamp() {
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -2973,10 +3089,13 @@ public com.google.protobuf.Timestamp getMinReadTimestamp() {
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3001,10 +3120,13 @@ public Builder setMinReadTimestamp(com.google.protobuf.Timestamp value) {
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3026,10 +3148,13 @@ public Builder setMinReadTimestamp(com.google.protobuf.Timestamp.Builder builder
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3064,10 +3189,13 @@ public Builder mergeMinReadTimestamp(com.google.protobuf.Timestamp value) {
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3095,10 +3223,13 @@ public Builder clearMinReadTimestamp() {
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3113,10 +3244,13 @@ public com.google.protobuf.Timestamp.Builder getMinReadTimestampBuilder() {
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3139,10 +3273,13 @@ public com.google.protobuf.TimestampOrBuilder getMinReadTimestampOrBuilder() {
*
*
* Executes all reads at a timestamp >= `min_read_timestamp`.
+ *
* This is useful for requesting fresher data than some previous
* read, or data that is fresh enough to observe the effects of some
* previously committed transaction whose timestamp is known.
+ *
* Note that this option can only be used in single-use transactions.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3188,9 +3325,11 @@ public com.google.protobuf.TimestampOrBuilder getMinReadTimestampOrBuilder() {
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -3213,9 +3352,11 @@ public boolean hasMaxStaleness() {
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -3248,9 +3389,11 @@ public com.google.protobuf.Duration getMaxStaleness() {
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -3280,9 +3423,11 @@ public Builder setMaxStaleness(com.google.protobuf.Duration value) {
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -3309,9 +3454,11 @@ public Builder setMaxStaleness(com.google.protobuf.Duration.Builder builderForVa
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -3351,9 +3498,11 @@ public Builder mergeMaxStaleness(com.google.protobuf.Duration value) {
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -3386,9 +3535,11 @@ public Builder clearMaxStaleness() {
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -3408,9 +3559,11 @@ public com.google.protobuf.Duration.Builder getMaxStalenessBuilder() {
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -3438,9 +3591,11 @@ public com.google.protobuf.DurationOrBuilder getMaxStalenessOrBuilder() {
* Cloud Spanner chooses the exact timestamp, this mode works even if
* the client's local clock is substantially skewed from Cloud Spanner
* commit timestamps.
+ *
* Useful for reading the freshest data available at a nearby
* replica, while bounding the possible staleness if the local
* replica has fallen behind.
+ *
* Note that this option can only be used in single-use
* transactions.
*
@@ -3485,9 +3640,11 @@ public com.google.protobuf.DurationOrBuilder getMaxStalenessOrBuilder() {
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3509,9 +3666,11 @@ public boolean hasReadTimestamp() {
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3543,9 +3702,11 @@ public com.google.protobuf.Timestamp getReadTimestamp() {
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3574,9 +3735,11 @@ public Builder setReadTimestamp(com.google.protobuf.Timestamp value) {
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3602,9 +3765,11 @@ public Builder setReadTimestamp(com.google.protobuf.Timestamp.Builder builderFor
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3643,9 +3808,11 @@ public Builder mergeReadTimestamp(com.google.protobuf.Timestamp value) {
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3677,9 +3844,11 @@ public Builder clearReadTimestamp() {
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3698,9 +3867,11 @@ public com.google.protobuf.Timestamp.Builder getReadTimestampBuilder() {
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3727,9 +3898,11 @@ public com.google.protobuf.TimestampOrBuilder getReadTimestampOrBuilder() {
* the same timestamp always returns the same data. If the
* timestamp is in the future, the read will block until the
* specified timestamp, modulo the read's deadline.
+ *
* Useful for large scale consistent reads such as mapreduces, or
* for coordinating many reads against a consistent snapshot of the
* data.
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -3771,11 +3944,13 @@ public com.google.protobuf.TimestampOrBuilder getReadTimestampOrBuilder() {
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -3794,11 +3969,13 @@ public boolean hasExactStaleness() {
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -3827,11 +4004,13 @@ public com.google.protobuf.Duration getExactStaleness() {
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -3857,11 +4036,13 @@ public Builder setExactStaleness(com.google.protobuf.Duration value) {
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -3884,11 +4065,13 @@ public Builder setExactStaleness(com.google.protobuf.Duration.Builder builderFor
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -3924,11 +4107,13 @@ public Builder mergeExactStaleness(com.google.protobuf.Duration value) {
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -3957,11 +4142,13 @@ public Builder clearExactStaleness() {
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -3977,11 +4164,13 @@ public com.google.protobuf.Duration.Builder getExactStalenessBuilder() {
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -4005,11 +4194,13 @@ public com.google.protobuf.DurationOrBuilder getExactStalenessOrBuilder() {
*
* Executes all reads at a timestamp that is `exact_staleness`
* old. The timestamp is chosen soon after the read is started.
+ *
* Guarantees that all writes that have committed more than the
* specified number of seconds ago are visible. Because Cloud Spanner
* chooses the exact timestamp, this mode works even if the client's
* local clock is substantially skewed from Cloud Spanner commit
* timestamps.
+ *
* Useful for reading at nearby replicas without the distributed
* timestamp negotiation overhead of `max_staleness`.
*
@@ -4164,6 +4355,8 @@ public com.google.spanner.v1.TransactionOptions.ReadOnly getDefaultInstanceForTy
}
private int modeCase_ = 0;
+
+ @SuppressWarnings("serial")
private java.lang.Object mode_;
public enum ModeCase
@@ -4219,6 +4412,7 @@ public ModeCase getModeCase() {
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -4237,6 +4431,7 @@ public boolean hasReadWrite() {
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -4258,6 +4453,7 @@ public com.google.spanner.v1.TransactionOptions.ReadWrite getReadWrite() {
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -4279,6 +4475,7 @@ public com.google.spanner.v1.TransactionOptions.ReadWriteOrBuilder getReadWriteO
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -4297,6 +4494,7 @@ public boolean hasPartitionedDml() {
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -4318,6 +4516,7 @@ public com.google.spanner.v1.TransactionOptions.PartitionedDml getPartitionedDml
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -4340,6 +4539,7 @@ public com.google.spanner.v1.TransactionOptions.PartitionedDml getPartitionedDml
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -4358,6 +4558,7 @@ public boolean hasReadOnly() {
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -4379,6 +4580,7 @@ public com.google.spanner.v1.TransactionOptions.ReadOnly getReadOnly() {
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -4602,18 +4804,23 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
*
*
* Transactions:
+ *
* Each session can have at most one active transaction at a time (note that
* standalone reads and queries use a transaction internally and do count
* towards the one transaction limit). After the active transaction is
* completed, the session can immediately be re-used for the next transaction.
* It is not necessary to create a new session for each transaction.
+ *
* Transaction modes:
+ *
* Cloud Spanner supports three transaction modes:
+ *
* 1. Locking read-write. This type of transaction is the only way
* to write data into Cloud Spanner. These transactions rely on
* pessimistic locking and, if necessary, two-phase commit.
* Locking read-write transactions may abort, requiring the
* application to retry.
+ *
* 2. Snapshot read-only. Snapshot read-only transactions provide guaranteed
* consistency across several reads, but do not allow
* writes. Snapshot read-only transactions can be configured to read at
@@ -4622,28 +4829,35 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* guaranteed to see the effects of all transactions that have committed
* before the start of the read). Snapshot read-only transactions do not
* need to be committed.
+ *
* Queries on change streams must be performed with the snapshot read-only
* transaction mode, specifying a strong read. Please see
* [TransactionOptions.ReadOnly.strong][google.spanner.v1.TransactionOptions.ReadOnly.strong]
* for more details.
+ *
* 3. Partitioned DML. This type of transaction is used to execute
* a single Partitioned DML statement. Partitioned DML partitions
* the key space and runs the DML statement over each partition
* in parallel using separate, internal transactions that commit
* independently. Partitioned DML transactions do not need to be
* committed.
+ *
* For transactions that only read, snapshot read-only transactions
* provide simpler semantics and are almost always faster. In
* particular, read-only transactions do not take locks, so they do
* not conflict with read-write transactions. As a consequence of not
* taking locks, they also do not abort, so retry loops are not needed.
+ *
* Transactions may only read-write data in a single database. They
* may, however, read-write data in different tables within that
* database.
+ *
* Locking read-write transactions:
+ *
* Locking transactions may be used to atomically read-modify-write
* data anywhere in a database. This type of transaction is externally
* consistent.
+ *
* Clients should attempt to minimize the amount of time a transaction
* is active. Faster transactions commit with higher probability
* and cause less contention. Cloud Spanner attempts to keep read locks
@@ -4653,87 +4867,113 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* [Rollback][google.spanner.v1.Spanner.Rollback]. Long periods of
* inactivity at the client may cause Cloud Spanner to release a
* transaction's locks and abort it.
+ *
* Conceptually, a read-write transaction consists of zero or more
* reads or SQL statements followed by
* [Commit][google.spanner.v1.Spanner.Commit]. At any time before
* [Commit][google.spanner.v1.Spanner.Commit], the client can send a
* [Rollback][google.spanner.v1.Spanner.Rollback] request to abort the
* transaction.
+ *
* Semantics:
+ *
* Cloud Spanner can commit the transaction if all read locks it acquired
* are still valid at commit time, and it is able to acquire write
* locks for all writes. Cloud Spanner can abort the transaction for any
* reason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees
* that the transaction has not modified any user data in Cloud Spanner.
+ *
* Unless the transaction commits, Cloud Spanner makes no guarantees about
* how long the transaction's locks were held for. It is an error to
* use Cloud Spanner locks for any sort of mutual exclusion other than
* between Cloud Spanner transactions themselves.
+ *
* Retrying aborted transactions:
+ *
* When a transaction aborts, the application can choose to retry the
* whole transaction again. To maximize the chances of successfully
* committing the retry, the client should execute the retry in the
* same session as the original attempt. The original session's lock
* priority increases with each consecutive abort, meaning that each
* attempt has a slightly better chance of success than the previous.
+ *
* Under some circumstances (for example, many transactions attempting to
* modify the same row(s)), a transaction can abort many times in a
* short period before successfully committing. Thus, it is not a good
* idea to cap the number of retries a transaction can attempt;
* instead, it is better to limit the total amount of time spent
* retrying.
+ *
* Idle transactions:
+ *
* A transaction is considered idle if it has no outstanding reads or
* SQL queries and has not started a read or SQL query within the last 10
* seconds. Idle transactions can be aborted by Cloud Spanner so that they
* don't hold on to locks indefinitely. If an idle transaction is aborted, the
* commit will fail with error `ABORTED`.
+ *
* If this behavior is undesirable, periodically executing a simple
* SQL query in the transaction (for example, `SELECT 1`) prevents the
* transaction from becoming idle.
+ *
* Snapshot read-only transactions:
+ *
* Snapshot read-only transactions provides a simpler method than
* locking read-write transactions for doing several consistent
* reads. However, this type of transaction does not support writes.
+ *
* Snapshot transactions do not take locks. Instead, they work by
* choosing a Cloud Spanner timestamp, then executing all reads at that
* timestamp. Since they do not acquire locks, they do not block
* concurrent read-write transactions.
+ *
* Unlike locking read-write transactions, snapshot read-only
* transactions never abort. They can fail if the chosen read
* timestamp is garbage collected; however, the default garbage
* collection policy is generous enough that most applications do not
* need to worry about this in practice.
+ *
* Snapshot read-only transactions do not need to call
* [Commit][google.spanner.v1.Spanner.Commit] or
* [Rollback][google.spanner.v1.Spanner.Rollback] (and in fact are not
* permitted to do so).
+ *
* To execute a snapshot transaction, the client specifies a timestamp
* bound, which tells Cloud Spanner how to choose a read timestamp.
+ *
* The types of timestamp bound are:
+ *
* - Strong (the default).
* - Bounded staleness.
* - Exact staleness.
+ *
* If the Cloud Spanner database to be read is geographically distributed,
* stale read-only transactions can execute more quickly than strong
* or read-write transactions, because they are able to execute far
* from the leader replica.
+ *
* Each type of timestamp bound is discussed in detail below.
+ *
* Strong: Strong reads are guaranteed to see the effects of all transactions
* that have committed before the start of the read. Furthermore, all
* rows yielded by a single read are consistent with each other -- if
* any part of the read observes a transaction, all parts of the read
* see the transaction.
+ *
* Strong reads are not repeatable: two consecutive strong read-only
* transactions might return inconsistent results if there are
* concurrent writes. If consistency across reads is required, the
* reads should be executed within a transaction or at an exact read
* timestamp.
+ *
* Queries on change streams (see below for more details) must also specify
* the strong read timestamp bound.
+ *
* See
* [TransactionOptions.ReadOnly.strong][google.spanner.v1.TransactionOptions.ReadOnly.strong].
+ *
* Exact staleness:
+ *
* These timestamp bounds execute reads at a user-specified
* timestamp. Reads at a timestamp are guaranteed to see a consistent
* prefix of the global transaction history: they observe
@@ -4742,42 +4982,54 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* transactions with a larger commit timestamp. They will block until
* all conflicting transactions that may be assigned commit timestamps
* <= the read timestamp have finished.
+ *
* The timestamp can either be expressed as an absolute Cloud Spanner commit
* timestamp or a staleness relative to the current time.
+ *
* These modes do not require a "negotiation phase" to pick a
* timestamp. As a result, they execute slightly faster than the
* equivalent boundedly stale concurrency modes. On the other hand,
* boundedly stale reads usually return fresher results.
+ *
* See
* [TransactionOptions.ReadOnly.read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.read_timestamp]
* and
* [TransactionOptions.ReadOnly.exact_staleness][google.spanner.v1.TransactionOptions.ReadOnly.exact_staleness].
+ *
* Bounded staleness:
+ *
* Bounded staleness modes allow Cloud Spanner to pick the read timestamp,
* subject to a user-provided staleness bound. Cloud Spanner chooses the
* newest timestamp within the staleness bound that allows execution
* of the reads at the closest available replica without blocking.
+ *
* All rows yielded are consistent with each other -- if any part of
* the read observes a transaction, all parts of the read see the
* transaction. Boundedly stale reads are not repeatable: two stale
* reads, even if they use the same staleness bound, can execute at
* different timestamps and thus return inconsistent results.
+ *
* Boundedly stale reads execute in two phases: the first phase
* negotiates a timestamp among all replicas needed to serve the
* read. In the second phase, reads are executed at the negotiated
* timestamp.
+ *
* As a result of the two phase execution, bounded staleness reads are
* usually a little slower than comparable exact staleness
* reads. However, they are typically able to return fresher
* results, and are more likely to execute at the closest replica.
+ *
* Because the timestamp negotiation requires up-front knowledge of
* which rows will be read, it can only be used with single-use
* read-only transactions.
+ *
* See
* [TransactionOptions.ReadOnly.max_staleness][google.spanner.v1.TransactionOptions.ReadOnly.max_staleness]
* and
* [TransactionOptions.ReadOnly.min_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.min_read_timestamp].
+ *
* Old read timestamps and garbage collection:
+ *
* Cloud Spanner continuously garbage collects deleted and overwritten data
* in the background to reclaim storage space. This process is known
* as "version GC". By default, version GC reclaims versions after they
@@ -4786,18 +5038,23 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* restriction also applies to in-progress reads and/or SQL queries whose
* timestamp become too old while executing. Reads and SQL queries with
* too-old read timestamps fail with the error `FAILED_PRECONDITION`.
+ *
* You can configure and extend the `VERSION_RETENTION_PERIOD` of a
* database up to a period as long as one week, which allows Cloud Spanner
* to perform reads up to one week in the past.
+ *
* Querying change Streams:
+ *
* A Change Stream is a schema object that can be configured to watch data
* changes on the entire database, a set of tables, or a set of columns
* in a database.
+ *
* When a change stream is created, Spanner automatically defines a
* corresponding SQL Table-Valued Function (TVF) that can be used to query
* the change records in the associated change stream using the
* ExecuteStreamingSql API. The name of the TVF for a change stream is
* generated from the name of the change stream: READ_<change_stream_name>.
+ *
* All queries on change stream TVFs must be executed using the
* ExecuteStreamingSql API with a single-use read-only transaction with a
* strong read-only timestamp_bound. The change stream TVF allows users to
@@ -4805,34 +5062,44 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* interest. All change records within the retention period is accessible
* using the strong read-only timestamp_bound. All other TransactionOptions
* are invalid for change stream queries.
+ *
* In addition, if TransactionOptions.read_only.return_read_timestamp is set
* to true, a special value of 2^63 - 2 will be returned in the
* [Transaction][google.spanner.v1.Transaction] message that describes the
* transaction, instead of a valid read timestamp. This special value should be
* discarded and not used for any subsequent queries.
+ *
* Please see https://cloud.google.com/spanner/docs/change-streams
* for more details on how to query the change stream TVFs.
+ *
* Partitioned DML transactions:
+ *
* Partitioned DML transactions are used to execute DML statements with a
* different execution strategy that provides different, and often better,
* scalability properties for large, table-wide operations than DML in a
* ReadWrite transaction. Smaller scoped statements, such as an OLTP workload,
* should prefer using ReadWrite transactions.
+ *
* Partitioned DML partitions the keyspace and runs the DML statement on each
* partition in separate, internal transactions. These transactions commit
* automatically when complete, and run independently from one another.
+ *
* To reduce lock contention, this execution strategy only acquires read locks
* on rows that match the WHERE clause of the statement. Additionally, the
* smaller per-partition transactions hold locks for less time.
+ *
* That said, Partitioned DML is not a drop-in replacement for standard DML used
* in ReadWrite transactions.
+ *
* - The DML statement must be fully-partitionable. Specifically, the statement
* must be expressible as the union of many statements which each access only
* a single row of the table.
+ *
* - The statement is not applied atomically to all rows of the table. Rather,
* the statement is applied atomically to partitions of the table, in
* independent transactions. Secondary index rows are updated atomically
* with the base table rows.
+ *
* - Partitioned DML does not guarantee exactly-once execution semantics
* against a partition. The statement will be applied at least once to each
* partition. It is strongly recommended that the DML statement should be
@@ -4840,19 +5107,23 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* dangerous to run a statement such as
* `UPDATE table SET column = column + 1` as it could be run multiple times
* against some rows.
+ *
* - The partitions are committed automatically - there is no support for
* Commit or Rollback. If the call returns an error, or if the client issuing
* the ExecuteSql call dies, it is possible that some rows had the statement
* executed on them successfully. It is also possible that statement was
* never executed against other rows.
+ *
* - Partitioned DML transactions may only contain the execution of a single
* DML statement via ExecuteSql or ExecuteStreamingSql.
+ *
* - If any error is encountered during the execution of the partitioned DML
* operation (for instance, a UNIQUE INDEX violation, division by zero, or a
* value that cannot be stored due to schema constraints), then the
* operation is stopped at that point and an error is returned. It is
* possible that at this point, some partitions have been committed (or even
* committed multiple times), and other partitions have not been run at all.
+ *
* Given the above, Partitioned DML is good fit for large, database-wide,
* operations that are idempotent, such as deleting old rows from a very large
* table.
@@ -5107,6 +5378,7 @@ public Builder clearMode() {
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -5125,6 +5397,7 @@ public boolean hasReadWrite() {
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -5153,6 +5426,7 @@ public com.google.spanner.v1.TransactionOptions.ReadWrite getReadWrite() {
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -5178,6 +5452,7 @@ public Builder setReadWrite(com.google.spanner.v1.TransactionOptions.ReadWrite v
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -5201,6 +5476,7 @@ public Builder setReadWrite(
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -5236,6 +5512,7 @@ public Builder mergeReadWrite(com.google.spanner.v1.TransactionOptions.ReadWrite
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -5264,6 +5541,7 @@ public Builder clearReadWrite() {
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -5279,6 +5557,7 @@ public com.google.spanner.v1.TransactionOptions.ReadWrite.Builder getReadWriteBu
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -5302,6 +5581,7 @@ public com.google.spanner.v1.TransactionOptions.ReadWriteOrBuilder getReadWriteO
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -5343,6 +5623,7 @@ public com.google.spanner.v1.TransactionOptions.ReadWriteOrBuilder getReadWriteO
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -5361,6 +5642,7 @@ public boolean hasPartitionedDml() {
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -5389,6 +5671,7 @@ public com.google.spanner.v1.TransactionOptions.PartitionedDml getPartitionedDml
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -5415,6 +5698,7 @@ public Builder setPartitionedDml(
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -5438,6 +5722,7 @@ public Builder setPartitionedDml(
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -5475,6 +5760,7 @@ public Builder mergePartitionedDml(
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -5503,6 +5789,7 @@ public Builder clearPartitionedDml() {
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -5519,6 +5806,7 @@ public Builder clearPartitionedDml() {
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -5543,6 +5831,7 @@ public Builder clearPartitionedDml() {
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -5584,6 +5873,7 @@ public Builder clearPartitionedDml() {
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -5602,6 +5892,7 @@ public boolean hasReadOnly() {
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -5630,6 +5921,7 @@ public com.google.spanner.v1.TransactionOptions.ReadOnly getReadOnly() {
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -5655,6 +5947,7 @@ public Builder setReadOnly(com.google.spanner.v1.TransactionOptions.ReadOnly val
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -5678,6 +5971,7 @@ public Builder setReadOnly(
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -5713,6 +6007,7 @@ public Builder mergeReadOnly(com.google.spanner.v1.TransactionOptions.ReadOnly v
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -5741,6 +6036,7 @@ public Builder clearReadOnly() {
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -5756,6 +6052,7 @@ public com.google.spanner.v1.TransactionOptions.ReadOnly.Builder getReadOnlyBuil
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -5779,6 +6076,7 @@ public com.google.spanner.v1.TransactionOptions.ReadOnlyOrBuilder getReadOnlyOrB
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOptionsOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOptionsOrBuilder.java
index c7b46083a13..e2f2613bb69 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOptionsOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOptionsOrBuilder.java
@@ -28,6 +28,7 @@ public interface TransactionOptionsOrBuilder
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -43,6 +44,7 @@ public interface TransactionOptionsOrBuilder
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -58,6 +60,7 @@ public interface TransactionOptionsOrBuilder
*
*
* Transaction may write.
+ *
* Authorization to begin a read-write transaction requires
* `spanner.databases.beginOrRollbackReadWriteTransaction` permission
* on the `session` resource.
@@ -72,6 +75,7 @@ public interface TransactionOptionsOrBuilder
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -87,6 +91,7 @@ public interface TransactionOptionsOrBuilder
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -102,6 +107,7 @@ public interface TransactionOptionsOrBuilder
*
*
* Partitioned DML transaction.
+ *
* Authorization to begin a Partitioned DML transaction requires
* `spanner.databases.beginPartitionedDmlTransaction` permission
* on the `session` resource.
@@ -116,6 +122,7 @@ public interface TransactionOptionsOrBuilder
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -131,6 +138,7 @@ public interface TransactionOptionsOrBuilder
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -146,6 +154,7 @@ public interface TransactionOptionsOrBuilder
*
*
* Transaction will not write.
+ *
* Authorization to begin a read-only transaction requires
* `spanner.databases.beginReadOnlyTransaction` permission
* on the `session` resource.
@@ -155,5 +164,5 @@ public interface TransactionOptionsOrBuilder
*/
com.google.spanner.v1.TransactionOptions.ReadOnlyOrBuilder getReadOnlyOrBuilder();
- public com.google.spanner.v1.TransactionOptions.ModeCase getModeCase();
+ com.google.spanner.v1.TransactionOptions.ModeCase getModeCase();
}
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOrBuilder.java
index 24a9ee693d9..57893613d67 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionOrBuilder.java
@@ -32,6 +32,7 @@ public interface TransactionOrBuilder
* [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql],
* [Commit][google.spanner.v1.Spanner.Commit], or
* [Rollback][google.spanner.v1.Spanner.Rollback] calls.
+ *
* Single-use read-only transactions do not have IDs, because
* single-use transactions do not support multiple requests.
*
@@ -49,6 +50,7 @@ public interface TransactionOrBuilder
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -65,6 +67,7 @@ public interface TransactionOrBuilder
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
@@ -81,6 +84,7 @@ public interface TransactionOrBuilder
* For snapshot read-only transactions, the read timestamp chosen
* for the transaction. Not returned by default: see
* [TransactionOptions.ReadOnly.return_read_timestamp][google.spanner.v1.TransactionOptions.ReadOnly.return_read_timestamp].
+ *
* A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds.
* Example: `"2014-10-02T15:01:23.045123456Z"`.
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionSelector.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionSelector.java
index 3d3062141b9..b96de165770 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionSelector.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionSelector.java
@@ -25,6 +25,7 @@
* This message is used to select the transaction in which a
* [Read][google.spanner.v1.Spanner.Read] or
* [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] call runs.
+ *
* See [TransactionOptions][google.spanner.v1.TransactionOptions] for more
* information about transactions.
*
@@ -49,11 +50,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new TransactionSelector();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.TransactionProto
.internal_static_google_spanner_v1_TransactionSelector_descriptor;
@@ -70,6 +66,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
}
private int selectorCase_ = 0;
+
+ @SuppressWarnings("serial")
private java.lang.Object selector_;
public enum SelectorCase
@@ -482,6 +480,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* This message is used to select the transaction in which a
* [Read][google.spanner.v1.Spanner.Read] or
* [ExecuteSql][google.spanner.v1.Spanner.ExecuteSql] call runs.
+ *
* See [TransactionOptions][google.spanner.v1.TransactionOptions] for more
* information about transactions.
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionSelectorOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionSelectorOrBuilder.java
index ff10cc1510b..478bc44b868 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionSelectorOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionSelectorOrBuilder.java
@@ -133,5 +133,5 @@ public interface TransactionSelectorOrBuilder
*/
com.google.spanner.v1.TransactionOptionsOrBuilder getBeginOrBuilder();
- public com.google.spanner.v1.TransactionSelector.SelectorCase getSelectorCase();
+ com.google.spanner.v1.TransactionSelector.SelectorCase getSelectorCase();
}
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Type.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Type.java
index 6785a32ef32..eba671dad85 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Type.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/Type.java
@@ -49,11 +49,6 @@ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new Type();
}
- @java.lang.Override
- public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
- return this.unknownFields;
- }
-
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.spanner.v1.TypeProto.internal_static_google_spanner_v1_Type_descriptor;
}
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeCode.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeCode.java
index 4b6561e9def..5ce677274bd 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeCode.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeCode.java
@@ -24,6 +24,7 @@
*
* `TypeCode` is used as part of [Type][google.spanner.v1.Type] to
* indicate the type of a Cloud Spanner value.
+ *
* Each legal value of a type can be encoded to or decoded from a JSON
* value, using the encodings described below. All Cloud Spanner values can
* be `null`, regardless of type; `null`s are always encoded as a JSON
@@ -80,6 +81,7 @@ public enum TypeCode implements com.google.protobuf.ProtocolMessageEnum {
*
* Encoded as `string` in RFC 3339 timestamp format. The time zone
* must be present, and must be `"Z"`.
+ *
* If the schema has the column option
* `allow_commit_timestamp=true`, the placeholder string
* `"spanner.commit_timestamp()"` can be used to instruct the system
@@ -152,6 +154,7 @@ public enum TypeCode implements com.google.protobuf.ProtocolMessageEnum {
* <br>Decimal format:
* <br>`[+-]Digits[.[Digits]]` or
* <br>`[+-][Digits].Digits`
+ *
* Scientific notation:
* <br>`[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or
* <br>`[+-][Digits].Digits[ExponentIndicator[+-]Digits]`
@@ -167,6 +170,7 @@ public enum TypeCode implements com.google.protobuf.ProtocolMessageEnum {
*
* Encoded as a JSON-formatted `string` as described in RFC 7159. The
* following rules are applied when parsing JSON input:
+ *
* - Whitespace characters are not preserved.
* - If a JSON object has duplicate keys, only the first key is preserved.
* - Members of a JSON object are not guaranteed to have their order
@@ -227,6 +231,7 @@ public enum TypeCode implements com.google.protobuf.ProtocolMessageEnum {
*
* Encoded as `string` in RFC 3339 timestamp format. The time zone
* must be present, and must be `"Z"`.
+ *
* If the schema has the column option
* `allow_commit_timestamp=true`, the placeholder string
* `"spanner.commit_timestamp()"` can be used to instruct the system
@@ -299,6 +304,7 @@ public enum TypeCode implements com.google.protobuf.ProtocolMessageEnum {
* <br>Decimal format:
* <br>`[+-]Digits[.[Digits]]` or
* <br>`[+-][Digits].Digits`
+ *
* Scientific notation:
* <br>`[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or
* <br>`[+-][Digits].Digits[ExponentIndicator[+-]Digits]`
@@ -314,6 +320,7 @@ public enum TypeCode implements com.google.protobuf.ProtocolMessageEnum {
*
* Encoded as a JSON-formatted `string` as described in RFC 7159. The
* following rules are applied when parsing JSON input:
+ *
* - Whitespace characters are not preserved.
* - If a JSON object has duplicate keys, only the first key is preserved.
* - Members of a JSON object are not guaranteed to have their order
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeProto.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeProto.java
index cc18356b426..1c024ce208a 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeProto.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeProto.java
@@ -50,26 +50,26 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
java.lang.String[] descriptorData = {
"\n\034google/spanner/v1/type.proto\022\021google.s"
+ "panner.v1\032\037google/api/field_behavior.pro"
- + "to\"\337\001\n\004Type\022.\n\004code\030\001 \001(\0162\033.google.spann"
- + "er.v1.TypeCodeB\003\340A\002\0223\n\022array_element_typ"
- + "e\030\002 \001(\0132\027.google.spanner.v1.Type\0222\n\013stru"
- + "ct_type\030\003 \001(\0132\035.google.spanner.v1.Struct"
- + "Type\022>\n\017type_annotation\030\004 \001(\0162%.google.s"
- + "panner.v1.TypeAnnotationCode\"\177\n\nStructTy"
- + "pe\0223\n\006fields\030\001 \003(\0132#.google.spanner.v1.S"
- + "tructType.Field\032<\n\005Field\022\014\n\004name\030\001 \001(\t\022%"
- + "\n\004type\030\002 \001(\0132\027.google.spanner.v1.Type*\245\001"
- + "\n\010TypeCode\022\031\n\025TYPE_CODE_UNSPECIFIED\020\000\022\010\n"
- + "\004BOOL\020\001\022\t\n\005INT64\020\002\022\013\n\007FLOAT64\020\003\022\r\n\tTIMES"
- + "TAMP\020\004\022\010\n\004DATE\020\005\022\n\n\006STRING\020\006\022\t\n\005BYTES\020\007\022"
- + "\t\n\005ARRAY\020\010\022\n\n\006STRUCT\020\t\022\013\n\007NUMERIC\020\n\022\010\n\004J"
- + "SON\020\013*X\n\022TypeAnnotationCode\022$\n TYPE_ANNO"
- + "TATION_CODE_UNSPECIFIED\020\000\022\016\n\nPG_NUMERIC\020"
- + "\002\022\014\n\010PG_JSONB\020\003B\254\001\n\025com.google.spanner.v"
- + "1B\tTypeProtoP\001Z5cloud.google.com/go/span"
- + "ner/apiv1/spannerpb;spannerpb\252\002\027Google.C"
- + "loud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V"
- + "1\352\002\032Google::Cloud::Spanner::V1b\006proto3"
+ + "to\"\340\001\n\004Type\022/\n\004code\030\001 \001(\0162\033.google.spann"
+ + "er.v1.TypeCodeB\004\342A\001\002\0223\n\022array_element_ty"
+ + "pe\030\002 \001(\0132\027.google.spanner.v1.Type\0222\n\013str"
+ + "uct_type\030\003 \001(\0132\035.google.spanner.v1.Struc"
+ + "tType\022>\n\017type_annotation\030\004 \001(\0162%.google."
+ + "spanner.v1.TypeAnnotationCode\"\177\n\nStructT"
+ + "ype\0223\n\006fields\030\001 \003(\0132#.google.spanner.v1."
+ + "StructType.Field\032<\n\005Field\022\014\n\004name\030\001 \001(\t\022"
+ + "%\n\004type\030\002 \001(\0132\027.google.spanner.v1.Type*\245"
+ + "\001\n\010TypeCode\022\031\n\025TYPE_CODE_UNSPECIFIED\020\000\022\010"
+ + "\n\004BOOL\020\001\022\t\n\005INT64\020\002\022\013\n\007FLOAT64\020\003\022\r\n\tTIME"
+ + "STAMP\020\004\022\010\n\004DATE\020\005\022\n\n\006STRING\020\006\022\t\n\005BYTES\020\007"
+ + "\022\t\n\005ARRAY\020\010\022\n\n\006STRUCT\020\t\022\013\n\007NUMERIC\020\n\022\010\n\004"
+ + "JSON\020\013*X\n\022TypeAnnotationCode\022$\n TYPE_ANN"
+ + "OTATION_CODE_UNSPECIFIED\020\000\022\016\n\nPG_NUMERIC"
+ + "\020\002\022\014\n\010PG_JSONB\020\003B\254\001\n\025com.google.spanner."
+ + "v1B\tTypeProtoP\001Z5cloud.google.com/go/spa"
+ + "nner/apiv1/spannerpb;spannerpb\252\002\027Google."
+ + "Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\"
+ + "V1\352\002\032Google::Cloud::Spanner::V1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 3f5952d44a4..227e9e154c2 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -22,8 +22,8 @@
1.8
UTF-8
0.31.1
- 2.20.0
- 3.21.0
+ 2.22.0
+ 3.23.0