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() { *@@ -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 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() { *@@ -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. ** 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() { *@@ -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. ** 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() { *@@ -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. ** 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) { *@@ -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. ** 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() { *@@ -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. ** 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@@ -789,6 +796,7 @@ public com.google.protobuf.TimestampOrBuilder getEarliestVersionTimeOrBuilder() *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 *@@ -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. ** 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@@ -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. *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 { *@@ -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. ** 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. ** 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() { *@@ -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. ** 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. *
* 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() { *@@ -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. @@ -3411,6 +3458,7 @@ public com.google.protobuf.ByteString getDefaultLeaderBytes() { *@@ -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. ** 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) { *@@ -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. ** 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() { *@@ -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. ** 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. *
* 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 *@@ -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() { ** 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; + +/** + * + * + *@@ -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"`. *+ * 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.Iterablevalues) { + 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.ParserPARSER = + 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.ListgetEntityNamesList(); + /** + * + * + * + * 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.Iterablevalues) { 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() { * *@@ -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"`. ** 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) { * *@@ -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. ** 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() { * *@@ -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. ** 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() { * *@@ -1766,11 +1847,13 @@ public interface ReadOnlyOrBuilder ** 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) { * *@@ -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"`. ** 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() { * *@@ -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"`. ** 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 * *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 @@ * ** 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 * *@@ -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"`. ** 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() { * *@@ -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"`. ** 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() { * *@@ -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"`. ** 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) { * *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 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() { * *@@ -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]. ** 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() { * *@@ -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]. ** 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) { * *@@ -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]. ** 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() { * *@@ -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]. ** 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 * *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]. ** 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 * *@@ -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]. ** 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() { * *@@ -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]. ** 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() { * *@@ -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]. ** 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) { * *@@ -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]. ** 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() { * *@@ -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]. ** 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() { * *@@ -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]. ** 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) { * *@@ -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]. ** 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() { * *@@ -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]. ** 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 * *@@ -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]. ** 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 * *@@ -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]. ** 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@@ -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]. *\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.Listge * * * 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.Listge * * * 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.Listactions_; + /** + * + * + * + * 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.Iterablevalues) { 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.Listactions_ = + 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.ListgetActionsList(); + /** + * + * + * + * 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.Iterablevalues) { 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() { * *@@ -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]. ** 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) { * *@@ -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]. ** 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() { * *@@ -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]. ** 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() { * *@@ -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]. ** 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) { * *@@ -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]. ** 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() { * *@@ -709,6 +722,7 @@ public java.util.List* 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 * *@@ -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]. ** 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 * *@@ -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]. ** 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() { *@@ -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]. ** 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() { *@@ -133,6 +136,7 @@ public java.util.List* 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) { *@@ -114,6 +116,7 @@ public java.util.List* 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() { ** @@ -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]. ** 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() { ** @@ -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. ** 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) { ** @@ -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 * ** 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() { ** @@ -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. ** 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 ** @@ -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. ** 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 ** @@ -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. ** 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 { * ** @@ -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. ** 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 { * ** @@ -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. ** 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 { ** @@ -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. ** 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 { * ** @@ -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. ** 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 { * ** @@ -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. ** 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 { ** @@ -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) { * ** 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 @@* @@ -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. *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.MapgetParamTypes * 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.MapgetParamTypes * 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() { * ** @@ -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. ** 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() { * ** @@ -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. ** 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. ** 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() { * ** @@ -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. ** 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() { * ** @@ -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. ** 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) { * ** @@ -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. ** 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( * ** @@ -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. ** 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) * ** @@ -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. ** 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() { * ** @@ -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. ** 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() * ** @@ -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. ** 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 * ** @@ -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. ** 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. ** 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 * ** @@ -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. ** 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 * ** @@ -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. ** 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. *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]. * 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]. * 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]. * * 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 * *@@ -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"`. ** 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() { * *@@ -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"`. ** 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() { * *@@ -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"`. ** 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( * *@@ -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"`. ** 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() { * ** @@ -436,6 +464,7 @@ com.google.spanner.v1.Type getParamTypesOrDefault( ** 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() { * ** @@ -4260,6 +4462,7 @@ public com.google.spanner.v1.RequestOptionsOrBuilder getRequestOptionsOrBuilder( ** 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) { * ** @@ -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. ** 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() { * ** @@ -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. ** 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() { * ** @@ -1980,6 +2105,7 @@ public com.google.spanner.v1.RequestOptionsOrBuilder getRequestOptionsOrBuilder( ** 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.MapgetParamTypes * 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. * * 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.MapgetParamTypes * 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. * * 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. ** 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() { *@@ -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"`. ** 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) { *@@ -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"`. ** 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() { *@@ -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. ** 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() { *@@ -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. ** 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) { *@@ -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. ** 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() { *@@ -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"`. ** 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 *@@ -351,6 +357,7 @@ public interface ReadRequestOrBuilder ** 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 *@@ -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. ** 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 * *@@ -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. ** 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 * *@@ -2527,6 +2548,7 @@ public com.google.spanner.v1.RequestOptionsOrBuilder getRequestOptionsOrBuilder( ** 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 * *@@ -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. ** 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 * *@@ -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. ** 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(); /** * * *@@ -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. ** 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() { * *@@ -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. ** 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() { * *@@ -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. ** 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) { * *@@ -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. ** 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; } /** * * *@@ -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. ** 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_; } /** * * *@@ -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. ** 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() { * *@@ -549,6 +551,7 @@ public com.google.spanner.v1.RequestOptionsOrBuilder getRequestOptionsOrBuilder( ** 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) { * *@@ -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. ** 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) { * *@@ -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. ** 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) { * *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. ** 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) { * *@@ -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. ** 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@@ -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. *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.Iterablediff --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. *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@@ -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. *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() { *@@ -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. ** **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( *@@ -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. ** **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() { *@@ -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. ** **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) { *@@ -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. ** **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() { *@@ -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. ** **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() { *@@ -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. ** **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) { *@@ -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. ** **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 *@@ -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* **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 *@@ -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. ** **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() { * *@@ -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. ** 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.MapgetParamTypes * 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.MapgetParamTypes * 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. *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. * * 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.Iterablevalues) { 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. * * 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. ** 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() { * *@@ -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"`. ** 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.MapgetLabels() { * * * 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.MapgetLabelsMap() { * * * 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.MapgetLabelsMap() { * * * 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.MapgetLabels() { * * * 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.MapgetLabelsMap() { * * * 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.MapgetLabelsMap() { * * * 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.MapgetMutableLabels() { * * * 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"`. * * 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 { * *@@ -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"`. ** 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 { * *@@ -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. ** 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 * *@@ -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. ** 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. ** 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. *
* 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 * *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 @@ ** 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 * *@@ -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. ** 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 * *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. ** 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 * *@@ -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"`. ** 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 * *@@ -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"`. ** 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"`. ** `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