diff --git a/generation_config.yaml b/generation_config.yaml index 720fec899ab..22e3d873bcf 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,5 +1,5 @@ gapic_generator_version: 2.46.1 -googleapis_commitish: 005df4681b89bd204a90b76168a6dc9d9e7bf4fe +googleapis_commitish: 16a1580c06b3b32e8ab33c39d846bba7e21bfae3 libraries_bom_version: 26.47.0 libraries: - api_shortname: spanner diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequest.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequest.java index 850eec8ddcf..94ec19c8db9 100644 --- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequest.java +++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ExecuteSqlRequest.java @@ -115,13 +115,37 @@ public enum QueryMode implements com.google.protobuf.ProtocolMessageEnum { * * *
- * This mode returns both the query plan and the execution statistics along
- * with the results.
+ * This mode returns the query plan, overall execution statistics,
+ * operator level execution statistics along with the results. This has a
+ * performance overhead compared to the other modes. It is not recommended
+ * to use this mode for production traffic.
*
*
* PROFILE = 2;
*/
PROFILE(2),
+ /**
+ *
+ *
+ * + * This mode returns the overall (but not operator-level) execution + * statistics along with the results. + *+ * + *
WITH_STATS = 3;
+ */
+ WITH_STATS(3),
+ /**
+ *
+ *
+ * + * This mode returns the query plan, overall (but not operator-level) + * execution statistics along with the results. + *+ * + *
WITH_PLAN_AND_STATS = 4;
+ */
+ WITH_PLAN_AND_STATS(4),
UNRECOGNIZED(-1),
;
@@ -150,13 +174,37 @@ public enum QueryMode implements com.google.protobuf.ProtocolMessageEnum {
*
*
*
- * This mode returns both the query plan and the execution statistics along
- * with the results.
+ * This mode returns the query plan, overall execution statistics,
+ * operator level execution statistics along with the results. This has a
+ * performance overhead compared to the other modes. It is not recommended
+ * to use this mode for production traffic.
*
*
* PROFILE = 2;
*/
public static final int PROFILE_VALUE = 2;
+ /**
+ *
+ *
+ * + * This mode returns the overall (but not operator-level) execution + * statistics along with the results. + *+ * + *
WITH_STATS = 3;
+ */
+ public static final int WITH_STATS_VALUE = 3;
+ /**
+ *
+ *
+ * + * This mode returns the query plan, overall (but not operator-level) + * execution statistics along with the results. + *+ * + *
WITH_PLAN_AND_STATS = 4;
+ */
+ public static final int WITH_PLAN_AND_STATS_VALUE = 4;
public final int getNumber() {
if (this == UNRECOGNIZED) {
@@ -188,6 +236,10 @@ public static QueryMode forNumber(int value) {
return PLAN;
case 2:
return PROFILE;
+ case 3:
+ return WITH_STATS;
+ case 4:
+ return WITH_PLAN_AND_STATS;
default:
return null;
}
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 3aebaeeaae6..9c90d3f61a1 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
@@ -236,7 +236,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "aSelection\022\036\n\026auto_failover_disabled\030\002 \001"
+ "(\010\032f\n\017ExcludeReplicas\022S\n\022replica_selecti"
+ "ons\030\001 \003(\01327.google.spanner.v1.DirectedRe"
- + "adOptions.ReplicaSelectionB\n\n\010replicas\"\307"
+ + "adOptions.ReplicaSelectionB\n\n\010replicas\"\360"
+ "\006\n\021ExecuteSqlRequest\0227\n\007session\030\001 \001(\tB&\340"
+ "A\002\372A \n\036spanner.googleapis.com/Session\022;\n"
+ "\013transaction\030\002 \001(\0132&.google.spanner.v1.T"
@@ -256,182 +256,183 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "ueryOptions\022\031\n\021optimizer_version\030\001 \001(\t\022$"
+ "\n\034optimizer_statistics_package\030\002 \001(\t\032J\n\017"
+ "ParamTypesEntry\022\013\n\003key\030\001 \001(\t\022&\n\005value\030\002 "
- + "\001(\0132\027.google.spanner.v1.Type:\0028\001\".\n\tQuer"
+ + "\001(\0132\027.google.spanner.v1.Type:\0028\001\"W\n\tQuer"
+ "yMode\022\n\n\006NORMAL\020\000\022\010\n\004PLAN\020\001\022\013\n\007PROFILE\020\002"
- + "\"\240\004\n\026ExecuteBatchDmlRequest\0227\n\007session\030\001"
- + " \001(\tB&\340A\002\372A \n\036spanner.googleapis.com/Ses"
- + "sion\022@\n\013transaction\030\002 \001(\0132&.google.spann"
- + "er.v1.TransactionSelectorB\003\340A\002\022L\n\nstatem"
- + "ents\030\003 \003(\01323.google.spanner.v1.ExecuteBa"
- + "tchDmlRequest.StatementB\003\340A\002\022\022\n\005seqno\030\004 "
- + "\001(\003B\003\340A\002\022:\n\017request_options\030\005 \001(\0132!.goog"
- + "le.spanner.v1.RequestOptions\032\354\001\n\tStateme"
- + "nt\022\020\n\003sql\030\001 \001(\tB\003\340A\002\022\'\n\006params\030\002 \001(\0132\027.g"
- + "oogle.protobuf.Struct\022X\n\013param_types\030\003 \003"
- + "(\0132C.google.spanner.v1.ExecuteBatchDmlRe"
- + "quest.Statement.ParamTypesEntry\032J\n\017Param"
- + "TypesEntry\022\013\n\003key\030\001 \001(\t\022&\n\005value\030\002 \001(\0132\027"
- + ".google.spanner.v1.Type:\0028\001\"p\n\027ExecuteBa"
- + "tchDmlResponse\0221\n\013result_sets\030\001 \003(\0132\034.go"
- + "ogle.spanner.v1.ResultSet\022\"\n\006status\030\002 \001("
- + "\0132\022.google.rpc.Status\"H\n\020PartitionOption"
- + "s\022\034\n\024partition_size_bytes\030\001 \001(\003\022\026\n\016max_p"
- + "artitions\030\002 \001(\003\"\243\003\n\025PartitionQueryReques"
- + "t\0227\n\007session\030\001 \001(\tB&\340A\002\372A \n\036spanner.goog"
- + "leapis.com/Session\022;\n\013transaction\030\002 \001(\0132"
- + "&.google.spanner.v1.TransactionSelector\022"
- + "\020\n\003sql\030\003 \001(\tB\003\340A\002\022\'\n\006params\030\004 \001(\0132\027.goog"
- + "le.protobuf.Struct\022M\n\013param_types\030\005 \003(\0132"
- + "8.google.spanner.v1.PartitionQueryReques"
- + "t.ParamTypesEntry\022>\n\021partition_options\030\006"
- + " \001(\0132#.google.spanner.v1.PartitionOption"
- + "s\032J\n\017ParamTypesEntry\022\013\n\003key\030\001 \001(\t\022&\n\005val"
- + "ue\030\002 \001(\0132\027.google.spanner.v1.Type:\0028\001\"\261\002"
- + "\n\024PartitionReadRequest\0227\n\007session\030\001 \001(\tB"
- + "&\340A\002\372A \n\036spanner.googleapis.com/Session\022"
- + ";\n\013transaction\030\002 \001(\0132&.google.spanner.v1"
- + ".TransactionSelector\022\022\n\005table\030\003 \001(\tB\003\340A\002"
- + "\022\r\n\005index\030\004 \001(\t\022\017\n\007columns\030\005 \003(\t\022/\n\007key_"
- + "set\030\006 \001(\0132\031.google.spanner.v1.KeySetB\003\340A"
- + "\002\022>\n\021partition_options\030\t \001(\0132#.google.sp"
- + "anner.v1.PartitionOptions\"$\n\tPartition\022\027"
- + "\n\017partition_token\030\001 \001(\014\"z\n\021PartitionResp"
- + "onse\0220\n\npartitions\030\001 \003(\0132\034.google.spanne"
- + "r.v1.Partition\0223\n\013transaction\030\002 \001(\0132\036.go"
- + "ogle.spanner.v1.Transaction\"\366\005\n\013ReadRequ"
- + "est\0227\n\007session\030\001 \001(\tB&\340A\002\372A \n\036spanner.go"
- + "ogleapis.com/Session\022;\n\013transaction\030\002 \001("
- + "\0132&.google.spanner.v1.TransactionSelecto"
- + "r\022\022\n\005table\030\003 \001(\tB\003\340A\002\022\r\n\005index\030\004 \001(\t\022\024\n\007"
- + "columns\030\005 \003(\tB\003\340A\002\022/\n\007key_set\030\006 \001(\0132\031.go"
- + "ogle.spanner.v1.KeySetB\003\340A\002\022\r\n\005limit\030\010 \001"
- + "(\003\022\024\n\014resume_token\030\t \001(\014\022\027\n\017partition_to"
- + "ken\030\n \001(\014\022:\n\017request_options\030\013 \001(\0132!.goo"
- + "gle.spanner.v1.RequestOptions\022E\n\025directe"
- + "d_read_options\030\016 \001(\0132&.google.spanner.v1"
- + ".DirectedReadOptions\022\032\n\022data_boost_enabl"
- + "ed\030\017 \001(\010\022=\n\010order_by\030\020 \001(\0162&.google.span"
- + "ner.v1.ReadRequest.OrderByB\003\340A\001\022?\n\tlock_"
- + "hint\030\021 \001(\0162\'.google.spanner.v1.ReadReque"
- + "st.LockHintB\003\340A\001\"T\n\007OrderBy\022\030\n\024ORDER_BY_"
- + "UNSPECIFIED\020\000\022\030\n\024ORDER_BY_PRIMARY_KEY\020\001\022"
- + "\025\n\021ORDER_BY_NO_ORDER\020\002\"T\n\010LockHint\022\031\n\025LO"
- + "CK_HINT_UNSPECIFIED\020\000\022\024\n\020LOCK_HINT_SHARE"
- + "D\020\001\022\027\n\023LOCK_HINT_EXCLUSIVE\020\002\"\313\001\n\027BeginTr"
- + "ansactionRequest\0227\n\007session\030\001 \001(\tB&\340A\002\372A"
- + " \n\036spanner.googleapis.com/Session\022;\n\007opt"
- + "ions\030\002 \001(\0132%.google.spanner.v1.Transacti"
- + "onOptionsB\003\340A\002\022:\n\017request_options\030\003 \001(\0132"
- + "!.google.spanner.v1.RequestOptions\"\375\002\n\rC"
- + "ommitRequest\0227\n\007session\030\001 \001(\tB&\340A\002\372A \n\036s"
- + "panner.googleapis.com/Session\022\030\n\016transac"
- + "tion_id\030\002 \001(\014H\000\022G\n\026single_use_transactio"
- + "n\030\003 \001(\0132%.google.spanner.v1.TransactionO"
- + "ptionsH\000\022.\n\tmutations\030\004 \003(\0132\033.google.spa"
- + "nner.v1.Mutation\022\033\n\023return_commit_stats\030"
- + "\005 \001(\010\0228\n\020max_commit_delay\030\010 \001(\0132\031.google"
- + ".protobuf.DurationB\003\340A\001\022:\n\017request_optio"
- + "ns\030\006 \001(\0132!.google.spanner.v1.RequestOpti"
- + "onsB\r\n\013transaction\"g\n\017RollbackRequest\0227\n"
- + "\007session\030\001 \001(\tB&\340A\002\372A \n\036spanner.googleap"
- + "is.com/Session\022\033\n\016transaction_id\030\002 \001(\014B\003"
- + "\340A\002\"\316\002\n\021BatchWriteRequest\0227\n\007session\030\001 \001"
- + "(\tB&\340A\002\372A \n\036spanner.googleapis.com/Sessi"
- + "on\022:\n\017request_options\030\003 \001(\0132!.google.spa"
- + "nner.v1.RequestOptions\022P\n\017mutation_group"
- + "s\030\004 \003(\01322.google.spanner.v1.BatchWriteRe"
- + "quest.MutationGroupB\003\340A\002\022,\n\037exclude_txn_"
- + "from_change_streams\030\005 \001(\010B\003\340A\001\032D\n\rMutati"
- + "onGroup\0223\n\tmutations\030\001 \003(\0132\033.google.span"
- + "ner.v1.MutationB\003\340A\002\"\177\n\022BatchWriteRespon"
- + "se\022\017\n\007indexes\030\001 \003(\005\022\"\n\006status\030\002 \001(\0132\022.go"
- + "ogle.rpc.Status\0224\n\020commit_timestamp\030\003 \001("
- + "\0132\032.google.protobuf.Timestamp2\213\030\n\007Spanne"
- + "r\022\246\001\n\rCreateSession\022\'.google.spanner.v1."
- + "CreateSessionRequest\032\032.google.spanner.v1"
- + ".Session\"P\332A\010database\202\323\344\223\002?\":/v1/{databa"
- + "se=projects/*/instances/*/databases/*}/s"
- + "essions:\001*\022\340\001\n\023BatchCreateSessions\022-.goo"
- + "gle.spanner.v1.BatchCreateSessionsReques"
- + "t\032..google.spanner.v1.BatchCreateSession"
- + "sResponse\"j\332A\026database,session_count\202\323\344\223"
- + "\002K\"F/v1/{database=projects/*/instances/*"
- + "/databases/*}/sessions:batchCreate:\001*\022\227\001"
- + "\n\nGetSession\022$.google.spanner.v1.GetSess"
- + "ionRequest\032\032.google.spanner.v1.Session\"G"
- + "\332A\004name\202\323\344\223\002:\0228/v1/{name=projects/*/inst"
- + "ances/*/databases/*/sessions/*}\022\256\001\n\014List"
- + "Sessions\022&.google.spanner.v1.ListSession"
- + "sRequest\032\'.google.spanner.v1.ListSession"
- + "sResponse\"M\332A\010database\202\323\344\223\002<\022:/v1/{datab"
+ + "\022\016\n\nWITH_STATS\020\003\022\027\n\023WITH_PLAN_AND_STATS\020"
+ + "\004\"\240\004\n\026ExecuteBatchDmlRequest\0227\n\007session\030"
+ + "\001 \001(\tB&\340A\002\372A \n\036spanner.googleapis.com/Se"
+ + "ssion\022@\n\013transaction\030\002 \001(\0132&.google.span"
+ + "ner.v1.TransactionSelectorB\003\340A\002\022L\n\nstate"
+ + "ments\030\003 \003(\01323.google.spanner.v1.ExecuteB"
+ + "atchDmlRequest.StatementB\003\340A\002\022\022\n\005seqno\030\004"
+ + " \001(\003B\003\340A\002\022:\n\017request_options\030\005 \001(\0132!.goo"
+ + "gle.spanner.v1.RequestOptions\032\354\001\n\tStatem"
+ + "ent\022\020\n\003sql\030\001 \001(\tB\003\340A\002\022\'\n\006params\030\002 \001(\0132\027."
+ + "google.protobuf.Struct\022X\n\013param_types\030\003 "
+ + "\003(\0132C.google.spanner.v1.ExecuteBatchDmlR"
+ + "equest.Statement.ParamTypesEntry\032J\n\017Para"
+ + "mTypesEntry\022\013\n\003key\030\001 \001(\t\022&\n\005value\030\002 \001(\0132"
+ + "\027.google.spanner.v1.Type:\0028\001\"p\n\027ExecuteB"
+ + "atchDmlResponse\0221\n\013result_sets\030\001 \003(\0132\034.g"
+ + "oogle.spanner.v1.ResultSet\022\"\n\006status\030\002 \001"
+ + "(\0132\022.google.rpc.Status\"H\n\020PartitionOptio"
+ + "ns\022\034\n\024partition_size_bytes\030\001 \001(\003\022\026\n\016max_"
+ + "partitions\030\002 \001(\003\"\243\003\n\025PartitionQueryReque"
+ + "st\0227\n\007session\030\001 \001(\tB&\340A\002\372A \n\036spanner.goo"
+ + "gleapis.com/Session\022;\n\013transaction\030\002 \001(\013"
+ + "2&.google.spanner.v1.TransactionSelector"
+ + "\022\020\n\003sql\030\003 \001(\tB\003\340A\002\022\'\n\006params\030\004 \001(\0132\027.goo"
+ + "gle.protobuf.Struct\022M\n\013param_types\030\005 \003(\013"
+ + "28.google.spanner.v1.PartitionQueryReque"
+ + "st.ParamTypesEntry\022>\n\021partition_options\030"
+ + "\006 \001(\0132#.google.spanner.v1.PartitionOptio"
+ + "ns\032J\n\017ParamTypesEntry\022\013\n\003key\030\001 \001(\t\022&\n\005va"
+ + "lue\030\002 \001(\0132\027.google.spanner.v1.Type:\0028\001\"\261"
+ + "\002\n\024PartitionReadRequest\0227\n\007session\030\001 \001(\t"
+ + "B&\340A\002\372A \n\036spanner.googleapis.com/Session"
+ + "\022;\n\013transaction\030\002 \001(\0132&.google.spanner.v"
+ + "1.TransactionSelector\022\022\n\005table\030\003 \001(\tB\003\340A"
+ + "\002\022\r\n\005index\030\004 \001(\t\022\017\n\007columns\030\005 \003(\t\022/\n\007key"
+ + "_set\030\006 \001(\0132\031.google.spanner.v1.KeySetB\003\340"
+ + "A\002\022>\n\021partition_options\030\t \001(\0132#.google.s"
+ + "panner.v1.PartitionOptions\"$\n\tPartition\022"
+ + "\027\n\017partition_token\030\001 \001(\014\"z\n\021PartitionRes"
+ + "ponse\0220\n\npartitions\030\001 \003(\0132\034.google.spann"
+ + "er.v1.Partition\0223\n\013transaction\030\002 \001(\0132\036.g"
+ + "oogle.spanner.v1.Transaction\"\366\005\n\013ReadReq"
+ + "uest\0227\n\007session\030\001 \001(\tB&\340A\002\372A \n\036spanner.g"
+ + "oogleapis.com/Session\022;\n\013transaction\030\002 \001"
+ + "(\0132&.google.spanner.v1.TransactionSelect"
+ + "or\022\022\n\005table\030\003 \001(\tB\003\340A\002\022\r\n\005index\030\004 \001(\t\022\024\n"
+ + "\007columns\030\005 \003(\tB\003\340A\002\022/\n\007key_set\030\006 \001(\0132\031.g"
+ + "oogle.spanner.v1.KeySetB\003\340A\002\022\r\n\005limit\030\010 "
+ + "\001(\003\022\024\n\014resume_token\030\t \001(\014\022\027\n\017partition_t"
+ + "oken\030\n \001(\014\022:\n\017request_options\030\013 \001(\0132!.go"
+ + "ogle.spanner.v1.RequestOptions\022E\n\025direct"
+ + "ed_read_options\030\016 \001(\0132&.google.spanner.v"
+ + "1.DirectedReadOptions\022\032\n\022data_boost_enab"
+ + "led\030\017 \001(\010\022=\n\010order_by\030\020 \001(\0162&.google.spa"
+ + "nner.v1.ReadRequest.OrderByB\003\340A\001\022?\n\tlock"
+ + "_hint\030\021 \001(\0162\'.google.spanner.v1.ReadRequ"
+ + "est.LockHintB\003\340A\001\"T\n\007OrderBy\022\030\n\024ORDER_BY"
+ + "_UNSPECIFIED\020\000\022\030\n\024ORDER_BY_PRIMARY_KEY\020\001"
+ + "\022\025\n\021ORDER_BY_NO_ORDER\020\002\"T\n\010LockHint\022\031\n\025L"
+ + "OCK_HINT_UNSPECIFIED\020\000\022\024\n\020LOCK_HINT_SHAR"
+ + "ED\020\001\022\027\n\023LOCK_HINT_EXCLUSIVE\020\002\"\313\001\n\027BeginT"
+ + "ransactionRequest\0227\n\007session\030\001 \001(\tB&\340A\002\372"
+ + "A \n\036spanner.googleapis.com/Session\022;\n\007op"
+ + "tions\030\002 \001(\0132%.google.spanner.v1.Transact"
+ + "ionOptionsB\003\340A\002\022:\n\017request_options\030\003 \001(\013"
+ + "2!.google.spanner.v1.RequestOptions\"\375\002\n\r"
+ + "CommitRequest\0227\n\007session\030\001 \001(\tB&\340A\002\372A \n\036"
+ + "spanner.googleapis.com/Session\022\030\n\016transa"
+ + "ction_id\030\002 \001(\014H\000\022G\n\026single_use_transacti"
+ + "on\030\003 \001(\0132%.google.spanner.v1.Transaction"
+ + "OptionsH\000\022.\n\tmutations\030\004 \003(\0132\033.google.sp"
+ + "anner.v1.Mutation\022\033\n\023return_commit_stats"
+ + "\030\005 \001(\010\0228\n\020max_commit_delay\030\010 \001(\0132\031.googl"
+ + "e.protobuf.DurationB\003\340A\001\022:\n\017request_opti"
+ + "ons\030\006 \001(\0132!.google.spanner.v1.RequestOpt"
+ + "ionsB\r\n\013transaction\"g\n\017RollbackRequest\0227"
+ + "\n\007session\030\001 \001(\tB&\340A\002\372A \n\036spanner.googlea"
+ + "pis.com/Session\022\033\n\016transaction_id\030\002 \001(\014B"
+ + "\003\340A\002\"\316\002\n\021BatchWriteRequest\0227\n\007session\030\001 "
+ + "\001(\tB&\340A\002\372A \n\036spanner.googleapis.com/Sess"
+ + "ion\022:\n\017request_options\030\003 \001(\0132!.google.sp"
+ + "anner.v1.RequestOptions\022P\n\017mutation_grou"
+ + "ps\030\004 \003(\01322.google.spanner.v1.BatchWriteR"
+ + "equest.MutationGroupB\003\340A\002\022,\n\037exclude_txn"
+ + "_from_change_streams\030\005 \001(\010B\003\340A\001\032D\n\rMutat"
+ + "ionGroup\0223\n\tmutations\030\001 \003(\0132\033.google.spa"
+ + "nner.v1.MutationB\003\340A\002\"\177\n\022BatchWriteRespo"
+ + "nse\022\017\n\007indexes\030\001 \003(\005\022\"\n\006status\030\002 \001(\0132\022.g"
+ + "oogle.rpc.Status\0224\n\020commit_timestamp\030\003 \001"
+ + "(\0132\032.google.protobuf.Timestamp2\213\030\n\007Spann"
+ + "er\022\246\001\n\rCreateSession\022\'.google.spanner.v1"
+ + ".CreateSessionRequest\032\032.google.spanner.v"
+ + "1.Session\"P\332A\010database\202\323\344\223\002?\":/v1/{datab"
+ "ase=projects/*/instances/*/databases/*}/"
- + "sessions\022\231\001\n\rDeleteSession\022\'.google.span"
- + "ner.v1.DeleteSessionRequest\032\026.google.pro"
- + "tobuf.Empty\"G\332A\004name\202\323\344\223\002:*8/v1/{name=pr"
- + "ojects/*/instances/*/databases/*/session"
- + "s/*}\022\243\001\n\nExecuteSql\022$.google.spanner.v1."
- + "ExecuteSqlRequest\032\034.google.spanner.v1.Re"
- + "sultSet\"Q\202\323\344\223\002K\"F/v1/{session=projects/*"
- + "/instances/*/databases/*/sessions/*}:exe"
- + "cuteSql:\001*\022\276\001\n\023ExecuteStreamingSql\022$.goo"
- + "gle.spanner.v1.ExecuteSqlRequest\032#.googl"
- + "e.spanner.v1.PartialResultSet\"Z\202\323\344\223\002T\"O/"
- + "v1/{session=projects/*/instances/*/datab"
- + "ases/*/sessions/*}:executeStreamingSql:\001"
- + "*0\001\022\300\001\n\017ExecuteBatchDml\022).google.spanner"
- + ".v1.ExecuteBatchDmlRequest\032*.google.span"
- + "ner.v1.ExecuteBatchDmlResponse\"V\202\323\344\223\002P\"K"
+ + "sessions:\001*\022\340\001\n\023BatchCreateSessions\022-.go"
+ + "ogle.spanner.v1.BatchCreateSessionsReque"
+ + "st\032..google.spanner.v1.BatchCreateSessio"
+ + "nsResponse\"j\332A\026database,session_count\202\323\344"
+ + "\223\002K\"F/v1/{database=projects/*/instances/"
+ + "*/databases/*}/sessions:batchCreate:\001*\022\227"
+ + "\001\n\nGetSession\022$.google.spanner.v1.GetSes"
+ + "sionRequest\032\032.google.spanner.v1.Session\""
+ + "G\332A\004name\202\323\344\223\002:\0228/v1/{name=projects/*/ins"
+ + "tances/*/databases/*/sessions/*}\022\256\001\n\014Lis"
+ + "tSessions\022&.google.spanner.v1.ListSessio"
+ + "nsRequest\032\'.google.spanner.v1.ListSessio"
+ + "nsResponse\"M\332A\010database\202\323\344\223\002<\022:/v1/{data"
+ + "base=projects/*/instances/*/databases/*}"
+ + "/sessions\022\231\001\n\rDeleteSession\022\'.google.spa"
+ + "nner.v1.DeleteSessionRequest\032\026.google.pr"
+ + "otobuf.Empty\"G\332A\004name\202\323\344\223\002:*8/v1/{name=p"
+ + "rojects/*/instances/*/databases/*/sessio"
+ + "ns/*}\022\243\001\n\nExecuteSql\022$.google.spanner.v1"
+ + ".ExecuteSqlRequest\032\034.google.spanner.v1.R"
+ + "esultSet\"Q\202\323\344\223\002K\"F/v1/{session=projects/"
+ + "*/instances/*/databases/*/sessions/*}:ex"
+ + "ecuteSql:\001*\022\276\001\n\023ExecuteStreamingSql\022$.go"
+ + "ogle.spanner.v1.ExecuteSqlRequest\032#.goog"
+ + "le.spanner.v1.PartialResultSet\"Z\202\323\344\223\002T\"O"
+ + "/v1/{session=projects/*/instances/*/data"
+ + "bases/*/sessions/*}:executeStreamingSql:"
+ + "\001*0\001\022\300\001\n\017ExecuteBatchDml\022).google.spanne"
+ + "r.v1.ExecuteBatchDmlRequest\032*.google.spa"
+ + "nner.v1.ExecuteBatchDmlResponse\"V\202\323\344\223\002P\""
+ + "K/v1/{session=projects/*/instances/*/dat"
+ + "abases/*/sessions/*}:executeBatchDml:\001*\022"
+ + "\221\001\n\004Read\022\036.google.spanner.v1.ReadRequest"
+ + "\032\034.google.spanner.v1.ResultSet\"K\202\323\344\223\002E\"@"
+ + "/v1/{session=projects/*/instances/*/data"
+ + "bases/*/sessions/*}:read:\001*\022\254\001\n\rStreamin"
+ + "gRead\022\036.google.spanner.v1.ReadRequest\032#."
+ + "google.spanner.v1.PartialResultSet\"T\202\323\344\223"
+ + "\002N\"I/v1/{session=projects/*/instances/*/"
+ + "databases/*/sessions/*}:streamingRead:\001*"
+ + "0\001\022\311\001\n\020BeginTransaction\022*.google.spanner"
+ + ".v1.BeginTransactionRequest\032\036.google.spa"
+ + "nner.v1.Transaction\"i\332A\017session,options\202"
+ + "\323\344\223\002Q\"L/v1/{session=projects/*/instances"
+ + "/*/databases/*/sessions/*}:beginTransact"
+ + "ion:\001*\022\353\001\n\006Commit\022 .google.spanner.v1.Co"
+ + "mmitRequest\032!.google.spanner.v1.CommitRe"
+ + "sponse\"\233\001\332A session,transaction_id,mutat"
+ + "ions\332A(session,single_use_transaction,mu"
+ + "tations\202\323\344\223\002G\"B/v1/{session=projects/*/i"
+ + "nstances/*/databases/*/sessions/*}:commi"
+ + "t:\001*\022\260\001\n\010Rollback\022\".google.spanner.v1.Ro"
+ + "llbackRequest\032\026.google.protobuf.Empty\"h\332"
+ + "A\026session,transaction_id\202\323\344\223\002I\"D/v1/{ses"
+ + "sion=projects/*/instances/*/databases/*/"
+ + "sessions/*}:rollback:\001*\022\267\001\n\016PartitionQue"
+ + "ry\022(.google.spanner.v1.PartitionQueryReq"
+ + "uest\032$.google.spanner.v1.PartitionRespon"
+ + "se\"U\202\323\344\223\002O\"J/v1/{session=projects/*/inst"
+ + "ances/*/databases/*/sessions/*}:partitio"
+ + "nQuery:\001*\022\264\001\n\rPartitionRead\022\'.google.spa"
+ + "nner.v1.PartitionReadRequest\032$.google.sp"
+ + "anner.v1.PartitionResponse\"T\202\323\344\223\002N\"I/v1/"
+ + "{session=projects/*/instances/*/database"
+ + "s/*/sessions/*}:partitionRead:\001*\022\310\001\n\nBat"
+ + "chWrite\022$.google.spanner.v1.BatchWriteRe"
+ + "quest\032%.google.spanner.v1.BatchWriteResp"
+ + "onse\"k\332A\027session,mutation_groups\202\323\344\223\002K\"F"
+ "/v1/{session=projects/*/instances/*/data"
- + "bases/*/sessions/*}:executeBatchDml:\001*\022\221"
- + "\001\n\004Read\022\036.google.spanner.v1.ReadRequest\032"
- + "\034.google.spanner.v1.ResultSet\"K\202\323\344\223\002E\"@/"
- + "v1/{session=projects/*/instances/*/datab"
- + "ases/*/sessions/*}:read:\001*\022\254\001\n\rStreaming"
- + "Read\022\036.google.spanner.v1.ReadRequest\032#.g"
- + "oogle.spanner.v1.PartialResultSet\"T\202\323\344\223\002"
- + "N\"I/v1/{session=projects/*/instances/*/d"
- + "atabases/*/sessions/*}:streamingRead:\001*0"
- + "\001\022\311\001\n\020BeginTransaction\022*.google.spanner."
- + "v1.BeginTransactionRequest\032\036.google.span"
- + "ner.v1.Transaction\"i\332A\017session,options\202\323"
- + "\344\223\002Q\"L/v1/{session=projects/*/instances/"
- + "*/databases/*/sessions/*}:beginTransacti"
- + "on:\001*\022\353\001\n\006Commit\022 .google.spanner.v1.Com"
- + "mitRequest\032!.google.spanner.v1.CommitRes"
- + "ponse\"\233\001\332A session,transaction_id,mutati"
- + "ons\332A(session,single_use_transaction,mut"
- + "ations\202\323\344\223\002G\"B/v1/{session=projects/*/in"
- + "stances/*/databases/*/sessions/*}:commit"
- + ":\001*\022\260\001\n\010Rollback\022\".google.spanner.v1.Rol"
- + "lbackRequest\032\026.google.protobuf.Empty\"h\332A"
- + "\026session,transaction_id\202\323\344\223\002I\"D/v1/{sess"
- + "ion=projects/*/instances/*/databases/*/s"
- + "essions/*}:rollback:\001*\022\267\001\n\016PartitionQuer"
- + "y\022(.google.spanner.v1.PartitionQueryRequ"
- + "est\032$.google.spanner.v1.PartitionRespons"
- + "e\"U\202\323\344\223\002O\"J/v1/{session=projects/*/insta"
- + "nces/*/databases/*/sessions/*}:partition"
- + "Query:\001*\022\264\001\n\rPartitionRead\022\'.google.span"
- + "ner.v1.PartitionReadRequest\032$.google.spa"
- + "nner.v1.PartitionResponse\"T\202\323\344\223\002N\"I/v1/{"
- + "session=projects/*/instances/*/databases"
- + "/*/sessions/*}:partitionRead:\001*\022\310\001\n\nBatc"
- + "hWrite\022$.google.spanner.v1.BatchWriteReq"
- + "uest\032%.google.spanner.v1.BatchWriteRespo"
- + "nse\"k\332A\027session,mutation_groups\202\323\344\223\002K\"F/"
- + "v1/{session=projects/*/instances/*/datab"
- + "ases/*/sessions/*}:batchWrite:\001*0\001\032w\312A\026s"
- + "panner.googleapis.com\322A[https://www.goog"
- + "leapis.com/auth/cloud-platform,https://w"
- + "ww.googleapis.com/auth/spanner.dataB\221\002\n\025"
- + "com.google.spanner.v1B\014SpannerProtoP\001Z5c"
- + "loud.google.com/go/spanner/apiv1/spanner"
- + "pb;spannerpb\252\002\027Google.Cloud.Spanner.V1\312\002"
- + "\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Cloud"
- + "::Spanner::V1\352A_\n\037spanner.googleapis.com"
- + "/Database\022repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1089,9 +1090,9 @@ public java.util.Listrepeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1108,9 +1109,9 @@ public java.util.Listrepeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1126,9 +1127,9 @@ public int getFieldsCount() {
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1144,9 +1145,9 @@ public com.google.spanner.v1.StructType.Field getFields(int index) {
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1319,7 +1320,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
*
*
*
- * `StructType` defines the fields of a [STRUCT][google.spanner.v1.TypeCode.STRUCT] type.
+ * `StructType` defines the fields of a
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT] type.
*
*
* Protobuf type {@code google.spanner.v1.StructType}
@@ -1564,9 +1566,9 @@ private void ensureFieldsIsMutable() {
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1585,9 +1587,9 @@ public java.util.Listrepeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1606,9 +1608,9 @@ public int getFieldsCount() {
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1627,9 +1629,9 @@ public com.google.spanner.v1.StructType.Field getFields(int index) {
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1654,9 +1656,9 @@ public Builder setFields(int index, com.google.spanner.v1.StructType.Field value
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1679,9 +1681,9 @@ public Builder setFields(
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1706,9 +1708,9 @@ public Builder addFields(com.google.spanner.v1.StructType.Field value) {
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1733,9 +1735,9 @@ public Builder addFields(int index, com.google.spanner.v1.StructType.Field value
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1757,9 +1759,9 @@ public Builder addFields(com.google.spanner.v1.StructType.Field.Builder builderF
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1782,9 +1784,9 @@ public Builder addFields(
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1807,9 +1809,9 @@ public Builder addAllFields(
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1831,9 +1833,9 @@ public Builder clearFields() {
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1855,9 +1857,9 @@ public Builder removeFields(int index) {
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1872,9 +1874,9 @@ public com.google.spanner.v1.StructType.Field.Builder getFieldsBuilder(int index
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1893,9 +1895,9 @@ public com.google.spanner.v1.StructType.FieldOrBuilder getFieldsOrBuilder(int in
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1915,9 +1917,9 @@ public com.google.spanner.v1.StructType.FieldOrBuilder getFieldsOrBuilder(int in
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1933,9 +1935,9 @@ public com.google.spanner.v1.StructType.Field.Builder addFieldsBuilder() {
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -1951,9 +1953,9 @@ public com.google.spanner.v1.StructType.Field.Builder addFieldsBuilder(int index
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/StructTypeOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/StructTypeOrBuilder.java
index bb7acbd9041..0f1a899c670 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/StructTypeOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/StructTypeOrBuilder.java
@@ -31,9 +31,9 @@ public interface StructTypeOrBuilder
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -46,9 +46,9 @@ public interface StructTypeOrBuilder
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -61,9 +61,9 @@ public interface StructTypeOrBuilder
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -76,9 +76,9 @@ public interface StructTypeOrBuilder
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
@@ -92,9 +92,9 @@ public interface StructTypeOrBuilder
* The list of fields that make up this struct. Order is
* significant, because values of this struct type are represented as
* lists, where the order of field values matches the order of
- * fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- * matches the order of columns in a read request, or the order of
- * fields in the `SELECT` clause of a query.
+ * fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ * order of fields matches the order of columns in a read request, or the
+ * order of fields in the `SELECT` clause of a query.
*
*
* repeated .google.spanner.v1.StructType.Field fields = 1;
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 7bbe059cd38..e1e06ef2cf6 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
@@ -104,8 +104,9 @@ public com.google.spanner.v1.TypeCode getCode() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -120,8 +121,9 @@ public boolean hasArrayElementType() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -138,8 +140,9 @@ public com.google.spanner.v1.Type getArrayElementType() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -157,8 +160,9 @@ public com.google.spanner.v1.TypeOrBuilder getArrayElementTypeOrBuilder() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -173,8 +177,9 @@ public boolean hasStructType() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -191,8 +196,9 @@ public com.google.spanner.v1.StructType getStructType() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -210,12 +216,14 @@ public 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.
+ * 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;
@@ -230,12 +238,14 @@ public 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.
+ * 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;
@@ -867,8 +877,9 @@ public Builder clearCode() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -882,8 +893,9 @@ public boolean hasArrayElementType() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -903,8 +915,9 @@ public com.google.spanner.v1.Type getArrayElementType() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -926,8 +939,9 @@ public Builder setArrayElementType(com.google.spanner.v1.Type value) {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -946,8 +960,9 @@ public Builder setArrayElementType(com.google.spanner.v1.Type.Builder builderFor
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -974,8 +989,9 @@ public Builder mergeArrayElementType(com.google.spanner.v1.Type value) {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -994,8 +1010,9 @@ public Builder clearArrayElementType() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -1009,8 +1026,9 @@ public com.google.spanner.v1.Type.Builder getArrayElementTypeBuilder() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -1028,8 +1046,9 @@ public com.google.spanner.v1.TypeOrBuilder getArrayElementTypeOrBuilder() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -1061,8 +1080,9 @@ public com.google.spanner.v1.TypeOrBuilder getArrayElementTypeOrBuilder() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -1076,8 +1096,9 @@ public boolean hasStructType() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -1097,8 +1118,9 @@ public com.google.spanner.v1.StructType getStructType() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -1120,8 +1142,9 @@ public Builder setStructType(com.google.spanner.v1.StructType value) {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -1140,8 +1163,9 @@ public Builder setStructType(com.google.spanner.v1.StructType.Builder builderFor
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -1168,8 +1192,9 @@ public Builder mergeStructType(com.google.spanner.v1.StructType value) {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -1188,8 +1213,9 @@ public Builder clearStructType() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -1203,8 +1229,9 @@ public com.google.spanner.v1.StructType.Builder getStructTypeBuilder() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -1222,8 +1249,9 @@ public com.google.spanner.v1.StructTypeOrBuilder getStructTypeOrBuilder() {
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -1250,12 +1278,14 @@ public 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.
+ * 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;
@@ -1270,12 +1300,14 @@ public 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.
+ * 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;
@@ -1293,12 +1325,14 @@ public Builder setTypeAnnotationValue(int value) {
*
*
*
- * 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.
+ * 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;
@@ -1315,12 +1349,14 @@ public com.google.spanner.v1.TypeAnnotationCode getTypeAnnotation() {
*
*
*
- * 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.
+ * 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;
@@ -1341,12 +1377,14 @@ public Builder setTypeAnnotation(com.google.spanner.v1.TypeAnnotationCode value)
*
*
*
- * 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.
+ * 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;
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
index 83853e1d401..6cbae9bdd1c 100644
--- 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
@@ -48,11 +48,12 @@ public enum TypeAnnotationCode implements com.google.protobuf.ProtocolMessageEnu
*
*
* 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.
+ * [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;
@@ -63,11 +64,11 @@ public enum TypeAnnotationCode implements com.google.protobuf.ProtocolMessageEnu
*
*
* PostgreSQL compatible JSONB type. This annotation needs to be applied to
- * [Type][google.spanner.v1.Type] instances having [JSON][google.spanner.v1.TypeCode.JSON]
- * type code to specify that values of this type should be treated as
- * PostgreSQL JSONB values. Currently this annotation is always needed for
- * [JSON][google.spanner.v1.TypeCode.JSON] when a client interacts with PostgreSQL-enabled
- * Spanner databases.
+ * [Type][google.spanner.v1.Type] instances having
+ * [JSON][google.spanner.v1.TypeCode.JSON] type code to specify that values of
+ * this type should be treated as PostgreSQL JSONB values. Currently this
+ * annotation is always needed for [JSON][google.spanner.v1.TypeCode.JSON]
+ * when a client interacts with PostgreSQL-enabled Spanner databases.
*
*
* PG_JSONB = 3;
@@ -103,11 +104,12 @@ public enum TypeAnnotationCode implements com.google.protobuf.ProtocolMessageEnu
*
*
* 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.
+ * [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;
@@ -118,11 +120,11 @@ public enum TypeAnnotationCode implements com.google.protobuf.ProtocolMessageEnu
*
*
* PostgreSQL compatible JSONB type. This annotation needs to be applied to
- * [Type][google.spanner.v1.Type] instances having [JSON][google.spanner.v1.TypeCode.JSON]
- * type code to specify that values of this type should be treated as
- * PostgreSQL JSONB values. Currently this annotation is always needed for
- * [JSON][google.spanner.v1.TypeCode.JSON] when a client interacts with PostgreSQL-enabled
- * Spanner databases.
+ * [Type][google.spanner.v1.Type] instances having
+ * [JSON][google.spanner.v1.TypeCode.JSON] type code to specify that values of
+ * this type should be treated as PostgreSQL JSONB values. Currently this
+ * annotation is always needed for [JSON][google.spanner.v1.TypeCode.JSON]
+ * when a client interacts with PostgreSQL-enabled Spanner databases.
*
*
* PG_JSONB = 3;
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeCode.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeCode.java
index 42900dd24ca..9c36f6c971b 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeCode.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/TypeCode.java
@@ -163,14 +163,14 @@ public enum TypeCode implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Encoded as `string`, in decimal format or scientific notation format.
- * <br>Decimal format:
- * <br>`[+-]Digits[.[Digits]]` or
- * <br>`[+-][Digits].Digits`
+ * Decimal format:
+ * `[+-]Digits[.[Digits]]` or
+ * `[+-][Digits].Digits`
*
* Scientific notation:
- * <br>`[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or
- * <br>`[+-][Digits].Digits[ExponentIndicator[+-]Digits]`
- * <br>(ExponentIndicator is `"e"` or `"E"`)
+ * `[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or
+ * `[+-][Digits].Digits[ExponentIndicator[+-]Digits]`
+ * (ExponentIndicator is `"e"` or `"E"`)
*
*
* NUMERIC = 10;
@@ -214,6 +214,20 @@ public enum TypeCode implements com.google.protobuf.ProtocolMessageEnum {
* ENUM = 14;
*/
ENUM(14),
+ /**
+ *
+ *
+ * + * Encoded as `string`, in `ISO8601` duration format - + * `P[n]Y[n]M[n]DT[n]H[n]M[n[.fraction]]S` + * where `n` is an integer. + * For example, `P1Y2M3DT4H5M6.5S` represents time duration of 1 year, 2 + * months, 3 days, 4 hours, 5 minutes, and 6.5 seconds. + *+ * + *
INTERVAL = 16;
+ */
+ INTERVAL(16),
UNRECOGNIZED(-1),
;
@@ -345,14 +359,14 @@ public enum TypeCode implements com.google.protobuf.ProtocolMessageEnum {
*
*
* Encoded as `string`, in decimal format or scientific notation format.
- * <br>Decimal format:
- * <br>`[+-]Digits[.[Digits]]` or
- * <br>`[+-][Digits].Digits`
+ * Decimal format:
+ * `[+-]Digits[.[Digits]]` or
+ * `[+-][Digits].Digits`
*
* Scientific notation:
- * <br>`[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or
- * <br>`[+-][Digits].Digits[ExponentIndicator[+-]Digits]`
- * <br>(ExponentIndicator is `"e"` or `"E"`)
+ * `[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or
+ * `[+-][Digits].Digits[ExponentIndicator[+-]Digits]`
+ * (ExponentIndicator is `"e"` or `"E"`)
*
*
* NUMERIC = 10;
@@ -396,6 +410,20 @@ public enum TypeCode implements com.google.protobuf.ProtocolMessageEnum {
* ENUM = 14;
*/
public static final int ENUM_VALUE = 14;
+ /**
+ *
+ *
+ * + * Encoded as `string`, in `ISO8601` duration format - + * `P[n]Y[n]M[n]DT[n]H[n]M[n[.fraction]]S` + * where `n` is an integer. + * For example, `P1Y2M3DT4H5M6.5S` represents time duration of 1 year, 2 + * months, 3 days, 4 hours, 5 minutes, and 6.5 seconds. + *+ * + *
INTERVAL = 16;
+ */
+ public static final int INTERVAL_VALUE = 16;
public final int getNumber() {
if (this == UNRECOGNIZED) {
@@ -451,6 +479,8 @@ public static TypeCode forNumber(int value) {
return PROTO;
case 14:
return ENUM;
+ case 16:
+ return INTERVAL;
default:
return null;
}
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 720c99dfdd0..e93e4976c57 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
@@ -53,8 +53,9 @@ public interface TypeOrBuilder
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -66,8 +67,9 @@ public interface TypeOrBuilder
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -79,8 +81,9 @@ public interface TypeOrBuilder
*
*
*
- * If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- * is the type of the array elements.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ * type of the array elements.
*
*
* .google.spanner.v1.Type array_element_type = 2;
@@ -91,8 +94,9 @@ public interface TypeOrBuilder
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -104,8 +108,9 @@ public interface TypeOrBuilder
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -117,8 +122,9 @@ public interface TypeOrBuilder
*
*
*
- * If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- * provides type information for the struct's fields.
+ * If [code][google.spanner.v1.Type.code] ==
+ * [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ * type information for the struct's fields.
*
*
* .google.spanner.v1.StructType struct_type = 3;
@@ -129,12 +135,14 @@ public interface TypeOrBuilder
*
*
*
- * 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.
+ * 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;
@@ -146,12 +154,14 @@ public interface TypeOrBuilder
*
*
*
- * 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.
+ * 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;
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 148079b7a99..3c41d2585b4 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
@@ -60,19 +60,20 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "pe_fqn\030\005 \001(\t\"\177\n\nStructType\0223\n\006fields\030\001 \003"
+ "(\0132#.google.spanner.v1.StructType.Field\032"
+ "<\n\005Field\022\014\n\004name\030\001 \001(\t\022%\n\004type\030\002 \001(\0132\027.g"
- + "oogle.spanner.v1.Type*\307\001\n\010TypeCode\022\031\n\025TY"
+ + "oogle.spanner.v1.Type*\325\001\n\010TypeCode\022\031\n\025TY"
+ "PE_CODE_UNSPECIFIED\020\000\022\010\n\004BOOL\020\001\022\t\n\005INT64"
+ "\020\002\022\013\n\007FLOAT64\020\003\022\013\n\007FLOAT32\020\017\022\r\n\tTIMESTAM"
+ "P\020\004\022\010\n\004DATE\020\005\022\n\n\006STRING\020\006\022\t\n\005BYTES\020\007\022\t\n\005"
+ "ARRAY\020\010\022\n\n\006STRUCT\020\t\022\013\n\007NUMERIC\020\n\022\010\n\004JSON"
- + "\020\013\022\t\n\005PROTO\020\r\022\010\n\004ENUM\020\016*d\n\022TypeAnnotatio"
- + "nCode\022$\n TYPE_ANNOTATION_CODE_UNSPECIFIE"
- + "D\020\000\022\016\n\nPG_NUMERIC\020\002\022\014\n\010PG_JSONB\020\003\022\n\n\006PG_"
- + "OID\020\004B\254\001\n\025com.google.spanner.v1B\tTypePro"
- + "toP\001Z5cloud.google.com/go/spanner/apiv1/"
- + "spannerpb;spannerpb\252\002\027Google.Cloud.Spann"
- + "er.V1\312\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google"
- + "::Cloud::Spanner::V1b\006proto3"
+ + "\020\013\022\t\n\005PROTO\020\r\022\010\n\004ENUM\020\016\022\014\n\010INTERVAL\020\020*d\n"
+ + "\022TypeAnnotationCode\022$\n TYPE_ANNOTATION_C"
+ + "ODE_UNSPECIFIED\020\000\022\016\n\nPG_NUMERIC\020\002\022\014\n\010PG_"
+ + "JSONB\020\003\022\n\n\006PG_OID\020\004B\254\001\n\025com.google.spann"
+ + "er.v1B\tTypeProtoP\001Z5cloud.google.com/go/"
+ + "spanner/apiv1/spannerpb;spannerpb\252\002\027Goog"
+ + "le.Cloud.Spanner.V1\312\002\027Google\\Cloud\\Spann"
+ + "er\\V1\352\002\032Google::Cloud::Spanner::V1b\006prot"
+ + "o3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
diff --git a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/spanner.proto b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/spanner.proto
index 301139210ed..856a51b7dfe 100644
--- a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/spanner.proto
+++ b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/spanner.proto
@@ -628,9 +628,19 @@ message ExecuteSqlRequest {
// execution statistics information.
PLAN = 1;
- // This mode returns both the query plan and the execution statistics along
- // with the results.
+ // This mode returns the query plan, overall execution statistics,
+ // operator level execution statistics along with the results. This has a
+ // performance overhead compared to the other modes. It is not recommended
+ // to use this mode for production traffic.
PROFILE = 2;
+
+ // This mode returns the overall (but not operator-level) execution
+ // statistics along with the results.
+ WITH_STATS = 3;
+
+ // This mode returns the query plan, overall (but not operator-level)
+ // execution statistics along with the results.
+ WITH_PLAN_AND_STATS = 4;
}
// Query optimizer configuration.
diff --git a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/type.proto b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/type.proto
index 4e77106c969..734cfb54cda 100644
--- a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/type.proto
+++ b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/type.proto
@@ -32,20 +32,24 @@ message Type {
// Required. The [TypeCode][google.spanner.v1.TypeCode] for this type.
TypeCode code = 1 [(google.api.field_behavior) = REQUIRED];
- // If [code][google.spanner.v1.Type.code] == [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type`
- // is the type of the array elements.
+ // If [code][google.spanner.v1.Type.code] ==
+ // [ARRAY][google.spanner.v1.TypeCode.ARRAY], then `array_element_type` is the
+ // type of the array elements.
Type array_element_type = 2;
- // If [code][google.spanner.v1.Type.code] == [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type`
- // provides type information for the struct's fields.
+ // If [code][google.spanner.v1.Type.code] ==
+ // [STRUCT][google.spanner.v1.TypeCode.STRUCT], then `struct_type` provides
+ // type information for the struct's fields.
StructType struct_type = 3;
- // 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.
+ // 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.
TypeAnnotationCode type_annotation = 4;
// If [code][google.spanner.v1.Type.code] ==
@@ -56,7 +60,8 @@ message Type {
string proto_type_fqn = 5;
}
-// `StructType` defines the fields of a [STRUCT][google.spanner.v1.TypeCode.STRUCT] type.
+// `StructType` defines the fields of a
+// [STRUCT][google.spanner.v1.TypeCode.STRUCT] type.
message StructType {
// Message representing a single field of a struct.
message Field {
@@ -76,9 +81,9 @@ message StructType {
// The list of fields that make up this struct. Order is
// significant, because values of this struct type are represented as
// lists, where the order of field values matches the order of
- // fields in the [StructType][google.spanner.v1.StructType]. In turn, the order of fields
- // matches the order of columns in a read request, or the order of
- // fields in the `SELECT` clause of a query.
+ // fields in the [StructType][google.spanner.v1.StructType]. In turn, the
+ // order of fields matches the order of columns in a read request, or the
+ // order of fields in the `SELECT` clause of a query.
repeated Field fields = 1;
}
@@ -137,14 +142,14 @@ enum TypeCode {
STRUCT = 9;
// Encoded as `string`, in decimal format or scientific notation format.
- //