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\022 - * `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} @@ -1071,9 +1072,9 @@ public com.google.spanner.v1.StructType.Field getDefaultInstanceForType() { * 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; @@ -1089,9 +1090,9 @@ public java.util.List getFieldsList() { * 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; @@ -1108,9 +1109,9 @@ public java.util.List getFieldsList() { * 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; @@ -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.List getFieldsList() { * 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; @@ -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. - //
Decimal format: - //
`[+-]Digits[.[Digits]]` or - //
`[+-][Digits].Digits` + // Decimal format: + // `[+-]Digits[.[Digits]]` or + // `[+-][Digits].Digits` // // Scientific notation: - //
`[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or - //
`[+-][Digits].Digits[ExponentIndicator[+-]Digits]` - //
(ExponentIndicator is `"e"` or `"E"`) + // `[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or + // `[+-][Digits].Digits[ExponentIndicator[+-]Digits]` + // (ExponentIndicator is `"e"` or `"E"`) NUMERIC = 10; // Encoded as a JSON-formatted `string` as described in RFC 7159. The @@ -163,6 +168,13 @@ enum TypeCode { // Encoded as `string`, in decimal format. 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; } // `TypeAnnotationCode` is used as a part of [Type][google.spanner.v1.Type] to @@ -175,19 +187,20 @@ enum TypeAnnotationCode { 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. + // [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; // 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; // PostgreSQL compatible OID type. This annotation can be used by a client