diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java index 091cdf486f3..ac602861ce0 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClient.java @@ -77,9 +77,9 @@ /** * Service Description: Cloud Spanner Database Admin API * - *
The Cloud Spanner Database Admin API can be used to create, drop, and list databases. It also - * enables updating the schema of pre-existing databases. It can be also used to create, delete and - * list backups for a database and to restore from an existing backup. + *
The Cloud Spanner Database Admin API can be used to: * create, drop, and list databases + * * update the schema of pre-existing databases * create, delete and list backups for a + * database * restore a database from an existing backup * *
This class provides the ability to make remote calls to the backing service through method
* calls that map to API methods. Sample code to get started:
@@ -438,6 +438,7 @@ public final OperationFuture Sample code:
*
@@ -797,7 +801,8 @@ public final void dropDatabase(DatabaseName database) {
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be
- * retained according to their `expire_time`.
+ * retained according to their `expire_time`. Note: Cloud Spanner might continue to accept
+ * requests for a few seconds after the database has been deleted.
*
* Sample code:
*
@@ -819,7 +824,8 @@ public final void dropDatabase(String database) {
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be
- * retained according to their `expire_time`.
+ * retained according to their `expire_time`. Note: Cloud Spanner might continue to accept
+ * requests for a few seconds after the database has been deleted.
*
* Sample code:
*
@@ -843,7 +849,8 @@ public final void dropDatabase(DropDatabaseRequest request) {
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be
- * retained according to their `expire_time`.
+ * retained according to their `expire_time`. Note: Cloud Spanner might continue to accept
+ * requests for a few seconds after the database has been deleted.
*
* Sample code:
*
diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java
index 50846d9be21..42874c08c82 100644
--- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java
+++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/package-info.java
@@ -21,9 +21,9 @@
*
* Service Description: Cloud Spanner Database Admin API
*
- * The Cloud Spanner Database Admin API can be used to create, drop, and list databases. It also
- * enables updating the schema of pre-existing databases. It can be also used to create, delete and
- * list backups for a database and to restore from an existing backup.
+ * The Cloud Spanner Database Admin API can be used to: * create, drop, and list databases
+ * * update the schema of pre-existing databases * create, delete and list backups for a
+ * database * restore a database from an existing backup
*
* Sample for DatabaseAdminClient:
*
diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java
index e37cf2bc316..ef43a4b44c2 100644
--- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java
+++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminClientTest.java
@@ -49,6 +49,7 @@
import com.google.spanner.admin.database.v1.CreateBackupRequest;
import com.google.spanner.admin.database.v1.CreateDatabaseRequest;
import com.google.spanner.admin.database.v1.Database;
+import com.google.spanner.admin.database.v1.DatabaseDialect;
import com.google.spanner.admin.database.v1.DatabaseName;
import com.google.spanner.admin.database.v1.DeleteBackupRequest;
import com.google.spanner.admin.database.v1.DropDatabaseRequest;
@@ -224,6 +225,7 @@ public void createDatabaseTest() throws Exception {
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
+ .setDatabaseDialect(DatabaseDialect.forNumber(0))
.build();
Operation resultOperation =
Operation.newBuilder()
@@ -280,6 +282,7 @@ public void createDatabaseTest2() throws Exception {
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
+ .setDatabaseDialect(DatabaseDialect.forNumber(0))
.build();
Operation resultOperation =
Operation.newBuilder()
@@ -336,6 +339,7 @@ public void getDatabaseTest() throws Exception {
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
+ .setDatabaseDialect(DatabaseDialect.forNumber(0))
.build();
mockDatabaseAdmin.addResponse(expectedResponse);
@@ -381,6 +385,7 @@ public void getDatabaseTest2() throws Exception {
.setVersionRetentionPeriod("versionRetentionPeriod-629783929")
.setEarliestVersionTime(Timestamp.newBuilder().build())
.setDefaultLeader("defaultLeader759009962")
+ .setDatabaseDialect(DatabaseDialect.forNumber(0))
.build();
mockDatabaseAdmin.addResponse(expectedResponse);
@@ -900,6 +905,7 @@ public void createBackupTest() throws Exception {
.setSizeBytes(-1796325715)
.addAllReferencingDatabases(new ArrayList
* Cloud Spanner Database Admin API
- * The Cloud Spanner Database Admin API can be used to create, drop, and
- * list databases. It also enables updating the schema of pre-existing
- * databases. It can be also used to create, delete and list backups for a
- * database and to restore from an existing backup.
+ * The Cloud Spanner Database Admin API can be used to:
+ * * create, drop, and list databases
+ * * update the schema of pre-existing databases
+ * * create, delete and list backups for a database
+ * * restore a database from an existing backup
*
*/
@javax.annotation.Generated(
@@ -851,10 +852,11 @@ public DatabaseAdminFutureStub newStub(
*
*
* Cloud Spanner Database Admin API
- * The Cloud Spanner Database Admin API can be used to create, drop, and
- * list databases. It also enables updating the schema of pre-existing
- * databases. It can be also used to create, delete and list backups for a
- * database and to restore from an existing backup.
+ * The Cloud Spanner Database Admin API can be used to:
+ * * create, drop, and list databases
+ * * update the schema of pre-existing databases
+ * * create, delete and list backups for a database
+ * * restore a database from an existing backup
*
*/
public abstract static class DatabaseAdminImplBase implements io.grpc.BindableService {
@@ -937,6 +939,8 @@ public void updateDatabaseDdl(
* Drops (aka deletes) a Cloud Spanner database.
* Completed backups for the database will be retained according to their
* `expire_time`.
+ * Note: Cloud Spanner might continue to accept requests for a few seconds
+ * after the database has been deleted.
*
*/
public void dropDatabase(
@@ -1306,10 +1310,11 @@ public final io.grpc.ServerServiceDefinition bindService() {
*
*
* Cloud Spanner Database Admin API
- * The Cloud Spanner Database Admin API can be used to create, drop, and
- * list databases. It also enables updating the schema of pre-existing
- * databases. It can be also used to create, delete and list backups for a
- * database and to restore from an existing backup.
+ * The Cloud Spanner Database Admin API can be used to:
+ * * create, drop, and list databases
+ * * update the schema of pre-existing databases
+ * * create, delete and list backups for a database
+ * * restore a database from an existing backup
*
*/
public static final class DatabaseAdminStub
@@ -1409,6 +1414,8 @@ public void updateDatabaseDdl(
* Drops (aka deletes) a Cloud Spanner database.
* Completed backups for the database will be retained according to their
* `expire_time`.
+ * Note: Cloud Spanner might continue to accept requests for a few seconds
+ * after the database has been deleted.
*
*/
public void dropDatabase(
@@ -1689,10 +1696,11 @@ public void listBackupOperations(
*
*
* Cloud Spanner Database Admin API
- * The Cloud Spanner Database Admin API can be used to create, drop, and
- * list databases. It also enables updating the schema of pre-existing
- * databases. It can be also used to create, delete and list backups for a
- * database and to restore from an existing backup.
+ * The Cloud Spanner Database Admin API can be used to:
+ * * create, drop, and list databases
+ * * update the schema of pre-existing databases
+ * * create, delete and list backups for a database
+ * * restore a database from an existing backup
*
*/
public static final class DatabaseAdminBlockingStub
@@ -1779,6 +1787,8 @@ public com.google.longrunning.Operation updateDatabaseDdl(
* Drops (aka deletes) a Cloud Spanner database.
* Completed backups for the database will be retained according to their
* `expire_time`.
+ * Note: Cloud Spanner might continue to accept requests for a few seconds
+ * after the database has been deleted.
*
*/
public com.google.protobuf.Empty dropDatabase(
@@ -2014,10 +2024,11 @@ public com.google.spanner.admin.database.v1.ListBackupOperationsResponse listBac
*
*
* Cloud Spanner Database Admin API
- * The Cloud Spanner Database Admin API can be used to create, drop, and
- * list databases. It also enables updating the schema of pre-existing
- * databases. It can be also used to create, delete and list backups for a
- * database and to restore from an existing backup.
+ * The Cloud Spanner Database Admin API can be used to:
+ * * create, drop, and list databases
+ * * update the schema of pre-existing databases
+ * * create, delete and list backups for a database
+ * * restore a database from an existing backup
*
*/
public static final class DatabaseAdminFutureStub
@@ -2106,6 +2117,8 @@ protected DatabaseAdminFutureStub build(
* Drops (aka deletes) a Cloud Spanner database.
* Completed backups for the database will be retained according to their
* `expire_time`.
+ * Note: Cloud Spanner might continue to accept requests for a few seconds
+ * after the database has been deleted.
*
*/
public com.google.common.util.concurrent.ListenableFuture
+ * Output only. The database dialect information for the backup.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The enum numeric value on the wire for databaseDialect.
+ */
+ @java.lang.Override
+ public int getDatabaseDialectValue() {
+ return databaseDialect_;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. The database dialect information for the backup.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The databaseDialect.
+ */
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DatabaseDialect getDatabaseDialect() {
+ @SuppressWarnings("deprecation")
+ com.google.spanner.admin.database.v1.DatabaseDialect result =
+ com.google.spanner.admin.database.v1.DatabaseDialect.valueOf(databaseDialect_);
+ return result == null
+ ? com.google.spanner.admin.database.v1.DatabaseDialect.UNRECOGNIZED
+ : result;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -912,6 +962,11 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (versionTime_ != null) {
output.writeMessage(9, getVersionTime());
}
+ if (databaseDialect_
+ != com.google.spanner.admin.database.v1.DatabaseDialect.DATABASE_DIALECT_UNSPECIFIED
+ .getNumber()) {
+ output.writeEnum(10, databaseDialect_);
+ }
unknownFields.writeTo(output);
}
@@ -953,6 +1008,11 @@ public int getSerializedSize() {
if (versionTime_ != null) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getVersionTime());
}
+ if (databaseDialect_
+ != com.google.spanner.admin.database.v1.DatabaseDialect.DATABASE_DIALECT_UNSPECIFIED
+ .getNumber()) {
+ size += com.google.protobuf.CodedOutputStream.computeEnumSize(10, databaseDialect_);
+ }
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
@@ -990,6 +1050,7 @@ public boolean equals(final java.lang.Object obj) {
if (hasEncryptionInfo()) {
if (!getEncryptionInfo().equals(other.getEncryptionInfo())) return false;
}
+ if (databaseDialect_ != other.databaseDialect_) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@@ -1029,6 +1090,8 @@ public int hashCode() {
hash = (37 * hash) + ENCRYPTION_INFO_FIELD_NUMBER;
hash = (53 * hash) + getEncryptionInfo().hashCode();
}
+ hash = (37 * hash) + DATABASE_DIALECT_FIELD_NUMBER;
+ hash = (53 * hash) + databaseDialect_;
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
@@ -1208,6 +1271,8 @@ public Builder clear() {
encryptionInfo_ = null;
encryptionInfoBuilder_ = null;
}
+ databaseDialect_ = 0;
+
return this;
}
@@ -1265,6 +1330,7 @@ public com.google.spanner.admin.database.v1.Backup buildPartial() {
} else {
result.encryptionInfo_ = encryptionInfoBuilder_.build();
}
+ result.databaseDialect_ = databaseDialect_;
onBuilt();
return result;
}
@@ -1350,6 +1416,9 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.Backup other) {
if (other.hasEncryptionInfo()) {
mergeEncryptionInfo(other.getEncryptionInfo());
}
+ if (other.databaseDialect_ != 0) {
+ setDatabaseDialectValue(other.getDatabaseDialectValue());
+ }
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
@@ -2922,6 +2991,109 @@ public com.google.spanner.admin.database.v1.EncryptionInfo.Builder getEncryption
return encryptionInfoBuilder_;
}
+ private int databaseDialect_ = 0;
+ /**
+ *
+ *
+ *
+ * Output only. The database dialect information for the backup.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The enum numeric value on the wire for databaseDialect.
+ */
+ @java.lang.Override
+ public int getDatabaseDialectValue() {
+ return databaseDialect_;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. The database dialect information for the backup.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @param value The enum numeric value on the wire for databaseDialect to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDatabaseDialectValue(int value) {
+
+ databaseDialect_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. The database dialect information for the backup.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The databaseDialect.
+ */
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DatabaseDialect getDatabaseDialect() {
+ @SuppressWarnings("deprecation")
+ com.google.spanner.admin.database.v1.DatabaseDialect result =
+ com.google.spanner.admin.database.v1.DatabaseDialect.valueOf(databaseDialect_);
+ return result == null
+ ? com.google.spanner.admin.database.v1.DatabaseDialect.UNRECOGNIZED
+ : result;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. The database dialect information for the backup.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @param value The databaseDialect to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDatabaseDialect(com.google.spanner.admin.database.v1.DatabaseDialect value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ databaseDialect_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. The database dialect information for the backup.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearDatabaseDialect() {
+
+ databaseDialect_ = 0;
+ onChanged();
+ return this;
+ }
+
@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/BackupOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/BackupOrBuilder.java
index e9107cacb60..8810b28ee0c 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
@@ -404,4 +404,33 @@ public interface BackupOrBuilder
*
*/
com.google.spanner.admin.database.v1.EncryptionInfoOrBuilder getEncryptionInfoOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Output only. The database dialect information for the backup.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The enum numeric value on the wire for databaseDialect.
+ */
+ int getDatabaseDialectValue();
+ /**
+ *
+ *
+ *
+ * Output only. The database dialect information for the backup.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The databaseDialect.
+ */
+ com.google.spanner.admin.database.v1.DatabaseDialect getDatabaseDialect();
}
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 19c3efd2e3d..aafa5c2fc9b 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
@@ -86,13 +86,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
java.lang.String[] descriptorData = {
"\n-google/spanner/admin/database/v1/backu"
+ "p.proto\022 google.spanner.admin.database.v"
- + "1\032\037google/api/field_behavior.proto\032\031goog"
- + "le/api/resource.proto\032#google/longrunnin"
- + "g/operations.proto\032 google/protobuf/fiel"
- + "d_mask.proto\032\037google/protobuf/timestamp."
- + "proto\032-google/spanner/admin/database/v1/"
- + "common.proto\032\034google/api/annotations.pro"
- + "to\"\363\004\n\006Backup\0226\n\010database\030\002 \001(\tB$\372A!\n\037sp"
+ + "1\032\034google/api/annotations.proto\032\037google/"
+ + "api/field_behavior.proto\032\031google/api/res"
+ + "ource.proto\032#google/longrunning/operatio"
+ + "ns.proto\032 google/protobuf/field_mask.pro"
+ + "to\032\037google/protobuf/timestamp.proto\032-goo"
+ + "gle/spanner/admin/database/v1/common.pro"
+ + "to\"\305\005\n\006Backup\0226\n\010database\030\002 \001(\tB$\372A!\n\037sp"
+ "anner.googleapis.com/Database\0220\n\014version"
+ "_time\030\t \001(\0132\032.google.protobuf.Timestamp\022"
+ "/\n\013expire_time\030\003 \001(\0132\032.google.protobuf.T"
@@ -104,76 +104,78 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "B\'\340A\003\372A!\n\037spanner.googleapis.com/Databas"
+ "e\022N\n\017encryption_info\030\010 \001(\01320.google.span"
+ "ner.admin.database.v1.EncryptionInfoB\003\340A"
- + "\003\"7\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010CRE"
- + "ATING\020\001\022\t\n\005READY\020\002:\\\352AY\n\035spanner.googlea"
- + "pis.com/Backup\0228projects/{project}/insta"
- + "nces/{instance}/backups/{backup}\"\205\002\n\023Cre"
- + "ateBackupRequest\0227\n\006parent\030\001 \001(\tB\'\340A\002\372A!"
- + "\n\037spanner.googleapis.com/Instance\022\026\n\tbac"
- + "kup_id\030\002 \001(\tB\003\340A\002\022=\n\006backup\030\003 \001(\0132(.goog"
- + "le.spanner.admin.database.v1.BackupB\003\340A\002"
- + "\022^\n\021encryption_config\030\004 \001(\0132>.google.spa"
- + "nner.admin.database.v1.CreateBackupEncry"
- + "ptionConfigB\003\340A\001\"\370\001\n\024CreateBackupMetadat"
- + "a\0220\n\004name\030\001 \001(\tB\"\372A\037\n\035spanner.googleapis"
- + ".com/Backup\0226\n\010database\030\002 \001(\tB$\372A!\n\037span"
- + "ner.googleapis.com/Database\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\"\212\001\n\023UpdateBa"
- + "ckupRequest\022=\n\006backup\030\001 \001(\0132(.google.spa"
- + "nner.admin.database.v1.BackupB\003\340A\002\0224\n\013up"
- + "date_mask\030\002 \001(\0132\032.google.protobuf.FieldM"
- + "askB\003\340A\002\"G\n\020GetBackupRequest\0223\n\004name\030\001 \001"
- + "(\tB%\340A\002\372A\037\n\035spanner.googleapis.com/Backu"
- + "p\"J\n\023DeleteBackupRequest\0223\n\004name\030\001 \001(\tB%"
- + "\340A\002\372A\037\n\035spanner.googleapis.com/Backup\"\204\001"
- + "\n\022ListBackupsRequest\0227\n\006parent\030\001 \001(\tB\'\340A"
- + "\002\372A!\n\037spanner.googleapis.com/Instance\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\007b"
- + "ackups\030\001 \003(\0132(.google.spanner.admin.data"
- + "base.v1.Backup\022\027\n\017next_page_token\030\002 \001(\t\""
- + "\215\001\n\033ListBackupOperationsRequest\0227\n\006paren"
- + "t\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.googleapis.com/"
- + "Instance\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\"j\n\034ListBackupOpe"
- + "rationsResponse\0221\n\noperations\030\001 \003(\0132\035.go"
- + "ogle.longrunning.Operation\022\027\n\017next_page_"
- + "token\030\002 \001(\t\"\342\001\n\nBackupInfo\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.T"
- + "imestamp\022/\n\013create_time\030\002 \001(\0132\032.google.p"
- + "rotobuf.Timestamp\022=\n\017source_database\030\003 \001"
- + "(\tB$\372A!\n\037spanner.googleapis.com/Database"
- + "\"\335\002\n\034CreateBackupEncryptionConfig\022k\n\017enc"
- + "ryption_type\030\001 \001(\0162M.google.spanner.admi"
- + "n.database.v1.CreateBackupEncryptionConf"
- + "ig.EncryptionTypeB\003\340A\002\022?\n\014kms_key_name\030\002"
- + " \001(\tB)\340A\001\372A#\n!cloudkms.googleapis.com/Cr"
- + "yptoKey\"\216\001\n\016EncryptionType\022\037\n\033ENCRYPTION"
- + "_TYPE_UNSPECIFIED\020\000\022\033\n\027USE_DATABASE_ENCR"
- + "YPTION\020\001\022\035\n\031GOOGLE_DEFAULT_ENCRYPTION\020\002\022"
- + "\037\n\033CUSTOMER_MANAGED_ENCRYPTION\020\003B\377\001\n$com"
- + ".google.spanner.admin.database.v1B\013Backu"
- + "pProtoP\001ZHgoogle.golang.org/genproto/goo"
- + "gleapis/spanner/admin/database/v1;databa"
- + "se\252\002&Google.Cloud.Spanner.Admin.Database"
- + ".V1\312\002&Google\\Cloud\\Spanner\\Admin\\Databas"
- + "e\\V1\352\002+Google::Cloud::Spanner::Admin::Da"
- + "tabase::V1b\006proto3"
+ + "\003\022P\n\020database_dialect\030\n \001(\01621.google.spa"
+ + "nner.admin.database.v1.DatabaseDialectB\003"
+ + "\340A\003\"7\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010C"
+ + "REATING\020\001\022\t\n\005READY\020\002:\\\352AY\n\035spanner.googl"
+ + "eapis.com/Backup\0228projects/{project}/ins"
+ + "tances/{instance}/backups/{backup}\"\205\002\n\023C"
+ + "reateBackupRequest\0227\n\006parent\030\001 \001(\tB\'\340A\002\372"
+ + "A!\n\037spanner.googleapis.com/Instance\022\026\n\tb"
+ + "ackup_id\030\002 \001(\tB\003\340A\002\022=\n\006backup\030\003 \001(\0132(.go"
+ + "ogle.spanner.admin.database.v1.BackupB\003\340"
+ + "A\002\022^\n\021encryption_config\030\004 \001(\0132>.google.s"
+ + "panner.admin.database.v1.CreateBackupEnc"
+ + "ryptionConfigB\003\340A\001\"\370\001\n\024CreateBackupMetad"
+ + "ata\0220\n\004name\030\001 \001(\tB\"\372A\037\n\035spanner.googleap"
+ + "is.com/Backup\0226\n\010database\030\002 \001(\tB$\372A!\n\037sp"
+ + "anner.googleapis.com/Database\022E\n\010progres"
+ + "s\030\003 \001(\01323.google.spanner.admin.database."
+ + "v1.OperationProgress\022/\n\013cancel_time\030\004 \001("
+ + "\0132\032.google.protobuf.Timestamp\"\212\001\n\023Update"
+ + "BackupRequest\022=\n\006backup\030\001 \001(\0132(.google.s"
+ + "panner.admin.database.v1.BackupB\003\340A\002\0224\n\013"
+ + "update_mask\030\002 \001(\0132\032.google.protobuf.Fiel"
+ + "dMaskB\003\340A\002\"G\n\020GetBackupRequest\0223\n\004name\030\001"
+ + " \001(\tB%\340A\002\372A\037\n\035spanner.googleapis.com/Bac"
+ + "kup\"J\n\023DeleteBackupRequest\0223\n\004name\030\001 \001(\t"
+ + "B%\340A\002\372A\037\n\035spanner.googleapis.com/Backup\""
+ + "\204\001\n\022ListBackupsRequest\0227\n\006parent\030\001 \001(\tB\'"
+ + "\340A\002\372A!\n\037spanner.googleapis.com/Instance\022"
+ + "\016\n\006filter\030\002 \001(\t\022\021\n\tpage_size\030\003 \001(\005\022\022\n\npa"
+ + "ge_token\030\004 \001(\t\"i\n\023ListBackupsResponse\0229\n"
+ + "\007backups\030\001 \003(\0132(.google.spanner.admin.da"
+ + "tabase.v1.Backup\022\027\n\017next_page_token\030\002 \001("
+ + "\t\"\215\001\n\033ListBackupOperationsRequest\0227\n\006par"
+ + "ent\030\001 \001(\tB\'\340A\002\372A!\n\037spanner.googleapis.co"
+ + "m/Instance\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\"j\n\034ListBackupO"
+ + "perationsResponse\0221\n\noperations\030\001 \003(\0132\035."
+ + "google.longrunning.Operation\022\027\n\017next_pag"
+ + "e_token\030\002 \001(\t\"\342\001\n\nBackupInfo\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\013create_time\030\002 \001(\0132\032.google"
+ + ".protobuf.Timestamp\022=\n\017source_database\030\003"
+ + " \001(\tB$\372A!\n\037spanner.googleapis.com/Databa"
+ + "se\"\335\002\n\034CreateBackupEncryptionConfig\022k\n\017e"
+ + "ncryption_type\030\001 \001(\0162M.google.spanner.ad"
+ + "min.database.v1.CreateBackupEncryptionCo"
+ + "nfig.EncryptionTypeB\003\340A\002\022?\n\014kms_key_name"
+ + "\030\002 \001(\tB)\340A\001\372A#\n!cloudkms.googleapis.com/"
+ + "CryptoKey\"\216\001\n\016EncryptionType\022\037\n\033ENCRYPTI"
+ + "ON_TYPE_UNSPECIFIED\020\000\022\033\n\027USE_DATABASE_EN"
+ + "CRYPTION\020\001\022\035\n\031GOOGLE_DEFAULT_ENCRYPTION\020"
+ + "\002\022\037\n\033CUSTOMER_MANAGED_ENCRYPTION\020\003B\377\001\n$c"
+ + "om.google.spanner.admin.database.v1B\013Bac"
+ + "kupProtoP\001ZHgoogle.golang.org/genproto/g"
+ + "oogleapis/spanner/admin/database/v1;data"
+ + "base\252\002&Google.Cloud.Spanner.Admin.Databa"
+ + "se.V1\312\002&Google\\Cloud\\Spanner\\Admin\\Datab"
+ + "ase\\V1\352\002+Google::Cloud::Spanner::Admin::"
+ + "Database::V1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.api.AnnotationsProto.getDescriptor(),
com.google.api.FieldBehaviorProto.getDescriptor(),
com.google.api.ResourceProto.getDescriptor(),
com.google.longrunning.OperationsProto.getDescriptor(),
com.google.protobuf.FieldMaskProto.getDescriptor(),
com.google.protobuf.TimestampProto.getDescriptor(),
com.google.spanner.admin.database.v1.CommonProto.getDescriptor(),
- com.google.api.AnnotationsProto.getDescriptor(),
});
internal_static_google_spanner_admin_database_v1_Backup_descriptor =
getDescriptor().getMessageTypes().get(0);
@@ -190,6 +192,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"State",
"ReferencingDatabases",
"EncryptionInfo",
+ "DatabaseDialect",
});
internal_static_google_spanner_admin_database_v1_CreateBackupRequest_descriptor =
getDescriptor().getMessageTypes().get(1);
@@ -286,13 +289,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
registry.add(com.google.api.ResourceProto.resourceReference);
com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor(
descriptor, registry);
+ com.google.api.AnnotationsProto.getDescriptor();
com.google.api.FieldBehaviorProto.getDescriptor();
com.google.api.ResourceProto.getDescriptor();
com.google.longrunning.OperationsProto.getDescriptor();
com.google.protobuf.FieldMaskProto.getDescriptor();
com.google.protobuf.TimestampProto.getDescriptor();
com.google.spanner.admin.database.v1.CommonProto.getDescriptor();
- com.google.api.AnnotationsProto.getDescriptor();
}
// @@protoc_insertion_point(outer_class_scope)
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 331423327d4..157e9098686 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
@@ -50,10 +50,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
java.lang.String[] descriptorData = {
"\n-google/spanner/admin/database/v1/commo"
+ "n.proto\022 google.spanner.admin.database.v"
- + "1\032\037google/api/field_behavior.proto\032\031goog"
- + "le/api/resource.proto\032\037google/protobuf/t"
- + "imestamp.proto\032\027google/rpc/status.proto\032"
- + "\034google/api/annotations.proto\"\213\001\n\021Operat"
+ + "1\032\034google/api/annotations.proto\032\037google/"
+ + "api/field_behavior.proto\032\031google/api/res"
+ + "ource.proto\032\037google/protobuf/timestamp.p"
+ + "roto\032\027google/rpc/status.proto\"\213\001\n\021Operat"
+ "ionProgress\022\030\n\020progress_percent\030\001 \001(\005\022.\n"
+ "\nstart_time\030\002 \001(\0132\032.google.protobuf.Time"
+ "stamp\022,\n\010end_time\030\003 \001(\0132\032.google.protobu"
@@ -67,31 +67,33 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "A*\n(cloudkms.googleapis.com/CryptoKeyVer"
+ "sion\"\\\n\004Type\022\024\n\020TYPE_UNSPECIFIED\020\000\022\035\n\031GO"
+ "OGLE_DEFAULT_ENCRYPTION\020\001\022\037\n\033CUSTOMER_MA"
- + "NAGED_ENCRYPTION\020\002B\244\004\n$com.google.spanne"
- + "r.admin.database.v1B\013CommonProtoP\001ZHgoog"
- + "le.golang.org/genproto/googleapis/spanne"
- + "r/admin/database/v1;database\252\002&Google.Cl"
- + "oud.Spanner.Admin.Database.V1\312\002&Google\\C"
- + "loud\\Spanner\\Admin\\Database\\V1\352\002+Google:"
- + ":Cloud::Spanner::Admin::Database::V1\352Ax\n"
- + "!cloudkms.googleapis.com/CryptoKey\022Sproj"
- + "ects/{project}/locations/{location}/keyR"
- + "ings/{key_ring}/cryptoKeys/{crypto_key}\352"
- + "A\246\001\n(cloudkms.googleapis.com/CryptoKeyVe"
- + "rsion\022zprojects/{project}/locations/{loc"
- + "ation}/keyRings/{key_ring}/cryptoKeys/{c"
- + "rypto_key}/cryptoKeyVersions/{crypto_key"
- + "_version}b\006proto3"
+ + "NAGED_ENCRYPTION\020\002*\\\n\017DatabaseDialect\022 \n"
+ + "\034DATABASE_DIALECT_UNSPECIFIED\020\000\022\027\n\023GOOGL"
+ + "E_STANDARD_SQL\020\001\022\016\n\nPOSTGRESQL\020\002B\244\004\n$com"
+ + ".google.spanner.admin.database.v1B\013Commo"
+ + "nProtoP\001ZHgoogle.golang.org/genproto/goo"
+ + "gleapis/spanner/admin/database/v1;databa"
+ + "se\252\002&Google.Cloud.Spanner.Admin.Database"
+ + ".V1\312\002&Google\\Cloud\\Spanner\\Admin\\Databas"
+ + "e\\V1\352\002+Google::Cloud::Spanner::Admin::Da"
+ + "tabase::V1\352Ax\n!cloudkms.googleapis.com/C"
+ + "ryptoKey\022Sprojects/{project}/locations/{"
+ + "location}/keyRings/{key_ring}/cryptoKeys"
+ + "/{crypto_key}\352A\246\001\n(cloudkms.googleapis.c"
+ + "om/CryptoKeyVersion\022zprojects/{project}/"
+ + "locations/{location}/keyRings/{key_ring}"
+ + "/cryptoKeys/{crypto_key}/cryptoKeyVersio"
+ + "ns/{crypto_key_version}b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.api.AnnotationsProto.getDescriptor(),
com.google.api.FieldBehaviorProto.getDescriptor(),
com.google.api.ResourceProto.getDescriptor(),
com.google.protobuf.TimestampProto.getDescriptor(),
com.google.rpc.StatusProto.getDescriptor(),
- com.google.api.AnnotationsProto.getDescriptor(),
});
internal_static_google_spanner_admin_database_v1_OperationProgress_descriptor =
getDescriptor().getMessageTypes().get(0);
@@ -124,11 +126,11 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
registry.add(com.google.api.ResourceProto.resourceReference);
com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor(
descriptor, registry);
+ com.google.api.AnnotationsProto.getDescriptor();
com.google.api.FieldBehaviorProto.getDescriptor();
com.google.api.ResourceProto.getDescriptor();
com.google.protobuf.TimestampProto.getDescriptor();
com.google.rpc.StatusProto.getDescriptor();
- com.google.api.AnnotationsProto.getDescriptor();
}
// @@protoc_insertion_point(outer_class_scope)
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 8d9df6aa618..9e75cb8015a 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
@@ -41,6 +41,7 @@ private CreateDatabaseRequest() {
parent_ = "";
createStatement_ = "";
extraStatements_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+ databaseDialect_ = 0;
}
@java.lang.Override
@@ -112,6 +113,13 @@ private CreateDatabaseRequest(
encryptionConfig_ = subBuilder.buildPartial();
}
+ break;
+ }
+ case 40:
+ {
+ int rawValue = input.readEnum();
+
+ databaseDialect_ = rawValue;
break;
}
default:
@@ -397,6 +405,48 @@ public com.google.spanner.admin.database.v1.EncryptionConfig getEncryptionConfig
return getEncryptionConfig();
}
+ public static final int DATABASE_DIALECT_FIELD_NUMBER = 5;
+ private int databaseDialect_;
+ /**
+ *
+ *
+ *
+ * Optional. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The enum numeric value on the wire for databaseDialect.
+ */
+ @java.lang.Override
+ public int getDatabaseDialectValue() {
+ return databaseDialect_;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The databaseDialect.
+ */
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DatabaseDialect getDatabaseDialect() {
+ @SuppressWarnings("deprecation")
+ com.google.spanner.admin.database.v1.DatabaseDialect result =
+ com.google.spanner.admin.database.v1.DatabaseDialect.valueOf(databaseDialect_);
+ return result == null
+ ? com.google.spanner.admin.database.v1.DatabaseDialect.UNRECOGNIZED
+ : result;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -423,6 +473,11 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (encryptionConfig_ != null) {
output.writeMessage(4, getEncryptionConfig());
}
+ if (databaseDialect_
+ != com.google.spanner.admin.database.v1.DatabaseDialect.DATABASE_DIALECT_UNSPECIFIED
+ .getNumber()) {
+ output.writeEnum(5, databaseDialect_);
+ }
unknownFields.writeTo(output);
}
@@ -449,6 +504,11 @@ public int getSerializedSize() {
if (encryptionConfig_ != null) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getEncryptionConfig());
}
+ if (databaseDialect_
+ != com.google.spanner.admin.database.v1.DatabaseDialect.DATABASE_DIALECT_UNSPECIFIED
+ .getNumber()) {
+ size += com.google.protobuf.CodedOutputStream.computeEnumSize(5, databaseDialect_);
+ }
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
@@ -472,6 +532,7 @@ public boolean equals(final java.lang.Object obj) {
if (hasEncryptionConfig()) {
if (!getEncryptionConfig().equals(other.getEncryptionConfig())) return false;
}
+ if (databaseDialect_ != other.databaseDialect_) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@@ -495,6 +556,8 @@ public int hashCode() {
hash = (37 * hash) + ENCRYPTION_CONFIG_FIELD_NUMBER;
hash = (53 * hash) + getEncryptionConfig().hashCode();
}
+ hash = (37 * hash) + DATABASE_DIALECT_FIELD_NUMBER;
+ hash = (53 * hash) + databaseDialect_;
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
@@ -653,6 +716,8 @@ public Builder clear() {
encryptionConfig_ = null;
encryptionConfigBuilder_ = null;
}
+ databaseDialect_ = 0;
+
return this;
}
@@ -693,6 +758,7 @@ public com.google.spanner.admin.database.v1.CreateDatabaseRequest buildPartial()
} else {
result.encryptionConfig_ = encryptionConfigBuilder_.build();
}
+ result.databaseDialect_ = databaseDialect_;
onBuilt();
return result;
}
@@ -764,6 +830,9 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.CreateDatabaseRequ
if (other.hasEncryptionConfig()) {
mergeEncryptionConfig(other.getEncryptionConfig());
}
+ if (other.databaseDialect_ != 0) {
+ setDatabaseDialectValue(other.getDatabaseDialectValue());
+ }
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
@@ -1464,6 +1533,109 @@ public Builder clearEncryptionConfig() {
return encryptionConfigBuilder_;
}
+ private int databaseDialect_ = 0;
+ /**
+ *
+ *
+ *
+ * Optional. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The enum numeric value on the wire for databaseDialect.
+ */
+ @java.lang.Override
+ public int getDatabaseDialectValue() {
+ return databaseDialect_;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @param value The enum numeric value on the wire for databaseDialect to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDatabaseDialectValue(int value) {
+
+ databaseDialect_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The databaseDialect.
+ */
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DatabaseDialect getDatabaseDialect() {
+ @SuppressWarnings("deprecation")
+ com.google.spanner.admin.database.v1.DatabaseDialect result =
+ com.google.spanner.admin.database.v1.DatabaseDialect.valueOf(databaseDialect_);
+ return result == null
+ ? com.google.spanner.admin.database.v1.DatabaseDialect.UNRECOGNIZED
+ : result;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @param value The databaseDialect to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDatabaseDialect(com.google.spanner.admin.database.v1.DatabaseDialect value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ databaseDialect_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearDatabaseDialect() {
+
+ databaseDialect_ = 0;
+ onChanged();
+ return this;
+ }
+
@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/CreateDatabaseRequestOrBuilder.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateDatabaseRequestOrBuilder.java
index e1a5b67eb94..537e9c161fa 100644
--- a/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateDatabaseRequestOrBuilder.java
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/CreateDatabaseRequestOrBuilder.java
@@ -196,4 +196,33 @@ public interface CreateDatabaseRequestOrBuilder
*
*/
com.google.spanner.admin.database.v1.EncryptionConfigOrBuilder getEncryptionConfigOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Optional. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The enum numeric value on the wire for databaseDialect.
+ */
+ int getDatabaseDialectValue();
+ /**
+ *
+ *
+ *
+ * Optional. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 5 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The databaseDialect.
+ */
+ com.google.spanner.admin.database.v1.DatabaseDialect getDatabaseDialect();
}
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 87c222f21a0..02000562c6d 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
@@ -43,6 +43,7 @@ private Database() {
encryptionInfo_ = java.util.Collections.emptyList();
versionRetentionPeriod_ = "";
defaultLeader_ = "";
+ databaseDialect_ = 0;
}
@java.lang.Override
@@ -179,6 +180,13 @@ private Database(
defaultLeader_ = s;
break;
}
+ case 80:
+ {
+ int rawValue = input.readEnum();
+
+ databaseDialect_ = rawValue;
+ break;
+ }
default:
{
if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
@@ -969,6 +977,48 @@ public com.google.protobuf.ByteString getDefaultLeaderBytes() {
}
}
+ public static final int DATABASE_DIALECT_FIELD_NUMBER = 10;
+ private int databaseDialect_;
+ /**
+ *
+ *
+ *
+ * Output only. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The enum numeric value on the wire for databaseDialect.
+ */
+ @java.lang.Override
+ public int getDatabaseDialectValue() {
+ return databaseDialect_;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The databaseDialect.
+ */
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DatabaseDialect getDatabaseDialect() {
+ @SuppressWarnings("deprecation")
+ com.google.spanner.admin.database.v1.DatabaseDialect result =
+ com.google.spanner.admin.database.v1.DatabaseDialect.valueOf(databaseDialect_);
+ return result == null
+ ? com.google.spanner.admin.database.v1.DatabaseDialect.UNRECOGNIZED
+ : result;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -1011,6 +1061,11 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(defaultLeader_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 9, defaultLeader_);
}
+ if (databaseDialect_
+ != com.google.spanner.admin.database.v1.DatabaseDialect.DATABASE_DIALECT_UNSPECIFIED
+ .getNumber()) {
+ output.writeEnum(10, databaseDialect_);
+ }
unknownFields.writeTo(output);
}
@@ -1048,6 +1103,11 @@ public int getSerializedSize() {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(defaultLeader_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, defaultLeader_);
}
+ if (databaseDialect_
+ != com.google.spanner.admin.database.v1.DatabaseDialect.DATABASE_DIALECT_UNSPECIFIED
+ .getNumber()) {
+ size += com.google.protobuf.CodedOutputStream.computeEnumSize(10, databaseDialect_);
+ }
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
@@ -1085,6 +1145,7 @@ public boolean equals(final java.lang.Object obj) {
if (!getEarliestVersionTime().equals(other.getEarliestVersionTime())) return false;
}
if (!getDefaultLeader().equals(other.getDefaultLeader())) return false;
+ if (databaseDialect_ != other.databaseDialect_) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@@ -1124,6 +1185,8 @@ public int hashCode() {
}
hash = (37 * hash) + DEFAULT_LEADER_FIELD_NUMBER;
hash = (53 * hash) + getDefaultLeader().hashCode();
+ hash = (37 * hash) + DATABASE_DIALECT_FIELD_NUMBER;
+ hash = (53 * hash) + databaseDialect_;
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
@@ -1309,6 +1372,8 @@ public Builder clear() {
}
defaultLeader_ = "";
+ databaseDialect_ = 0;
+
return this;
}
@@ -1370,6 +1435,7 @@ public com.google.spanner.admin.database.v1.Database buildPartial() {
result.earliestVersionTime_ = earliestVersionTimeBuilder_.build();
}
result.defaultLeader_ = defaultLeader_;
+ result.databaseDialect_ = databaseDialect_;
onBuilt();
return result;
}
@@ -1473,6 +1539,9 @@ public Builder mergeFrom(com.google.spanner.admin.database.v1.Database other) {
defaultLeader_ = other.defaultLeader_;
onChanged();
}
+ if (other.databaseDialect_ != 0) {
+ setDatabaseDialectValue(other.getDatabaseDialectValue());
+ }
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
@@ -3384,6 +3453,109 @@ public Builder setDefaultLeaderBytes(com.google.protobuf.ByteString value) {
return this;
}
+ private int databaseDialect_ = 0;
+ /**
+ *
+ *
+ *
+ * Output only. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The enum numeric value on the wire for databaseDialect.
+ */
+ @java.lang.Override
+ public int getDatabaseDialectValue() {
+ return databaseDialect_;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @param value The enum numeric value on the wire for databaseDialect to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDatabaseDialectValue(int value) {
+
+ databaseDialect_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The databaseDialect.
+ */
+ @java.lang.Override
+ public com.google.spanner.admin.database.v1.DatabaseDialect getDatabaseDialect() {
+ @SuppressWarnings("deprecation")
+ com.google.spanner.admin.database.v1.DatabaseDialect result =
+ com.google.spanner.admin.database.v1.DatabaseDialect.valueOf(databaseDialect_);
+ return result == null
+ ? com.google.spanner.admin.database.v1.DatabaseDialect.UNRECOGNIZED
+ : result;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @param value The databaseDialect to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDatabaseDialect(com.google.spanner.admin.database.v1.DatabaseDialect value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ databaseDialect_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearDatabaseDialect() {
+
+ databaseDialect_ = 0;
+ onChanged();
+ return this;
+ }
+
@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/DatabaseDialect.java b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseDialect.java
new file mode 100644
index 00000000000..b2898046416
--- /dev/null
+++ b/proto-google-cloud-spanner-admin-database-v1/src/main/java/com/google/spanner/admin/database/v1/DatabaseDialect.java
@@ -0,0 +1,178 @@
+/*
+ * 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/common.proto
+
+package com.google.spanner.admin.database.v1;
+
+/**
+ *
+ *
+ *
+ * Indicates the dialect type of a database.
+ *
+ *
+ * Protobuf enum {@code google.spanner.admin.database.v1.DatabaseDialect}
+ */
+public enum DatabaseDialect implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ *
+ *
+ *
+ * Default value. This value will create a database with the
+ * GOOGLE_STANDARD_SQL dialect.
+ *
+ *
+ * DATABASE_DIALECT_UNSPECIFIED = 0;
+ */
+ DATABASE_DIALECT_UNSPECIFIED(0),
+ /**
+ *
+ *
+ *
+ * Google standard SQL.
+ *
+ *
+ * GOOGLE_STANDARD_SQL = 1;
+ */
+ GOOGLE_STANDARD_SQL(1),
+ /**
+ *
+ *
+ *
+ * PostgreSQL supported SQL.
+ *
+ *
+ * POSTGRESQL = 2;
+ */
+ POSTGRESQL(2),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ *
+ *
+ *
+ * Default value. This value will create a database with the
+ * GOOGLE_STANDARD_SQL dialect.
+ *
+ *
+ * DATABASE_DIALECT_UNSPECIFIED = 0;
+ */
+ public static final int DATABASE_DIALECT_UNSPECIFIED_VALUE = 0;
+ /**
+ *
+ *
+ *
+ * Google standard SQL.
+ *
+ *
+ * GOOGLE_STANDARD_SQL = 1;
+ */
+ public static final int GOOGLE_STANDARD_SQL_VALUE = 1;
+ /**
+ *
+ *
+ *
+ * PostgreSQL supported SQL.
+ *
+ *
+ * POSTGRESQL = 2;
+ */
+ public static final int POSTGRESQL_VALUE = 2;
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static DatabaseDialect valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static DatabaseDialect forNumber(int value) {
+ switch (value) {
+ case 0:
+ return DATABASE_DIALECT_UNSPECIFIED;
+ case 1:
+ return GOOGLE_STANDARD_SQL;
+ case 2:
+ return POSTGRESQL;
+ default:
+ return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap
+ * Output only. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The enum numeric value on the wire for databaseDialect.
+ */
+ int getDatabaseDialectValue();
+ /**
+ *
+ *
+ *
+ * Output only. The dialect of the Cloud Spanner Database.
+ *
+ *
+ *
+ * .google.spanner.admin.database.v1.DatabaseDialect database_dialect = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The databaseDialect.
+ */
+ com.google.spanner.admin.database.v1.DatabaseDialect getDatabaseDialect();
}
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 4396736d3c8..1acad6985e1 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
@@ -116,209 +116,214 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "source.proto\032\036google/iam/v1/iam_policy.p"
+ "roto\032\032google/iam/v1/policy.proto\032#google"
+ "/longrunning/operations.proto\032\033google/pr"
- + "otobuf/empty.proto\032\037google/protobuf/time"
- + "stamp.proto\032-google/spanner/admin/databa"
- + "se/v1/backup.proto\032-google/spanner/admin"
- + "/database/v1/common.proto\"\253\001\n\013RestoreInf"
- + "o\022H\n\013source_type\030\001 \001(\01623.google.spanner."
- + "admin.database.v1.RestoreSourceType\022C\n\013b"
- + "ackup_info\030\002 \001(\0132,.google.spanner.admin."
- + "database.v1.BackupInfoH\000B\r\n\013source_info\""
- + "\276\005\n\010Database\022\021\n\004name\030\001 \001(\tB\003\340A\002\022D\n\005state"
- + "\030\002 \001(\01620.google.spanner.admin.database.v"
- + "1.Database.StateB\003\340A\003\0224\n\013create_time\030\003 \001"
- + "(\0132\032.google.protobuf.TimestampB\003\340A\003\022H\n\014r"
- + "estore_info\030\004 \001(\0132-.google.spanner.admin"
- + ".database.v1.RestoreInfoB\003\340A\003\022R\n\021encrypt"
- + "ion_config\030\005 \001(\01322.google.spanner.admin."
- + "database.v1.EncryptionConfigB\003\340A\003\022N\n\017enc"
- + "ryption_info\030\010 \003(\01320.google.spanner.admi"
- + "n.database.v1.EncryptionInfoB\003\340A\003\022%\n\030ver"
- + "sion_retention_period\030\006 \001(\tB\003\340A\003\022>\n\025earl"
- + "iest_version_time\030\007 \001(\0132\032.google.protobu"
- + "f.TimestampB\003\340A\003\022\033\n\016default_leader\030\t \001(\t"
- + "B\003\340A\003\"M\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n"
- + "\010CREATING\020\001\022\t\n\005READY\020\002\022\024\n\020READY_OPTIMIZI"
- + "NG\020\003:b\352A_\n\037spanner.googleapis.com/Databa"
- + "se\022int64 mutation_count = 1;
@@ -256,9 +256,9 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
* `mutation_count` value can help you maximize the number of mutations
* in a transaction and minimize the number of API round trips. You can
* also monitor this value to prevent transactions from exceeding the system
- * [limit](http://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data).
+ * [limit](https://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data).
* If the number of mutations exceeds the limit, the server returns
- * [INVALID_ARGUMENT](http://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).
+ * [INVALID_ARGUMENT](https://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).
*
*
* int64 mutation_count = 1;
@@ -600,9 +600,9 @@ public Builder mergeFrom(
* `mutation_count` value can help you maximize the number of mutations
* in a transaction and minimize the number of API round trips. You can
* also monitor this value to prevent transactions from exceeding the system
- * [limit](http://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data).
+ * [limit](https://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data).
* If the number of mutations exceeds the limit, the server returns
- * [INVALID_ARGUMENT](http://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).
+ * [INVALID_ARGUMENT](https://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).
*
*
* int64 mutation_count = 1;
@@ -621,9 +621,9 @@ public long getMutationCount() {
* `mutation_count` value can help you maximize the number of mutations
* in a transaction and minimize the number of API round trips. You can
* also monitor this value to prevent transactions from exceeding the system
- * [limit](http://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data).
+ * [limit](https://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data).
* If the number of mutations exceeds the limit, the server returns
- * [INVALID_ARGUMENT](http://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).
+ * [INVALID_ARGUMENT](https://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).
*
*
* int64 mutation_count = 1;
@@ -645,9 +645,9 @@ public Builder setMutationCount(long value) {
* `mutation_count` value can help you maximize the number of mutations
* in a transaction and minimize the number of API round trips. You can
* also monitor this value to prevent transactions from exceeding the system
- * [limit](http://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data).
+ * [limit](https://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data).
* If the number of mutations exceeds the limit, the server returns
- * [INVALID_ARGUMENT](http://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).
+ * [INVALID_ARGUMENT](https://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).
*
*
* int64 mutation_count = 1;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitResponseProto.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitResponseProto.java
index bf45b642047..e093354a31b 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitResponseProto.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/CommitResponseProto.java
@@ -45,9 +45,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
static {
java.lang.String[] descriptorData = {
"\n\'google/spanner/v1/commit_response.prot"
- + "o\022\021google.spanner.v1\032\036google/protobuf/du"
- + "ration.proto\032\037google/protobuf/timestamp."
- + "proto\032\034google/api/annotations.proto\"\262\001\n\016"
+ + "o\022\021google.spanner.v1\032\034google/api/annotat"
+ + "ions.proto\032\036google/protobuf/duration.pro"
+ + "to\032\037google/protobuf/timestamp.proto\"\262\001\n\016"
+ "CommitResponse\0224\n\020commit_timestamp\030\001 \001(\013"
+ "2\032.google.protobuf.Timestamp\022C\n\014commit_s"
+ "tats\030\002 \001(\0132-.google.spanner.v1.CommitRes"
@@ -63,9 +63,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.api.AnnotationsProto.getDescriptor(),
com.google.protobuf.DurationProto.getDescriptor(),
com.google.protobuf.TimestampProto.getDescriptor(),
- com.google.api.AnnotationsProto.getDescriptor(),
});
internal_static_google_spanner_v1_CommitResponse_descriptor =
getDescriptor().getMessageTypes().get(0);
@@ -83,9 +83,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new java.lang.String[] {
"MutationCount",
});
+ com.google.api.AnnotationsProto.getDescriptor();
com.google.protobuf.DurationProto.getDescriptor();
com.google.protobuf.TimestampProto.getDescriptor();
- com.google.api.AnnotationsProto.getDescriptor();
}
// @@protoc_insertion_point(outer_class_scope)
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeysProto.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeysProto.java
index 9c9b6318d17..6c95c92573d 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeysProto.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/KeysProto.java
@@ -45,8 +45,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
static {
java.lang.String[] descriptorData = {
"\n\034google/spanner/v1/keys.proto\022\021google.s"
- + "panner.v1\032\034google/protobuf/struct.proto\032"
- + "\034google/api/annotations.proto\"\364\001\n\010KeyRan"
+ + "panner.v1\032\034google/api/annotations.proto\032"
+ + "\034google/protobuf/struct.proto\"\364\001\n\010KeyRan"
+ "ge\0222\n\014start_closed\030\001 \001(\0132\032.google.protob"
+ "uf.ListValueH\000\0220\n\nstart_open\030\002 \001(\0132\032.goo"
+ "gle.protobuf.ListValueH\000\0220\n\nend_closed\030\003"
@@ -66,8 +66,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
- com.google.protobuf.StructProto.getDescriptor(),
com.google.api.AnnotationsProto.getDescriptor(),
+ com.google.protobuf.StructProto.getDescriptor(),
});
internal_static_google_spanner_v1_KeyRange_descriptor =
getDescriptor().getMessageTypes().get(0);
@@ -84,8 +84,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new java.lang.String[] {
"Keys", "Ranges", "All",
});
- com.google.protobuf.StructProto.getDescriptor();
com.google.api.AnnotationsProto.getDescriptor();
+ com.google.protobuf.StructProto.getDescriptor();
}
// @@protoc_insertion_point(outer_class_scope)
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 27ce2b4f3ae..f7e439f86f0 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
@@ -49,9 +49,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
static {
java.lang.String[] descriptorData = {
"\n google/spanner/v1/mutation.proto\022\021goog"
- + "le.spanner.v1\032\034google/protobuf/struct.pr"
- + "oto\032\034google/spanner/v1/keys.proto\032\034googl"
- + "e/api/annotations.proto\"\306\003\n\010Mutation\0223\n\006"
+ + "le.spanner.v1\032\034google/api/annotations.pr"
+ + "oto\032\034google/protobuf/struct.proto\032\034googl"
+ + "e/spanner/v1/keys.proto\"\306\003\n\010Mutation\0223\n\006"
+ "insert\030\001 \001(\0132!.google.spanner.v1.Mutatio"
+ "n.WriteH\000\0223\n\006update\030\002 \001(\0132!.google.spann"
+ "er.v1.Mutation.WriteH\000\022=\n\020insert_or_upda"
@@ -73,9 +73,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.api.AnnotationsProto.getDescriptor(),
com.google.protobuf.StructProto.getDescriptor(),
com.google.spanner.v1.KeysProto.getDescriptor(),
- com.google.api.AnnotationsProto.getDescriptor(),
});
internal_static_google_spanner_v1_Mutation_descriptor =
getDescriptor().getMessageTypes().get(0);
@@ -101,9 +101,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new java.lang.String[] {
"Table", "KeySet",
});
+ com.google.api.AnnotationsProto.getDescriptor();
com.google.protobuf.StructProto.getDescriptor();
com.google.spanner.v1.KeysProto.getDescriptor();
- com.google.api.AnnotationsProto.getDescriptor();
}
// @@protoc_insertion_point(outer_class_scope)
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/QueryPlanProto.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/QueryPlanProto.java
index 03c05431d05..0a9d2b3583d 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/QueryPlanProto.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/QueryPlanProto.java
@@ -57,8 +57,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
static {
java.lang.String[] descriptorData = {
"\n\"google/spanner/v1/query_plan.proto\022\021go"
- + "ogle.spanner.v1\032\034google/protobuf/struct."
- + "proto\032\034google/api/annotations.proto\"\370\004\n\010"
+ + "ogle.spanner.v1\032\034google/api/annotations."
+ + "proto\032\034google/protobuf/struct.proto\"\370\004\n\010"
+ "PlanNode\022\r\n\005index\030\001 \001(\005\022.\n\004kind\030\002 \001(\0162 ."
+ "google.spanner.v1.PlanNode.Kind\022\024\n\014displ"
+ "ay_name\030\003 \001(\t\022:\n\013child_links\030\004 \003(\0132%.goo"
@@ -87,8 +87,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
- com.google.protobuf.StructProto.getDescriptor(),
com.google.api.AnnotationsProto.getDescriptor(),
+ com.google.protobuf.StructProto.getDescriptor(),
});
internal_static_google_spanner_v1_PlanNode_descriptor =
getDescriptor().getMessageTypes().get(0);
@@ -138,8 +138,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new java.lang.String[] {
"PlanNodes",
});
- com.google.protobuf.StructProto.getDescriptor();
com.google.api.AnnotationsProto.getDescriptor();
+ com.google.protobuf.StructProto.getDescriptor();
}
// @@protoc_insertion_point(outer_class_scope)
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 c291d2b0176..f915ca2d64d 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
@@ -370,6 +370,7 @@ public com.google.spanner.v1.RequestOptions.Priority getPriority() {
* Legal characters for `request_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a request_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string request_tag = 2;
@@ -401,6 +402,7 @@ public java.lang.String getRequestTag() {
* Legal characters for `request_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a request_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string request_tag = 2;
@@ -431,11 +433,12 @@ public com.google.protobuf.ByteString getRequestTagBytes() {
* that belongs to a transaction.
* The value of transaction_tag should be the same for all requests belonging
* to the same transaction.
- * If this request doesn’t belong to any transaction, transaction_tag will be
+ * If this request doesn't belong to any transaction, transaction_tag will be
* ignored.
* Legal characters for `transaction_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a transaction_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string transaction_tag = 3;
@@ -463,11 +466,12 @@ public java.lang.String getTransactionTag() {
* that belongs to a transaction.
* The value of transaction_tag should be the same for all requests belonging
* to the same transaction.
- * If this request doesn’t belong to any transaction, transaction_tag will be
+ * If this request doesn't belong to any transaction, transaction_tag will be
* ignored.
* Legal characters for `transaction_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a transaction_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string transaction_tag = 3;
@@ -938,6 +942,7 @@ public Builder clearPriority() {
* Legal characters for `request_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a request_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string request_tag = 2;
@@ -968,6 +973,7 @@ public java.lang.String getRequestTag() {
* Legal characters for `request_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a request_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string request_tag = 2;
@@ -998,6 +1004,7 @@ public com.google.protobuf.ByteString getRequestTagBytes() {
* Legal characters for `request_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a request_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string request_tag = 2;
@@ -1027,6 +1034,7 @@ public Builder setRequestTag(java.lang.String value) {
* Legal characters for `request_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a request_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string request_tag = 2;
@@ -1052,6 +1060,7 @@ public Builder clearRequestTag() {
* Legal characters for `request_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a request_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string request_tag = 2;
@@ -1080,11 +1089,12 @@ public Builder setRequestTagBytes(com.google.protobuf.ByteString value) {
* that belongs to a transaction.
* The value of transaction_tag should be the same for all requests belonging
* to the same transaction.
- * If this request doesn’t belong to any transaction, transaction_tag will be
+ * If this request doesn't belong to any transaction, transaction_tag will be
* ignored.
* Legal characters for `transaction_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a transaction_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string transaction_tag = 3;
@@ -1111,11 +1121,12 @@ public java.lang.String getTransactionTag() {
* that belongs to a transaction.
* The value of transaction_tag should be the same for all requests belonging
* to the same transaction.
- * If this request doesn’t belong to any transaction, transaction_tag will be
+ * If this request doesn't belong to any transaction, transaction_tag will be
* ignored.
* Legal characters for `transaction_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a transaction_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string transaction_tag = 3;
@@ -1142,11 +1153,12 @@ public com.google.protobuf.ByteString getTransactionTagBytes() {
* that belongs to a transaction.
* The value of transaction_tag should be the same for all requests belonging
* to the same transaction.
- * If this request doesn’t belong to any transaction, transaction_tag will be
+ * If this request doesn't belong to any transaction, transaction_tag will be
* ignored.
* Legal characters for `transaction_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a transaction_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string transaction_tag = 3;
@@ -1172,11 +1184,12 @@ public Builder setTransactionTag(java.lang.String value) {
* that belongs to a transaction.
* The value of transaction_tag should be the same for all requests belonging
* to the same transaction.
- * If this request doesn’t belong to any transaction, transaction_tag will be
+ * If this request doesn't belong to any transaction, transaction_tag will be
* ignored.
* Legal characters for `transaction_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a transaction_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string transaction_tag = 3;
@@ -1198,11 +1211,12 @@ public Builder clearTransactionTag() {
* that belongs to a transaction.
* The value of transaction_tag should be the same for all requests belonging
* to the same transaction.
- * If this request doesn’t belong to any transaction, transaction_tag will be
+ * If this request doesn't belong to any transaction, transaction_tag will be
* ignored.
* Legal characters for `transaction_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a transaction_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string transaction_tag = 3;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RequestOptionsOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RequestOptionsOrBuilder.java
index a0805252ac5..c2c12f4a0b1 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RequestOptionsOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/RequestOptionsOrBuilder.java
@@ -61,6 +61,7 @@ public interface RequestOptionsOrBuilder
* Legal characters for `request_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a request_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string request_tag = 2;
@@ -81,6 +82,7 @@ public interface RequestOptionsOrBuilder
* Legal characters for `request_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a request_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string request_tag = 2;
@@ -98,11 +100,12 @@ public interface RequestOptionsOrBuilder
* that belongs to a transaction.
* The value of transaction_tag should be the same for all requests belonging
* to the same transaction.
- * If this request doesn’t belong to any transaction, transaction_tag will be
+ * If this request doesn't belong to any transaction, transaction_tag will be
* ignored.
* Legal characters for `transaction_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a transaction_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string transaction_tag = 3;
@@ -119,11 +122,12 @@ public interface RequestOptionsOrBuilder
* that belongs to a transaction.
* The value of transaction_tag should be the same for all requests belonging
* to the same transaction.
- * If this request doesn’t belong to any transaction, transaction_tag will be
+ * If this request doesn't belong to any transaction, transaction_tag will be
* ignored.
* Legal characters for `transaction_tag` values are all printable characters
* (ASCII 32 - 126) and the length of a transaction_tag is limited to 50
* characters. Values that exceed this limit are truncated.
+ * Any leading underscore (_) characters will be removed from the string.
*
*
* string transaction_tag = 3;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetProto.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetProto.java
index 48157af205c..e6b22d02d80 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetProto.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetProto.java
@@ -53,43 +53,45 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
static {
java.lang.String[] descriptorData = {
"\n\"google/spanner/v1/result_set.proto\022\021go"
- + "ogle.spanner.v1\032\034google/protobuf/struct."
- + "proto\032\"google/spanner/v1/query_plan.prot"
- + "o\032#google/spanner/v1/transaction.proto\032\034"
- + "google/spanner/v1/type.proto\032\034google/api"
- + "/annotations.proto\"\237\001\n\tResultSet\0226\n\010meta"
- + "data\030\001 \001(\0132$.google.spanner.v1.ResultSet"
- + "Metadata\022(\n\004rows\030\002 \003(\0132\032.google.protobuf"
- + ".ListValue\0220\n\005stats\030\003 \001(\0132!.google.spann"
- + "er.v1.ResultSetStats\"\321\001\n\020PartialResultSe"
- + "t\0226\n\010metadata\030\001 \001(\0132$.google.spanner.v1."
- + "ResultSetMetadata\022&\n\006values\030\002 \003(\0132\026.goog"
- + "le.protobuf.Value\022\025\n\rchunked_value\030\003 \001(\010"
- + "\022\024\n\014resume_token\030\004 \001(\014\0220\n\005stats\030\005 \001(\0132!."
- + "google.spanner.v1.ResultSetStats\"y\n\021Resu"
- + "ltSetMetadata\022/\n\010row_type\030\001 \001(\0132\035.google"
- + ".spanner.v1.StructType\0223\n\013transaction\030\002 "
- + "\001(\0132\036.google.spanner.v1.Transaction\"\271\001\n\016"
- + "ResultSetStats\0220\n\nquery_plan\030\001 \001(\0132\034.goo"
- + "gle.spanner.v1.QueryPlan\022,\n\013query_stats\030"
- + "\002 \001(\0132\027.google.protobuf.Struct\022\031\n\017row_co"
- + "unt_exact\030\003 \001(\003H\000\022\037\n\025row_count_lower_bou"
- + "nd\030\004 \001(\003H\000B\013\n\trow_countB\267\001\n\025com.google.s"
- + "panner.v1B\016ResultSetProtoP\001Z8google.gola"
- + "ng.org/genproto/googleapis/spanner/v1;sp"
- + "anner\370\001\001\252\002\027Google.Cloud.Spanner.V1\312\002\027Goo"
- + "gle\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Sp"
- + "anner::V1b\006proto3"
+ + "ogle.spanner.v1\032\034google/api/annotations."
+ + "proto\032\034google/protobuf/struct.proto\032\'goo"
+ + "gle/spanner/v1/commit_response.proto\032\"go"
+ + "ogle/spanner/v1/query_plan.proto\032#google"
+ + "/spanner/v1/transaction.proto\032\034google/sp"
+ + "anner/v1/type.proto\"\237\001\n\tResultSet\0226\n\010met"
+ + "adata\030\001 \001(\0132$.google.spanner.v1.ResultSe"
+ + "tMetadata\022(\n\004rows\030\002 \003(\0132\032.google.protobu"
+ + "f.ListValue\0220\n\005stats\030\003 \001(\0132!.google.span"
+ + "ner.v1.ResultSetStats\"\321\001\n\020PartialResultS"
+ + "et\0226\n\010metadata\030\001 \001(\0132$.google.spanner.v1"
+ + ".ResultSetMetadata\022&\n\006values\030\002 \003(\0132\026.goo"
+ + "gle.protobuf.Value\022\025\n\rchunked_value\030\003 \001("
+ + "\010\022\024\n\014resume_token\030\004 \001(\014\0220\n\005stats\030\005 \001(\0132!"
+ + ".google.spanner.v1.ResultSetStats\"y\n\021Res"
+ + "ultSetMetadata\022/\n\010row_type\030\001 \001(\0132\035.googl"
+ + "e.spanner.v1.StructType\0223\n\013transaction\030\002"
+ + " \001(\0132\036.google.spanner.v1.Transaction\"\271\001\n"
+ + "\016ResultSetStats\0220\n\nquery_plan\030\001 \001(\0132\034.go"
+ + "ogle.spanner.v1.QueryPlan\022,\n\013query_stats"
+ + "\030\002 \001(\0132\027.google.protobuf.Struct\022\031\n\017row_c"
+ + "ount_exact\030\003 \001(\003H\000\022\037\n\025row_count_lower_bo"
+ + "und\030\004 \001(\003H\000B\013\n\trow_countB\267\001\n\025com.google."
+ + "spanner.v1B\016ResultSetProtoP\001Z8google.gol"
+ + "ang.org/genproto/googleapis/spanner/v1;s"
+ + "panner\370\001\001\252\002\027Google.Cloud.Spanner.V1\312\002\027Go"
+ + "ogle\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::S"
+ + "panner::V1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.api.AnnotationsProto.getDescriptor(),
com.google.protobuf.StructProto.getDescriptor(),
+ com.google.spanner.v1.CommitResponseProto.getDescriptor(),
com.google.spanner.v1.QueryPlanProto.getDescriptor(),
com.google.spanner.v1.TransactionProto.getDescriptor(),
com.google.spanner.v1.TypeProto.getDescriptor(),
- com.google.api.AnnotationsProto.getDescriptor(),
});
internal_static_google_spanner_v1_ResultSet_descriptor =
getDescriptor().getMessageTypes().get(0);
@@ -123,11 +125,12 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new java.lang.String[] {
"QueryPlan", "QueryStats", "RowCountExact", "RowCountLowerBound", "RowCount",
});
+ com.google.api.AnnotationsProto.getDescriptor();
com.google.protobuf.StructProto.getDescriptor();
+ com.google.spanner.v1.CommitResponseProto.getDescriptor();
com.google.spanner.v1.QueryPlanProto.getDescriptor();
com.google.spanner.v1.TransactionProto.getDescriptor();
com.google.spanner.v1.TypeProto.getDescriptor();
- com.google.api.AnnotationsProto.getDescriptor();
}
// @@protoc_insertion_point(outer_class_scope)
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 6db08efbb3a..3fbfef6ea9a 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
@@ -145,13 +145,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
static {
java.lang.String[] descriptorData = {
"\n\037google/spanner/v1/spanner.proto\022\021googl"
- + "e.spanner.v1\032\'google/spanner/v1/commit_r"
- + "esponse.proto\032\034google/api/annotations.pr"
- + "oto\032\027google/api/client.proto\032\037google/api"
- + "/field_behavior.proto\032\031google/api/resour"
- + "ce.proto\032\033google/protobuf/empty.proto\032\034g"
- + "oogle/protobuf/struct.proto\032\037google/prot"
- + "obuf/timestamp.proto\032\027google/rpc/status."
+ + "e.spanner.v1\032\034google/api/annotations.pro"
+ + "to\032\027google/api/client.proto\032\037google/api/"
+ + "field_behavior.proto\032\031google/api/resourc"
+ + "e.proto\032\033google/protobuf/empty.proto\032\034go"
+ + "ogle/protobuf/struct.proto\032\037google/proto"
+ + "buf/timestamp.proto\032\027google/rpc/status.p"
+ + "roto\032\'google/spanner/v1/commit_response."
+ "proto\032\034google/spanner/v1/keys.proto\032 goo"
+ "gle/spanner/v1/mutation.proto\032\"google/sp"
+ "anner/v1/result_set.proto\032#google/spanne"
@@ -353,13 +353,12 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "Spanner\\V1\352\002\032Google::Cloud::Spanner::V1\352"
+ "A_\n\037spanner.googleapis.com/Database\022
- * # Transactions
+ * 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
+ * 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
@@ -4388,7 +4388,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* 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 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.
@@ -4407,7 +4407,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* [Commit][google.spanner.v1.Spanner.Commit], the client can send a
* [Rollback][google.spanner.v1.Spanner.Rollback] request to abort the
* transaction.
- * ## Semantics
+ * 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
@@ -4417,29 +4417,29 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* 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
+ * 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 (e.g., many transactions attempting to
+ * 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 wall time spent
+ * instead, it is better to limit the total amount of time spent
* retrying.
- * ## Idle Transactions
+ * 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. In that case, the commit will
- * fail with error `ABORTED`.
+ * 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 (e.g., `SELECT 1`) prevents the
+ * SQL query in the transaction (for example, `SELECT 1`) prevents the
* transaction from becoming idle.
- * ## Snapshot Read-Only Transactions
+ * 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.
@@ -4467,7 +4467,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* or read-write transaction, because they are able to execute far
* from the leader replica.
* Each type of timestamp bound is discussed in detail below.
- * ## Strong
+ * 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
@@ -4479,12 +4479,12 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* reads should be executed within a transaction or at an exact read
* timestamp.
* See [TransactionOptions.ReadOnly.strong][google.spanner.v1.TransactionOptions.ReadOnly.strong].
- * ## Exact Staleness
+ * 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
- * modifications done by all transactions with a commit timestamp <=
- * the read timestamp, and observe none of the modifications done by
+ * modifications done by all transactions with a commit timestamp less than or
+ * equal to the read timestamp, and observe none of the modifications done by
* transactions with a larger commit timestamp. They will block until
* all conflicting transactions that may be assigned commit timestamps
* <= the read timestamp have finished.
@@ -4496,7 +4496,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* 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:
* 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
@@ -4519,7 +4519,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
* 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
+ * 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
@@ -4528,7 +4528,7 @@ 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`.
- * ## Partitioned DML Transactions
+ * 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
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionProto.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionProto.java
index b3330eeacb1..2655d8e0fb4 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionProto.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TransactionProto.java
@@ -61,9 +61,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
static {
java.lang.String[] descriptorData = {
"\n#google/spanner/v1/transaction.proto\022\021g"
- + "oogle.spanner.v1\032\036google/protobuf/durati"
- + "on.proto\032\037google/protobuf/timestamp.prot"
- + "o\032\034google/api/annotations.proto\"\303\004\n\022Tran"
+ + "oogle.spanner.v1\032\034google/api/annotations"
+ + ".proto\032\036google/protobuf/duration.proto\032\037"
+ + "google/protobuf/timestamp.proto\"\303\004\n\022Tran"
+ "sactionOptions\022E\n\nread_write\030\001 \001(\0132/.goo"
+ "gle.spanner.v1.TransactionOptions.ReadWr"
+ "iteH\000\022O\n\017partitioned_dml\030\003 \001(\01324.google."
@@ -95,9 +95,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.api.AnnotationsProto.getDescriptor(),
com.google.protobuf.DurationProto.getDescriptor(),
com.google.protobuf.TimestampProto.getDescriptor(),
- com.google.api.AnnotationsProto.getDescriptor(),
});
internal_static_google_spanner_v1_TransactionOptions_descriptor =
getDescriptor().getMessageTypes().get(0);
@@ -149,9 +149,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new java.lang.String[] {
"SingleUse", "Id", "Begin", "Selector",
});
+ com.google.api.AnnotationsProto.getDescriptor();
com.google.protobuf.DurationProto.getDescriptor();
com.google.protobuf.TimestampProto.getDescriptor();
- com.google.api.AnnotationsProto.getDescriptor();
}
// @@protoc_insertion_point(outer_class_scope)
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 f02ccb4e134..be8ca8f5e9f 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
@@ -40,6 +40,7 @@ private Type(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
private Type() {
code_ = 0;
+ typeAnnotation_ = 0;
}
@java.lang.Override
@@ -106,6 +107,13 @@ private Type(
structType_ = subBuilder.buildPartial();
}
+ break;
+ }
+ case 32:
+ {
+ int rawValue = input.readEnum();
+
+ typeAnnotation_ = rawValue;
break;
}
default:
@@ -276,6 +284,52 @@ public com.google.spanner.v1.StructTypeOrBuilder getStructTypeOrBuilder() {
return getStructType();
}
+ public static final int TYPE_ANNOTATION_FIELD_NUMBER = 4;
+ private int typeAnnotation_;
+ /**
+ *
+ *
+ *
+ * The [TypeAnnotationCode][google.spanner.v1.TypeAnnotationCode] that disambiguates SQL type that Spanner will
+ * use to represent values of this type during query processing. This is
+ * necessary for some type codes because a single [TypeCode][google.spanner.v1.TypeCode] can be mapped
+ * to different SQL types depending on the SQL dialect. [type_annotation][google.spanner.v1.Type.type_annotation]
+ * typically is not needed to process the content of a value (it doesn't
+ * affect serialization) and clients can ignore it on the read path.
+ *
+ *
+ * .google.spanner.v1.TypeAnnotationCode type_annotation = 4;
+ *
+ * @return The enum numeric value on the wire for typeAnnotation.
+ */
+ @java.lang.Override
+ public int getTypeAnnotationValue() {
+ return typeAnnotation_;
+ }
+ /**
+ *
+ *
+ *
+ * The [TypeAnnotationCode][google.spanner.v1.TypeAnnotationCode] that disambiguates SQL type that Spanner will
+ * use to represent values of this type during query processing. This is
+ * necessary for some type codes because a single [TypeCode][google.spanner.v1.TypeCode] can be mapped
+ * to different SQL types depending on the SQL dialect. [type_annotation][google.spanner.v1.Type.type_annotation]
+ * typically is not needed to process the content of a value (it doesn't
+ * affect serialization) and clients can ignore it on the read path.
+ *
+ *
+ * .google.spanner.v1.TypeAnnotationCode type_annotation = 4;
+ *
+ * @return The typeAnnotation.
+ */
+ @java.lang.Override
+ public com.google.spanner.v1.TypeAnnotationCode getTypeAnnotation() {
+ @SuppressWarnings("deprecation")
+ com.google.spanner.v1.TypeAnnotationCode result =
+ com.google.spanner.v1.TypeAnnotationCode.valueOf(typeAnnotation_);
+ return result == null ? com.google.spanner.v1.TypeAnnotationCode.UNRECOGNIZED : result;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -299,6 +353,10 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (structType_ != null) {
output.writeMessage(3, getStructType());
}
+ if (typeAnnotation_
+ != com.google.spanner.v1.TypeAnnotationCode.TYPE_ANNOTATION_CODE_UNSPECIFIED.getNumber()) {
+ output.writeEnum(4, typeAnnotation_);
+ }
unknownFields.writeTo(output);
}
@@ -317,6 +375,10 @@ public int getSerializedSize() {
if (structType_ != null) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getStructType());
}
+ if (typeAnnotation_
+ != com.google.spanner.v1.TypeAnnotationCode.TYPE_ANNOTATION_CODE_UNSPECIFIED.getNumber()) {
+ size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, typeAnnotation_);
+ }
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
@@ -341,6 +403,7 @@ public boolean equals(final java.lang.Object obj) {
if (hasStructType()) {
if (!getStructType().equals(other.getStructType())) return false;
}
+ if (typeAnnotation_ != other.typeAnnotation_) return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@@ -362,6 +425,8 @@ public int hashCode() {
hash = (37 * hash) + STRUCT_TYPE_FIELD_NUMBER;
hash = (53 * hash) + getStructType().hashCode();
}
+ hash = (37 * hash) + TYPE_ANNOTATION_FIELD_NUMBER;
+ hash = (53 * hash) + typeAnnotation_;
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
@@ -519,6 +584,8 @@ public Builder clear() {
structType_ = null;
structTypeBuilder_ = null;
}
+ typeAnnotation_ = 0;
+
return this;
}
@@ -555,6 +622,7 @@ public com.google.spanner.v1.Type buildPartial() {
} else {
result.structType_ = structTypeBuilder_.build();
}
+ result.typeAnnotation_ = typeAnnotation_;
onBuilt();
return result;
}
@@ -613,6 +681,9 @@ public Builder mergeFrom(com.google.spanner.v1.Type other) {
if (other.hasStructType()) {
mergeStructType(other.getStructType());
}
+ if (other.typeAnnotation_ != 0) {
+ setTypeAnnotationValue(other.getTypeAnnotationValue());
+ }
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
@@ -1120,6 +1191,122 @@ public com.google.spanner.v1.StructTypeOrBuilder getStructTypeOrBuilder() {
return structTypeBuilder_;
}
+ private int typeAnnotation_ = 0;
+ /**
+ *
+ *
+ *
+ * The [TypeAnnotationCode][google.spanner.v1.TypeAnnotationCode] that disambiguates SQL type that Spanner will
+ * use to represent values of this type during query processing. This is
+ * necessary for some type codes because a single [TypeCode][google.spanner.v1.TypeCode] can be mapped
+ * to different SQL types depending on the SQL dialect. [type_annotation][google.spanner.v1.Type.type_annotation]
+ * typically is not needed to process the content of a value (it doesn't
+ * affect serialization) and clients can ignore it on the read path.
+ *
+ *
+ * .google.spanner.v1.TypeAnnotationCode type_annotation = 4;
+ *
+ * @return The enum numeric value on the wire for typeAnnotation.
+ */
+ @java.lang.Override
+ public int getTypeAnnotationValue() {
+ return typeAnnotation_;
+ }
+ /**
+ *
+ *
+ *
+ * The [TypeAnnotationCode][google.spanner.v1.TypeAnnotationCode] that disambiguates SQL type that Spanner will
+ * use to represent values of this type during query processing. This is
+ * necessary for some type codes because a single [TypeCode][google.spanner.v1.TypeCode] can be mapped
+ * to different SQL types depending on the SQL dialect. [type_annotation][google.spanner.v1.Type.type_annotation]
+ * typically is not needed to process the content of a value (it doesn't
+ * affect serialization) and clients can ignore it on the read path.
+ *
+ *
+ * .google.spanner.v1.TypeAnnotationCode type_annotation = 4;
+ *
+ * @param value The enum numeric value on the wire for typeAnnotation to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTypeAnnotationValue(int value) {
+
+ typeAnnotation_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The [TypeAnnotationCode][google.spanner.v1.TypeAnnotationCode] that disambiguates SQL type that Spanner will
+ * use to represent values of this type during query processing. This is
+ * necessary for some type codes because a single [TypeCode][google.spanner.v1.TypeCode] can be mapped
+ * to different SQL types depending on the SQL dialect. [type_annotation][google.spanner.v1.Type.type_annotation]
+ * typically is not needed to process the content of a value (it doesn't
+ * affect serialization) and clients can ignore it on the read path.
+ *
+ *
+ * .google.spanner.v1.TypeAnnotationCode type_annotation = 4;
+ *
+ * @return The typeAnnotation.
+ */
+ @java.lang.Override
+ public com.google.spanner.v1.TypeAnnotationCode getTypeAnnotation() {
+ @SuppressWarnings("deprecation")
+ com.google.spanner.v1.TypeAnnotationCode result =
+ com.google.spanner.v1.TypeAnnotationCode.valueOf(typeAnnotation_);
+ return result == null ? com.google.spanner.v1.TypeAnnotationCode.UNRECOGNIZED : result;
+ }
+ /**
+ *
+ *
+ *
+ * The [TypeAnnotationCode][google.spanner.v1.TypeAnnotationCode] that disambiguates SQL type that Spanner will
+ * use to represent values of this type during query processing. This is
+ * necessary for some type codes because a single [TypeCode][google.spanner.v1.TypeCode] can be mapped
+ * to different SQL types depending on the SQL dialect. [type_annotation][google.spanner.v1.Type.type_annotation]
+ * typically is not needed to process the content of a value (it doesn't
+ * affect serialization) and clients can ignore it on the read path.
+ *
+ *
+ * .google.spanner.v1.TypeAnnotationCode type_annotation = 4;
+ *
+ * @param value The typeAnnotation to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTypeAnnotation(com.google.spanner.v1.TypeAnnotationCode value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ typeAnnotation_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The [TypeAnnotationCode][google.spanner.v1.TypeAnnotationCode] that disambiguates SQL type that Spanner will
+ * use to represent values of this type during query processing. This is
+ * necessary for some type codes because a single [TypeCode][google.spanner.v1.TypeCode] can be mapped
+ * to different SQL types depending on the SQL dialect. [type_annotation][google.spanner.v1.Type.type_annotation]
+ * typically is not needed to process the content of a value (it doesn't
+ * affect serialization) and clients can ignore it on the read path.
+ *
+ *
+ * .google.spanner.v1.TypeAnnotationCode type_annotation = 4;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearTypeAnnotation() {
+
+ typeAnnotation_ = 0;
+ onChanged();
+ return this;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeAnnotationCode.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeAnnotationCode.java
new file mode 100644
index 00000000000..944ab742a17
--- /dev/null
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeAnnotationCode.java
@@ -0,0 +1,170 @@
+/*
+ * 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/v1/type.proto
+
+package com.google.spanner.v1;
+
+/**
+ *
+ *
+ *
+ * `TypeAnnotationCode` is used as a part of [Type][google.spanner.v1.Type] to
+ * disambiguate SQL types that should be used for a given Cloud Spanner value.
+ * Disambiguation is needed because the same Cloud Spanner type can be mapped to
+ * different SQL types depending on SQL dialect. TypeAnnotationCode doesn't
+ * affect the way value is serialized.
+ *
+ *
+ * Protobuf enum {@code google.spanner.v1.TypeAnnotationCode}
+ */
+public enum TypeAnnotationCode implements com.google.protobuf.ProtocolMessageEnum {
+ /**
+ *
+ *
+ *
+ * Not specified.
+ *
+ *
+ * TYPE_ANNOTATION_CODE_UNSPECIFIED = 0;
+ */
+ TYPE_ANNOTATION_CODE_UNSPECIFIED(0),
+ /**
+ *
+ *
+ *
+ * PostgreSQL compatible NUMERIC type. This annotation needs to be applied to
+ * [Type][google.spanner.v1.Type] instances having [NUMERIC][google.spanner.v1.TypeCode.NUMERIC]
+ * type code to specify that values of this type should be treated as
+ * PostgreSQL NUMERIC values. Currently this annotation is always needed for
+ * [NUMERIC][google.spanner.v1.TypeCode.NUMERIC] when a client interacts with PostgreSQL-enabled
+ * Spanner databases.
+ *
+ *
+ * PG_NUMERIC = 2;
+ */
+ PG_NUMERIC(2),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ *
+ *
+ *
+ * Not specified.
+ *
+ *
+ * TYPE_ANNOTATION_CODE_UNSPECIFIED = 0;
+ */
+ public static final int TYPE_ANNOTATION_CODE_UNSPECIFIED_VALUE = 0;
+ /**
+ *
+ *
+ *
+ * PostgreSQL compatible NUMERIC type. This annotation needs to be applied to
+ * [Type][google.spanner.v1.Type] instances having [NUMERIC][google.spanner.v1.TypeCode.NUMERIC]
+ * type code to specify that values of this type should be treated as
+ * PostgreSQL NUMERIC values. Currently this annotation is always needed for
+ * [NUMERIC][google.spanner.v1.TypeCode.NUMERIC] when a client interacts with PostgreSQL-enabled
+ * Spanner databases.
+ *
+ *
+ * PG_NUMERIC = 2;
+ */
+ public static final int PG_NUMERIC_VALUE = 2;
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static TypeAnnotationCode valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static TypeAnnotationCode forNumber(int value) {
+ switch (value) {
+ case 0:
+ return TYPE_ANNOTATION_CODE_UNSPECIFIED;
+ case 2:
+ return PG_NUMERIC;
+ default:
+ return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap
- * Encoded as a JSON-formatted 'string' as described in RFC 7159. The
- * following rules will be applied when parsing JSON input:
- * - Whitespace will be stripped from the document.
- * - If a JSON object has duplicate keys, only the first key will be
- * preserved.
+ * 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
- * preserved. JSON array elements will have their order preserved.
+ * preserved.
+ * - JSON array elements will have their order preserved.
*
*
* JSON = 11;
@@ -312,13 +312,13 @@ public enum TypeCode implements com.google.protobuf.ProtocolMessageEnum {
*
*
*
- * Encoded as a JSON-formatted 'string' as described in RFC 7159. The
- * following rules will be applied when parsing JSON input:
- * - Whitespace will be stripped from the document.
- * - If a JSON object has duplicate keys, only the first key will be
- * preserved.
+ * 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
- * preserved. JSON array elements will have their order preserved.
+ * preserved.
+ * - JSON array elements will have their order preserved.
*
*
* JSON = 11;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeOrBuilder.java
index bd37d1e7d23..4c78a470d6d 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeOrBuilder.java
@@ -123,4 +123,39 @@ public interface TypeOrBuilder
* .google.spanner.v1.StructType struct_type = 3;
*/
com.google.spanner.v1.StructTypeOrBuilder getStructTypeOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * The [TypeAnnotationCode][google.spanner.v1.TypeAnnotationCode] that disambiguates SQL type that Spanner will
+ * use to represent values of this type during query processing. This is
+ * necessary for some type codes because a single [TypeCode][google.spanner.v1.TypeCode] can be mapped
+ * to different SQL types depending on the SQL dialect. [type_annotation][google.spanner.v1.Type.type_annotation]
+ * typically is not needed to process the content of a value (it doesn't
+ * affect serialization) and clients can ignore it on the read path.
+ *
+ *
+ * .google.spanner.v1.TypeAnnotationCode type_annotation = 4;
+ *
+ * @return The enum numeric value on the wire for typeAnnotation.
+ */
+ int getTypeAnnotationValue();
+ /**
+ *
+ *
+ *
+ * The [TypeAnnotationCode][google.spanner.v1.TypeAnnotationCode] that disambiguates SQL type that Spanner will
+ * use to represent values of this type during query processing. This is
+ * necessary for some type codes because a single [TypeCode][google.spanner.v1.TypeCode] can be mapped
+ * to different SQL types depending on the SQL dialect. [type_annotation][google.spanner.v1.Type.type_annotation]
+ * typically is not needed to process the content of a value (it doesn't
+ * affect serialization) and clients can ignore it on the read path.
+ *
+ *
+ * .google.spanner.v1.TypeAnnotationCode type_annotation = 4;
+ *
+ * @return The typeAnnotation.
+ */
+ com.google.spanner.v1.TypeAnnotationCode getTypeAnnotation();
}
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 e781dc621a0..d0e7dd0f0cc 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
@@ -49,38 +49,42 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
static {
java.lang.String[] descriptorData = {
"\n\034google/spanner/v1/type.proto\022\021google.s"
- + "panner.v1\032\037google/api/field_behavior.pro"
- + "to\032\034google/api/annotations.proto\"\237\001\n\004Typ"
+ + "panner.v1\032\034google/api/annotations.proto\032"
+ + "\037google/api/field_behavior.proto\"\337\001\n\004Typ"
+ "e\022.\n\004code\030\001 \001(\0162\033.google.spanner.v1.Type"
+ "CodeB\003\340A\002\0223\n\022array_element_type\030\002 \001(\0132\027."
+ "google.spanner.v1.Type\0222\n\013struct_type\030\003 "
- + "\001(\0132\035.google.spanner.v1.StructType\"\177\n\nSt"
- + "ructType\0223\n\006fields\030\001 \003(\0132#.google.spanne"
- + "r.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.T"
- + "ype*\245\001\n\010TypeCode\022\031\n\025TYPE_CODE_UNSPECIFIE"
- + "D\020\000\022\010\n\004BOOL\020\001\022\t\n\005INT64\020\002\022\013\n\007FLOAT64\020\003\022\r\n"
- + "\tTIMESTAMP\020\004\022\010\n\004DATE\020\005\022\n\n\006STRING\020\006\022\t\n\005BY"
- + "TES\020\007\022\t\n\005ARRAY\020\010\022\n\n\006STRUCT\020\t\022\013\n\007NUMERIC\020"
- + "\n\022\010\n\004JSON\020\013B\257\001\n\025com.google.spanner.v1B\tT"
- + "ypeProtoP\001Z8google.golang.org/genproto/g"
- + "oogleapis/spanner/v1;spanner\252\002\027Google.Cl"
- + "oud.Spanner.V1\312\002\027Google\\Cloud\\Spanner\\V1"
- + "\352\002\032Google::Cloud::Spanner::V1b\006proto3"
+ + "\001(\0132\035.google.spanner.v1.StructType\022>\n\017ty"
+ + "pe_annotation\030\004 \001(\0162%.google.spanner.v1."
+ + "TypeAnnotationCode\"\177\n\nStructType\0223\n\006fiel"
+ + "ds\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\tTIMESTAMP\020\004\022\010\n\004"
+ + "DATE\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\004JSON\020\013*J\n\022T"
+ + "ypeAnnotationCode\022$\n TYPE_ANNOTATION_COD"
+ + "E_UNSPECIFIED\020\000\022\016\n\nPG_NUMERIC\020\002B\257\001\n\025com."
+ + "google.spanner.v1B\tTypeProtoP\001Z8google.g"
+ + "olang.org/genproto/googleapis/spanner/v1"
+ + ";spanner\252\002\027Google.Cloud.Spanner.V1\312\002\027Goo"
+ + "gle\\Cloud\\Spanner\\V1\352\002\032Google::Cloud::Sp"
+ + "anner::V1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
- com.google.api.FieldBehaviorProto.getDescriptor(),
com.google.api.AnnotationsProto.getDescriptor(),
+ com.google.api.FieldBehaviorProto.getDescriptor(),
});
internal_static_google_spanner_v1_Type_descriptor = getDescriptor().getMessageTypes().get(0);
internal_static_google_spanner_v1_Type_fieldAccessorTable =
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_v1_Type_descriptor,
new java.lang.String[] {
- "Code", "ArrayElementType", "StructType",
+ "Code", "ArrayElementType", "StructType", "TypeAnnotation",
});
internal_static_google_spanner_v1_StructType_descriptor =
getDescriptor().getMessageTypes().get(1);
@@ -103,8 +107,8 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
registry.add(com.google.api.FieldBehaviorProto.fieldBehavior);
com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor(
descriptor, registry);
- com.google.api.FieldBehaviorProto.getDescriptor();
com.google.api.AnnotationsProto.getDescriptor();
+ com.google.api.FieldBehaviorProto.getDescriptor();
}
// @@protoc_insertion_point(outer_class_scope)
diff --git a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/commit_response.proto b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/commit_response.proto
index 1c2df7260be..4850600f0ef 100644
--- a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/commit_response.proto
+++ b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/commit_response.proto
@@ -16,9 +16,9 @@ syntax = "proto3";
package google.spanner.v1;
+import "google/api/annotations.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
-import "google/api/annotations.proto";
option csharp_namespace = "Google.Cloud.Spanner.V1";
option go_package = "google.golang.org/genproto/googleapis/spanner/v1;spanner";
@@ -36,9 +36,9 @@ message CommitResponse {
// `mutation_count` value can help you maximize the number of mutations
// in a transaction and minimize the number of API round trips. You can
// also monitor this value to prevent transactions from exceeding the system
- // [limit](http://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data).
+ // [limit](https://cloud.google.com/spanner/quotas#limits_for_creating_reading_updating_and_deleting_data).
// If the number of mutations exceeds the limit, the server returns
- // [INVALID_ARGUMENT](http://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).
+ // [INVALID_ARGUMENT](https://cloud.google.com/spanner/docs/reference/rest/v1/Code#ENUM_VALUES.INVALID_ARGUMENT).
int64 mutation_count = 1;
}
diff --git a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/keys.proto b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/keys.proto
index d8ce0d6774f..ddcd181266e 100644
--- a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/keys.proto
+++ b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/keys.proto
@@ -16,8 +16,8 @@ syntax = "proto3";
package google.spanner.v1;
-import "google/protobuf/struct.proto";
import "google/api/annotations.proto";
+import "google/protobuf/struct.proto";
option csharp_namespace = "Google.Cloud.Spanner.V1";
option go_package = "google.golang.org/genproto/googleapis/spanner/v1;spanner";
diff --git a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/mutation.proto b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/mutation.proto
index 8ba51fc9ae1..ccadb2f8fcb 100644
--- a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/mutation.proto
+++ b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/mutation.proto
@@ -1,4 +1,4 @@
-// Copyright 2020 Google LLC
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,9 +16,9 @@ syntax = "proto3";
package google.spanner.v1;
+import "google/api/annotations.proto";
import "google/protobuf/struct.proto";
import "google/spanner/v1/keys.proto";
-import "google/api/annotations.proto";
option csharp_namespace = "Google.Cloud.Spanner.V1";
option go_package = "google.golang.org/genproto/googleapis/spanner/v1;spanner";
diff --git a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/query_plan.proto b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/query_plan.proto
index 35f8fe21c55..690c36ea92b 100644
--- a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/query_plan.proto
+++ b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/query_plan.proto
@@ -16,8 +16,8 @@ syntax = "proto3";
package google.spanner.v1;
-import "google/protobuf/struct.proto";
import "google/api/annotations.proto";
+import "google/protobuf/struct.proto";
option csharp_namespace = "Google.Cloud.Spanner.V1";
option go_package = "google.golang.org/genproto/googleapis/spanner/v1;spanner";
@@ -29,6 +29,24 @@ option ruby_package = "Google::Cloud::Spanner::V1";
// Node information for nodes appearing in a [QueryPlan.plan_nodes][google.spanner.v1.QueryPlan.plan_nodes].
message PlanNode {
+ // The kind of [PlanNode][google.spanner.v1.PlanNode]. Distinguishes between the two different kinds of
+ // nodes that can appear in a query plan.
+ enum Kind {
+ // Not specified.
+ KIND_UNSPECIFIED = 0;
+
+ // Denotes a Relational operator node in the expression tree. Relational
+ // operators represent iterative processing of rows during query execution.
+ // For example, a `TableScan` operation that reads rows from a table.
+ RELATIONAL = 1;
+
+ // Denotes a Scalar node in the expression tree. Scalar nodes represent
+ // non-iterable entities in the query plan. For example, constants or
+ // arithmetic operators appearing inside predicate expressions or references
+ // to column names.
+ SCALAR = 2;
+ }
+
// Metadata associated with a parent-child relationship appearing in a
// [PlanNode][google.spanner.v1.PlanNode].
message ChildLink {
@@ -66,24 +84,6 @@ message PlanNode {
map
(ExponentIndicator is `"e"` or `"E"`)
NUMERIC = 10;
- // Encoded as a JSON-formatted 'string' as described in RFC 7159. The
- // following rules will be applied when parsing JSON input:
- // - Whitespace will be stripped from the document.
- // - If a JSON object has duplicate keys, only the first key will be
- // preserved.
+ // 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
- // preserved. JSON array elements will have their order preserved.
+ // preserved.
+ // - JSON array elements will have their order preserved.
JSON = 11;
}
+
+// `TypeAnnotationCode` is used as a part of [Type][google.spanner.v1.Type] to
+// disambiguate SQL types that should be used for a given Cloud Spanner value.
+// Disambiguation is needed because the same Cloud Spanner type can be mapped to
+// different SQL types depending on SQL dialect. TypeAnnotationCode doesn't
+// affect the way value is serialized.
+enum TypeAnnotationCode {
+ // Not specified.
+ TYPE_ANNOTATION_CODE_UNSPECIFIED = 0;
+
+ // PostgreSQL compatible NUMERIC type. This annotation needs to be applied to
+ // [Type][google.spanner.v1.Type] instances having [NUMERIC][google.spanner.v1.TypeCode.NUMERIC]
+ // type code to specify that values of this type should be treated as
+ // PostgreSQL NUMERIC values. Currently this annotation is always needed for
+ // [NUMERIC][google.spanner.v1.TypeCode.NUMERIC] when a client interacts with PostgreSQL-enabled
+ // Spanner databases.
+ PG_NUMERIC = 2;
+}