repeated .google.protobuf.Value values = 2;
@@ -222,13 +227,14 @@ public java.util.Listrepeated .google.protobuf.Value values = 2;
@@ -307,13 +317,14 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -324,28 +335,28 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -361,7 +372,6 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -371,6 +381,11 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -392,13 +407,14 @@ public int getValuesCount() {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -409,28 +425,28 @@ public int getValuesCount() {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -446,7 +462,6 @@ public int getValuesCount() {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -456,6 +471,11 @@ public int getValuesCount() {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -477,13 +497,14 @@ public com.google.protobuf.Value getValues(int index) {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -494,28 +515,28 @@ public com.google.protobuf.Value getValues(int index) {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -531,7 +552,6 @@ public com.google.protobuf.Value getValues(int index) {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -541,6 +561,11 @@ public com.google.protobuf.Value getValues(int index) {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -556,9 +581,10 @@ public com.google.protobuf.ValueOrBuilder getValuesOrBuilder(int index) {
*
*
*
- * If true, then the final value in [values][google.spanner.v1.PartialResultSet.values] is chunked, and must
- * be combined with more values from subsequent `PartialResultSet`s
- * to obtain a complete field value.
+ * If true, then the final value in
+ * [values][google.spanner.v1.PartialResultSet.values] is chunked, and must be
+ * combined with more values from subsequent `PartialResultSet`s to obtain a
+ * complete field value.
*
*
* bool chunked_value = 3;
@@ -600,10 +626,9 @@ public com.google.protobuf.ByteString getResumeToken() {
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -620,10 +645,9 @@ public boolean hasStats() {
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -640,10 +664,9 @@ public com.google.spanner.v1.ResultSetStats getStats() {
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -659,13 +682,10 @@ public com.google.spanner.v1.ResultSetStatsOrBuilder getStatsOrBuilder() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -682,13 +702,10 @@ public boolean hasPrecommitToken() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -707,13 +724,10 @@ public com.google.spanner.v1.MultiplexedSessionPrecommitToken getPrecommitToken(
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -728,6 +742,26 @@ public com.google.spanner.v1.MultiplexedSessionPrecommitToken getPrecommitToken(
: precommitToken_;
}
+ public static final int LAST_FIELD_NUMBER = 9;
+ private boolean last_ = false;
+ /**
+ *
+ *
+ *
+ * Optional. Indicates whether this is the last `PartialResultSet` in the
+ * stream. The server might optionally set this field. Clients shouldn't rely
+ * on this field being set in all cases.
+ *
+ *
+ * bool last = 9 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The last.
+ */
+ @java.lang.Override
+ public boolean getLast() {
+ return last_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -760,6 +794,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (((bitField0_ & 0x00000004) != 0)) {
output.writeMessage(8, getPrecommitToken());
}
+ if (last_ != false) {
+ output.writeBool(9, last_);
+ }
getUnknownFields().writeTo(output);
}
@@ -787,6 +824,9 @@ public int getSerializedSize() {
if (((bitField0_ & 0x00000004) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getPrecommitToken());
}
+ if (last_ != false) {
+ size += com.google.protobuf.CodedOutputStream.computeBoolSize(9, last_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -817,6 +857,7 @@ public boolean equals(final java.lang.Object obj) {
if (hasPrecommitToken()) {
if (!getPrecommitToken().equals(other.getPrecommitToken())) return false;
}
+ if (getLast() != other.getLast()) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -848,6 +889,8 @@ public int hashCode() {
hash = (37 * hash) + PRECOMMIT_TOKEN_FIELD_NUMBER;
hash = (53 * hash) + getPrecommitToken().hashCode();
}
+ hash = (37 * hash) + LAST_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getLast());
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -1025,6 +1068,7 @@ public Builder clear() {
precommitTokenBuilder_.dispose();
precommitTokenBuilder_ = null;
}
+ last_ = false;
return this;
}
@@ -1094,6 +1138,9 @@ private void buildPartial0(com.google.spanner.v1.PartialResultSet result) {
precommitTokenBuilder_ == null ? precommitToken_ : precommitTokenBuilder_.build();
to_bitField0_ |= 0x00000004;
}
+ if (((from_bitField0_ & 0x00000040) != 0)) {
+ result.last_ = last_;
+ }
result.bitField0_ |= to_bitField0_;
}
@@ -1184,6 +1231,9 @@ public Builder mergeFrom(com.google.spanner.v1.PartialResultSet other) {
if (other.hasPrecommitToken()) {
mergePrecommitToken(other.getPrecommitToken());
}
+ if (other.getLast() != false) {
+ setLast(other.getLast());
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -1252,6 +1302,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000020;
break;
} // case 66
+ case 72:
+ {
+ last_ = input.readBool();
+ bitField0_ |= 0x00000040;
+ break;
+ } // case 72
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -1493,13 +1549,14 @@ private void ensureValuesIsMutable() {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -1510,28 +1567,28 @@ private void ensureValuesIsMutable() {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -1547,7 +1604,6 @@ private void ensureValuesIsMutable() {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -1557,6 +1613,11 @@ private void ensureValuesIsMutable() {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -1581,13 +1642,14 @@ public java.util.List getValuesList() {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -1598,28 +1660,28 @@ public java.util.List getValuesList() {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -1635,7 +1697,6 @@ public java.util.List getValuesList() {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -1645,6 +1706,11 @@ public java.util.List getValuesList() {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -1669,13 +1735,14 @@ public int getValuesCount() {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -1686,28 +1753,28 @@ public int getValuesCount() {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -1723,7 +1790,6 @@ public int getValuesCount() {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -1733,6 +1799,11 @@ public int getValuesCount() {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -1757,13 +1828,14 @@ public com.google.protobuf.Value getValues(int index) {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -1774,28 +1846,28 @@ public com.google.protobuf.Value getValues(int index) {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -1811,7 +1883,6 @@ public com.google.protobuf.Value getValues(int index) {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -1821,6 +1892,11 @@ public com.google.protobuf.Value getValues(int index) {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -1851,13 +1927,14 @@ public Builder setValues(int index, com.google.protobuf.Value value) {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -1868,28 +1945,28 @@ public Builder setValues(int index, com.google.protobuf.Value value) {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -1905,7 +1982,6 @@ public Builder setValues(int index, com.google.protobuf.Value value) {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -1915,6 +1991,11 @@ public Builder setValues(int index, com.google.protobuf.Value value) {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -1942,13 +2023,14 @@ public Builder setValues(int index, com.google.protobuf.Value.Builder builderFor
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -1959,28 +2041,28 @@ public Builder setValues(int index, com.google.protobuf.Value.Builder builderFor
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -1996,7 +2078,6 @@ public Builder setValues(int index, com.google.protobuf.Value.Builder builderFor
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2006,6 +2087,11 @@ public Builder setValues(int index, com.google.protobuf.Value.Builder builderFor
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -2036,13 +2122,14 @@ public Builder addValues(com.google.protobuf.Value value) {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -2053,28 +2140,28 @@ public Builder addValues(com.google.protobuf.Value value) {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -2090,7 +2177,6 @@ public Builder addValues(com.google.protobuf.Value value) {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2100,6 +2186,11 @@ public Builder addValues(com.google.protobuf.Value value) {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -2130,13 +2221,14 @@ public Builder addValues(int index, com.google.protobuf.Value value) {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -2147,28 +2239,28 @@ public Builder addValues(int index, com.google.protobuf.Value value) {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -2184,7 +2276,6 @@ public Builder addValues(int index, com.google.protobuf.Value value) {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2194,6 +2285,11 @@ public Builder addValues(int index, com.google.protobuf.Value value) {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -2221,13 +2317,14 @@ public Builder addValues(com.google.protobuf.Value.Builder builderForValue) {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -2238,28 +2335,28 @@ public Builder addValues(com.google.protobuf.Value.Builder builderForValue) {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -2275,7 +2372,6 @@ public Builder addValues(com.google.protobuf.Value.Builder builderForValue) {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2285,6 +2381,11 @@ public Builder addValues(com.google.protobuf.Value.Builder builderForValue) {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -2312,13 +2413,14 @@ public Builder addValues(int index, com.google.protobuf.Value.Builder builderFor
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -2329,28 +2431,28 @@ public Builder addValues(int index, com.google.protobuf.Value.Builder builderFor
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -2366,7 +2468,6 @@ public Builder addValues(int index, com.google.protobuf.Value.Builder builderFor
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2376,6 +2477,11 @@ public Builder addValues(int index, com.google.protobuf.Value.Builder builderFor
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -2403,13 +2509,14 @@ public Builder addAllValues(java.lang.Iterable extends com.google.protobuf.Val
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -2420,28 +2527,28 @@ public Builder addAllValues(java.lang.Iterable extends com.google.protobuf.Val
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -2457,7 +2564,6 @@ public Builder addAllValues(java.lang.Iterable extends com.google.protobuf.Val
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2467,6 +2573,11 @@ public Builder addAllValues(java.lang.Iterable extends com.google.protobuf.Val
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -2494,13 +2605,14 @@ public Builder clearValues() {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -2511,28 +2623,28 @@ public Builder clearValues() {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -2548,7 +2660,6 @@ public Builder clearValues() {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2558,6 +2669,11 @@ public Builder clearValues() {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -2585,13 +2701,14 @@ public Builder removeValues(int index) {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -2602,28 +2719,28 @@ public Builder removeValues(int index) {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -2639,7 +2756,6 @@ public Builder removeValues(int index) {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2649,6 +2765,11 @@ public Builder removeValues(int index) {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -2669,13 +2790,14 @@ public com.google.protobuf.Value.Builder getValuesBuilder(int index) {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -2686,28 +2808,28 @@ public com.google.protobuf.Value.Builder getValuesBuilder(int index) {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -2723,7 +2845,6 @@ public com.google.protobuf.Value.Builder getValuesBuilder(int index) {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2733,6 +2854,11 @@ public com.google.protobuf.Value.Builder getValuesBuilder(int index) {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -2757,13 +2883,14 @@ public com.google.protobuf.ValueOrBuilder getValuesOrBuilder(int index) {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -2774,28 +2901,28 @@ public com.google.protobuf.ValueOrBuilder getValuesOrBuilder(int index) {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -2811,7 +2938,6 @@ public com.google.protobuf.ValueOrBuilder getValuesOrBuilder(int index) {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2821,6 +2947,11 @@ public com.google.protobuf.ValueOrBuilder getValuesOrBuilder(int index) {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -2845,13 +2976,14 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -2862,28 +2994,28 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -2899,7 +3031,6 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2909,6 +3040,11 @@ public java.util.List extends com.google.protobuf.ValueOrBuilder> getValuesOrB
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -2929,13 +3065,14 @@ public com.google.protobuf.Value.Builder addValuesBuilder() {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -2946,28 +3083,28 @@ public com.google.protobuf.Value.Builder addValuesBuilder() {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -2983,7 +3120,6 @@ public com.google.protobuf.Value.Builder addValuesBuilder() {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -2993,6 +3129,11 @@ public com.google.protobuf.Value.Builder addValuesBuilder() {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -3014,13 +3155,14 @@ public com.google.protobuf.Value.Builder addValuesBuilder(int index) {
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -3031,28 +3173,28 @@ public com.google.protobuf.Value.Builder addValuesBuilder(int index) {
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -3068,7 +3210,6 @@ public com.google.protobuf.Value.Builder addValuesBuilder(int index) {
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -3078,6 +3219,11 @@ public com.google.protobuf.Value.Builder addValuesBuilder(int index) {
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -3108,9 +3254,10 @@ public java.util.List getValuesBuilderList()
*
*
*
- * If true, then the final value in [values][google.spanner.v1.PartialResultSet.values] is chunked, and must
- * be combined with more values from subsequent `PartialResultSet`s
- * to obtain a complete field value.
+ * If true, then the final value in
+ * [values][google.spanner.v1.PartialResultSet.values] is chunked, and must be
+ * combined with more values from subsequent `PartialResultSet`s to obtain a
+ * complete field value.
*
*
* bool chunked_value = 3;
@@ -3125,9 +3272,10 @@ public boolean getChunkedValue() {
*
*
*
- * If true, then the final value in [values][google.spanner.v1.PartialResultSet.values] is chunked, and must
- * be combined with more values from subsequent `PartialResultSet`s
- * to obtain a complete field value.
+ * If true, then the final value in
+ * [values][google.spanner.v1.PartialResultSet.values] is chunked, and must be
+ * combined with more values from subsequent `PartialResultSet`s to obtain a
+ * complete field value.
*
*
* bool chunked_value = 3;
@@ -3146,9 +3294,10 @@ public Builder setChunkedValue(boolean value) {
*
*
*
- * If true, then the final value in [values][google.spanner.v1.PartialResultSet.values] is chunked, and must
- * be combined with more values from subsequent `PartialResultSet`s
- * to obtain a complete field value.
+ * If true, then the final value in
+ * [values][google.spanner.v1.PartialResultSet.values] is chunked, and must be
+ * combined with more values from subsequent `PartialResultSet`s to obtain a
+ * complete field value.
*
*
* bool chunked_value = 3;
@@ -3241,10 +3390,9 @@ public Builder clearResumeToken() {
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -3260,10 +3408,9 @@ public boolean hasStats() {
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -3283,10 +3430,9 @@ public com.google.spanner.v1.ResultSetStats getStats() {
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -3310,10 +3456,9 @@ public Builder setStats(com.google.spanner.v1.ResultSetStats value) {
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -3334,10 +3479,9 @@ public Builder setStats(com.google.spanner.v1.ResultSetStats.Builder builderForV
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -3366,10 +3510,9 @@ public Builder mergeStats(com.google.spanner.v1.ResultSetStats value) {
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -3390,10 +3533,9 @@ public Builder clearStats() {
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -3409,10 +3551,9 @@ public com.google.spanner.v1.ResultSetStats.Builder getStatsBuilder() {
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -3430,10 +3571,9 @@ public com.google.spanner.v1.ResultSetStatsOrBuilder getStatsOrBuilder() {
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -3465,13 +3605,10 @@ public com.google.spanner.v1.ResultSetStatsOrBuilder getStatsOrBuilder() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -3487,13 +3624,10 @@ public boolean hasPrecommitToken() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -3515,13 +3649,10 @@ public com.google.spanner.v1.MultiplexedSessionPrecommitToken getPrecommitToken(
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -3545,13 +3676,10 @@ public Builder setPrecommitToken(com.google.spanner.v1.MultiplexedSessionPrecomm
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -3573,13 +3701,10 @@ public Builder setPrecommitToken(
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -3610,13 +3735,10 @@ public Builder mergePrecommitToken(
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -3637,13 +3759,10 @@ public Builder clearPrecommitToken() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -3660,13 +3779,10 @@ public Builder clearPrecommitToken() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -3687,13 +3803,10 @@ public Builder clearPrecommitToken() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -3717,6 +3830,65 @@ public Builder clearPrecommitToken() {
return precommitTokenBuilder_;
}
+ private boolean last_;
+ /**
+ *
+ *
+ *
+ * Optional. Indicates whether this is the last `PartialResultSet` in the
+ * stream. The server might optionally set this field. Clients shouldn't rely
+ * on this field being set in all cases.
+ *
+ *
+ * bool last = 9 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The last.
+ */
+ @java.lang.Override
+ public boolean getLast() {
+ return last_;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Indicates whether this is the last `PartialResultSet` in the
+ * stream. The server might optionally set this field. Clients shouldn't rely
+ * on this field being set in all cases.
+ *
+ *
+ * bool last = 9 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The last to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLast(boolean value) {
+
+ last_ = value;
+ bitField0_ |= 0x00000040;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. Indicates whether this is the last `PartialResultSet` in the
+ * stream. The server might optionally set this field. Clients shouldn't rely
+ * on this field being set in all cases.
+ *
+ *
+ * bool last = 9 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearLast() {
+ bitField0_ = (bitField0_ & ~0x00000040);
+ last_ = false;
+ onChanged();
+ return this;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSetOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSetOrBuilder.java
index 64748f45514..777addbd5ba 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSetOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/PartialResultSetOrBuilder.java
@@ -75,13 +75,14 @@ public interface PartialResultSetOrBuilder
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -92,28 +93,28 @@ public interface PartialResultSetOrBuilder
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -129,7 +130,6 @@ public interface PartialResultSetOrBuilder
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -139,6 +139,11 @@ public interface PartialResultSetOrBuilder
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -157,13 +162,14 @@ public interface PartialResultSetOrBuilder
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -174,28 +180,28 @@ public interface PartialResultSetOrBuilder
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -211,7 +217,6 @@ public interface PartialResultSetOrBuilder
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -221,6 +226,11 @@ public interface PartialResultSetOrBuilder
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -239,13 +249,14 @@ public interface PartialResultSetOrBuilder
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -256,28 +267,28 @@ public interface PartialResultSetOrBuilder
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -293,7 +304,6 @@ public interface PartialResultSetOrBuilder
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -303,6 +313,11 @@ public interface PartialResultSetOrBuilder
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -321,13 +336,14 @@ public interface PartialResultSetOrBuilder
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -338,28 +354,28 @@ public interface PartialResultSetOrBuilder
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -375,7 +391,6 @@ public interface PartialResultSetOrBuilder
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -385,6 +400,11 @@ public interface PartialResultSetOrBuilder
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -403,13 +423,14 @@ public interface PartialResultSetOrBuilder
* Most values are encoded based on type as described
* [here][google.spanner.v1.TypeCode].
*
- * It is possible that the last value in values is "chunked",
+ * It's possible that the last value in values is "chunked",
* meaning that the rest of the value is sent in subsequent
- * `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- * field. Two or more chunked values can be merged to form a
- * complete value as follows:
+ * `PartialResultSet`(s). This is denoted by the
+ * [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ * Two or more chunked values can be merged to form a complete value as
+ * follows:
*
- * * `bool/number/null`: cannot be chunked
+ * * `bool/number/null`: can't be chunked
* * `string`: concatenate the strings
* * `list`: concatenate the lists. If the last element in a list is a
* `string`, `list`, or `object`, merge it with the first element in
@@ -420,28 +441,28 @@ public interface PartialResultSetOrBuilder
*
* Some examples of merging:
*
- * # Strings are concatenated.
+ * Strings are concatenated.
* "foo", "bar" => "foobar"
*
- * # Lists of non-strings are concatenated.
+ * Lists of non-strings are concatenated.
* [2, 3], [4] => [2, 3, 4]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are strings.
* ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
*
- * # Lists are concatenated, but the last and first elements are merged
- * # because they are lists. Recursively, the last and first elements
- * # of the inner lists are merged because they are strings.
+ * Lists are concatenated, but the last and first elements are merged
+ * because they are lists. Recursively, the last and first elements
+ * of the inner lists are merged because they are strings.
* ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
*
- * # Non-overlapping object fields are combined.
+ * Non-overlapping object fields are combined.
* {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
*
- * # Overlapping object fields are merged.
+ * Overlapping object fields are merged.
* {"a": "1"}, {"a": "2"} => {"a": "12"}
*
- * # Examples of merging objects containing lists of strings.
+ * Examples of merging objects containing lists of strings.
* {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
*
* For a more complete example, suppose a streaming SQL query is
@@ -457,7 +478,6 @@ public interface PartialResultSetOrBuilder
* {
* "values": ["orl"]
* "chunked_value": true
- * "resume_token": "Bqp2..."
* }
* {
* "values": ["d"]
@@ -467,6 +487,11 @@ public interface PartialResultSetOrBuilder
* This sequence of `PartialResultSet`s encodes two rows, one
* containing the field value `"Hello"`, and a second containing the
* field value `"World" = "W" + "orl" + "d"`.
+ *
+ * Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ * resumed from a previously yielded `resume_token`. For the above sequence of
+ * `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ * yields results from the `PartialResultSet` with value "orl".
*
*
* repeated .google.protobuf.Value values = 2;
@@ -477,9 +502,10 @@ public interface PartialResultSetOrBuilder
*
*
*
- * If true, then the final value in [values][google.spanner.v1.PartialResultSet.values] is chunked, and must
- * be combined with more values from subsequent `PartialResultSet`s
- * to obtain a complete field value.
+ * If true, then the final value in
+ * [values][google.spanner.v1.PartialResultSet.values] is chunked, and must be
+ * combined with more values from subsequent `PartialResultSet`s to obtain a
+ * complete field value.
*
*
* bool chunked_value = 3;
@@ -511,10 +537,9 @@ public interface PartialResultSetOrBuilder
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -528,10 +553,9 @@ public interface PartialResultSetOrBuilder
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -545,10 +569,9 @@ public interface PartialResultSetOrBuilder
*
* Query plan and execution statistics for the statement that produced this
* streaming result set. These can be requested by setting
- * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- * only once with the last response in the stream.
- * This field will also be present in the last response for DML
- * statements.
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ * and are sent only once with the last response in the stream. This field is
+ * also present in the last response for DML statements.
*
*
* .google.spanner.v1.ResultSetStats stats = 5;
@@ -559,13 +582,10 @@ public interface PartialResultSetOrBuilder
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -579,13 +599,10 @@ public interface PartialResultSetOrBuilder
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -599,13 +616,10 @@ public interface PartialResultSetOrBuilder
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction
+ * has multiplexed sessions enabled. Pass the precommit token with the highest
+ * sequence number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -613,4 +627,19 @@ public interface PartialResultSetOrBuilder
*
*/
com.google.spanner.v1.MultiplexedSessionPrecommitTokenOrBuilder getPrecommitTokenOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Optional. Indicates whether this is the last `PartialResultSet` in the
+ * stream. The server might optionally set this field. Clients shouldn't rely
+ * on this field being set in all cases.
+ *
+ *
+ * bool last = 9 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The last.
+ */
+ boolean getLast();
}
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSet.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSet.java
index c5ea861bed8..82b8db2a04c 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSet.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSet.java
@@ -123,11 +123,10 @@ public com.google.spanner.v1.ResultSetMetadataOrBuilder getMetadataOrBuilder() {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -141,11 +140,10 @@ public java.util.List getRowsList() {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -159,11 +157,10 @@ public java.util.List extends com.google.protobuf.ListValueOrBuilder> getRowsO
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -177,11 +174,10 @@ public int getRowsCount() {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -195,11 +191,10 @@ public com.google.protobuf.ListValue getRows(int index) {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -220,8 +215,9 @@ public com.google.protobuf.ListValueOrBuilder getRowsOrBuilder(int index) {
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -242,8 +238,9 @@ public boolean hasStats() {
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -264,8 +261,9 @@ public com.google.spanner.v1.ResultSetStats getStats() {
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -282,13 +280,10 @@ public com.google.spanner.v1.ResultSetStatsOrBuilder getStatsOrBuilder() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -305,13 +300,10 @@ public boolean hasPrecommitToken() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -330,13 +322,10 @@ public com.google.spanner.v1.MultiplexedSessionPrecommitToken getPrecommitToken(
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -1051,11 +1040,10 @@ private void ensureRowsIsMutable() {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1072,11 +1060,10 @@ public java.util.List getRowsList() {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1093,11 +1080,10 @@ public int getRowsCount() {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1114,11 +1100,10 @@ public com.google.protobuf.ListValue getRows(int index) {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1141,11 +1126,10 @@ public Builder setRows(int index, com.google.protobuf.ListValue value) {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1165,11 +1149,10 @@ public Builder setRows(int index, com.google.protobuf.ListValue.Builder builderF
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1192,11 +1175,10 @@ public Builder addRows(com.google.protobuf.ListValue value) {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1219,11 +1201,10 @@ public Builder addRows(int index, com.google.protobuf.ListValue value) {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1243,11 +1224,10 @@ public Builder addRows(com.google.protobuf.ListValue.Builder builderForValue) {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1267,11 +1247,10 @@ public Builder addRows(int index, com.google.protobuf.ListValue.Builder builderF
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1291,11 +1270,10 @@ public Builder addAllRows(java.lang.Iterable extends com.google.protobuf.ListV
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1315,11 +1293,10 @@ public Builder clearRows() {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1339,11 +1316,10 @@ public Builder removeRows(int index) {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1356,11 +1332,10 @@ public com.google.protobuf.ListValue.Builder getRowsBuilder(int index) {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1377,11 +1352,10 @@ public com.google.protobuf.ListValueOrBuilder getRowsOrBuilder(int index) {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1398,11 +1372,10 @@ public java.util.List extends com.google.protobuf.ListValueOrBuilder> getRowsO
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1415,11 +1388,10 @@ public com.google.protobuf.ListValue.Builder addRowsBuilder() {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1433,11 +1405,10 @@ public com.google.protobuf.ListValue.Builder addRowsBuilder(int index) {
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -1478,8 +1449,9 @@ public java.util.List getRowsBuilderList(
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -1499,8 +1471,9 @@ public boolean hasStats() {
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -1524,8 +1497,9 @@ public com.google.spanner.v1.ResultSetStats getStats() {
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -1553,8 +1527,9 @@ public Builder setStats(com.google.spanner.v1.ResultSetStats value) {
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -1579,8 +1554,9 @@ public Builder setStats(com.google.spanner.v1.ResultSetStats.Builder builderForV
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -1613,8 +1589,9 @@ public Builder mergeStats(com.google.spanner.v1.ResultSetStats value) {
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -1639,8 +1616,9 @@ public Builder clearStats() {
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -1660,8 +1638,9 @@ public com.google.spanner.v1.ResultSetStats.Builder getStatsBuilder() {
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -1683,8 +1662,9 @@ public com.google.spanner.v1.ResultSetStatsOrBuilder getStatsOrBuilder() {
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -1717,13 +1697,10 @@ public com.google.spanner.v1.ResultSetStatsOrBuilder getStatsOrBuilder() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -1739,13 +1716,10 @@ public boolean hasPrecommitToken() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -1767,13 +1741,10 @@ public com.google.spanner.v1.MultiplexedSessionPrecommitToken getPrecommitToken(
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -1797,13 +1768,10 @@ public Builder setPrecommitToken(com.google.spanner.v1.MultiplexedSessionPrecomm
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -1825,13 +1793,10 @@ public Builder setPrecommitToken(
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -1862,13 +1827,10 @@ public Builder mergePrecommitToken(
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -1889,13 +1851,10 @@ public Builder clearPrecommitToken() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -1912,13 +1871,10 @@ public Builder clearPrecommitToken() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -1939,13 +1895,10 @@ public Builder clearPrecommitToken() {
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadata.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadata.java
index 39be68d3aaf..bc6e8652737 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadata.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadata.java
@@ -23,7 +23,8 @@
*
*
*
- * Metadata about a [ResultSet][google.spanner.v1.ResultSet] or [PartialResultSet][google.spanner.v1.PartialResultSet].
+ * Metadata about a [ResultSet][google.spanner.v1.ResultSet] or
+ * [PartialResultSet][google.spanner.v1.PartialResultSet].
*
*
* Protobuf type {@code google.spanner.v1.ResultSetMetadata}
@@ -69,7 +70,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -91,7 +92,7 @@ public boolean hasRowType() {
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -113,7 +114,7 @@ public com.google.spanner.v1.StructType getRowType() {
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -455,7 +456,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
*
*
*
- * Metadata about a [ResultSet][google.spanner.v1.ResultSet] or [PartialResultSet][google.spanner.v1.PartialResultSet].
+ * Metadata about a [ResultSet][google.spanner.v1.ResultSet] or
+ * [PartialResultSet][google.spanner.v1.PartialResultSet].
*
*
* Protobuf type {@code google.spanner.v1.ResultSetMetadata}
@@ -701,7 +703,7 @@ public Builder mergeFrom(
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -722,7 +724,7 @@ public boolean hasRowType() {
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -747,7 +749,7 @@ public com.google.spanner.v1.StructType getRowType() {
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -776,7 +778,7 @@ public Builder setRowType(com.google.spanner.v1.StructType value) {
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -802,7 +804,7 @@ public Builder setRowType(com.google.spanner.v1.StructType.Builder builderForVal
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -836,7 +838,7 @@ public Builder mergeRowType(com.google.spanner.v1.StructType value) {
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -862,7 +864,7 @@ public Builder clearRowType() {
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -883,7 +885,7 @@ public com.google.spanner.v1.StructType.Builder getRowTypeBuilder() {
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -906,7 +908,7 @@ public com.google.spanner.v1.StructTypeOrBuilder getRowTypeOrBuilder() {
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadataOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadataOrBuilder.java
index 3598bd0405f..38ab303ed36 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadataOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetMetadataOrBuilder.java
@@ -29,7 +29,7 @@ public interface ResultSetMetadataOrBuilder
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -48,7 +48,7 @@ public interface ResultSetMetadataOrBuilder
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
@@ -67,7 +67,7 @@ public interface ResultSetMetadataOrBuilder
*
*
* Indicates the field names and types for the rows in the result
- * set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ * set. For example, a SQL query like `"SELECT UserId, UserName FROM
* Users"` could return a `row_type` value like:
*
* "fields": [
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetOrBuilder.java
index 5debcb0ddd8..85e38392255 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetOrBuilder.java
@@ -64,11 +64,10 @@ public interface ResultSetOrBuilder
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -79,11 +78,10 @@ public interface ResultSetOrBuilder
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -94,11 +92,10 @@ public interface ResultSetOrBuilder
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -109,11 +106,10 @@ public interface ResultSetOrBuilder
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -124,11 +120,10 @@ public interface ResultSetOrBuilder
*
*
* Each element in `rows` is a row whose format is defined by
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- * in each row matches the ith field in
- * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- * encoded based on type as described
- * [here][google.spanner.v1.TypeCode].
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ * element in each row matches the ith field in
+ * [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ * are encoded based on type as described [here][google.spanner.v1.TypeCode].
*
*
* repeated .google.protobuf.ListValue rows = 2;
@@ -144,8 +139,9 @@ public interface ResultSetOrBuilder
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -163,8 +159,9 @@ public interface ResultSetOrBuilder
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -182,8 +179,9 @@ public interface ResultSetOrBuilder
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
* DML statements always produce stats containing the number of rows
* modified, unless executed using the
- * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- * Other fields may or may not be populated, based on the
+ * [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ * [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ * Other fields might or might not be populated, based on the
* [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
*
*
@@ -195,13 +193,10 @@ public interface ResultSetOrBuilder
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -215,13 +210,10 @@ public interface ResultSetOrBuilder
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
@@ -235,13 +227,10 @@ public interface ResultSetOrBuilder
*
*
*
- * Optional. A precommit token will be included if the read-write transaction
- * is on a multiplexed session.
- * The precommit token with the highest sequence number from this transaction
- * attempt should be passed to the
+ * Optional. A precommit token is included if the read-write transaction is on
+ * a multiplexed session. Pass the precommit token with the highest sequence
+ * number from this transaction attempt to the
* [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- * This feature is not yet supported and will result in an UNIMPLEMENTED
- * error.
*
*
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetProto.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetProto.java
index 84beab76ecd..899e7b0a27a 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetProto.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetProto.java
@@ -64,7 +64,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "buf.ListValue\0220\n\005stats\030\003 \001(\0132!.google.sp"
+ "anner.v1.ResultSetStats\022Q\n\017precommit_tok"
+ "en\030\005 \001(\01323.google.spanner.v1.Multiplexed"
- + "SessionPrecommitTokenB\003\340A\001\"\244\002\n\020PartialRe"
+ + "SessionPrecommitTokenB\003\340A\001\"\267\002\n\020PartialRe"
+ "sultSet\0226\n\010metadata\030\001 \001(\0132$.google.spann"
+ "er.v1.ResultSetMetadata\022&\n\006values\030\002 \003(\0132"
+ "\026.google.protobuf.Value\022\025\n\rchunked_value"
@@ -72,21 +72,21 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ "\001(\0132!.google.spanner.v1.ResultSetStats\022Q"
+ "\n\017precommit_token\030\010 \001(\01323.google.spanner"
+ ".v1.MultiplexedSessionPrecommitTokenB\003\340A"
- + "\001\"\267\001\n\021ResultSetMetadata\022/\n\010row_type\030\001 \001("
- + "\0132\035.google.spanner.v1.StructType\0223\n\013tran"
- + "saction\030\002 \001(\0132\036.google.spanner.v1.Transa"
- + "ction\022<\n\025undeclared_parameters\030\003 \001(\0132\035.g"
- + "oogle.spanner.v1.StructType\"\271\001\n\016ResultSe"
- + "tStats\0220\n\nquery_plan\030\001 \001(\0132\034.google.span"
- + "ner.v1.QueryPlan\022,\n\013query_stats\030\002 \001(\0132\027."
- + "google.protobuf.Struct\022\031\n\017row_count_exac"
- + "t\030\003 \001(\003H\000\022\037\n\025row_count_lower_bound\030\004 \001(\003"
- + "H\000B\013\n\trow_countB\264\001\n\025com.google.spanner.v"
- + "1B\016ResultSetProtoP\001Z5cloud.google.com/go"
- + "/spanner/apiv1/spannerpb;spannerpb\370\001\001\252\002\027"
- + "Google.Cloud.Spanner.V1\312\002\027Google\\Cloud\\S"
- + "panner\\V1\352\002\032Google::Cloud::Spanner::V1b\006"
- + "proto3"
+ + "\001\022\021\n\004last\030\t \001(\010B\003\340A\001\"\267\001\n\021ResultSetMetada"
+ + "ta\022/\n\010row_type\030\001 \001(\0132\035.google.spanner.v1"
+ + ".StructType\0223\n\013transaction\030\002 \001(\0132\036.googl"
+ + "e.spanner.v1.Transaction\022<\n\025undeclared_p"
+ + "arameters\030\003 \001(\0132\035.google.spanner.v1.Stru"
+ + "ctType\"\271\001\n\016ResultSetStats\0220\n\nquery_plan\030"
+ + "\001 \001(\0132\034.google.spanner.v1.QueryPlan\022,\n\013q"
+ + "uery_stats\030\002 \001(\0132\027.google.protobuf.Struc"
+ + "t\022\031\n\017row_count_exact\030\003 \001(\003H\000\022\037\n\025row_coun"
+ + "t_lower_bound\030\004 \001(\003H\000B\013\n\trow_countB\261\001\n\025c"
+ + "om.google.spanner.v1B\016ResultSetProtoP\001Z5"
+ + "cloud.google.com/go/spanner/apiv1/spanne"
+ + "rpb;spannerpb\252\002\027Google.Cloud.Spanner.V1\312"
+ + "\002\027Google\\Cloud\\Spanner\\V1\352\002\032Google::Clou"
+ + "d::Spanner::V1b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -112,7 +112,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_spanner_v1_PartialResultSet_descriptor,
new java.lang.String[] {
- "Metadata", "Values", "ChunkedValue", "ResumeToken", "Stats", "PrecommitToken",
+ "Metadata",
+ "Values",
+ "ChunkedValue",
+ "ResumeToken",
+ "Stats",
+ "PrecommitToken",
+ "Last",
});
internal_static_google_spanner_v1_ResultSetMetadata_descriptor =
getDescriptor().getMessageTypes().get(2);
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStats.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStats.java
index b13da2d2282..1ed3c04f33a 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStats.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStats.java
@@ -23,7 +23,8 @@
*
*
*
- * Additional statistics about a [ResultSet][google.spanner.v1.ResultSet] or [PartialResultSet][google.spanner.v1.PartialResultSet].
+ * Additional statistics about a [ResultSet][google.spanner.v1.ResultSet] or
+ * [PartialResultSet][google.spanner.v1.PartialResultSet].
*
*
* Protobuf type {@code google.spanner.v1.ResultSetStats}
@@ -117,7 +118,8 @@ public RowCountCase getRowCountCase() {
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -132,7 +134,8 @@ public boolean hasQueryPlan() {
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -147,7 +150,8 @@ public com.google.spanner.v1.QueryPlan getQueryPlan() {
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -267,7 +271,7 @@ public long getRowCountExact() {
*
*
*
- * Partitioned DML does not offer exactly-once semantics, so it
+ * Partitioned DML doesn't offer exactly-once semantics, so it
* returns a lower bound of the rows modified.
*
*
@@ -283,7 +287,7 @@ public boolean hasRowCountLowerBound() {
*
*
*
- * Partitioned DML does not offer exactly-once semantics, so it
+ * Partitioned DML doesn't offer exactly-once semantics, so it
* returns a lower bound of the rows modified.
*
*
@@ -518,7 +522,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
*
*
*
- * Additional statistics about a [ResultSet][google.spanner.v1.ResultSet] or [PartialResultSet][google.spanner.v1.PartialResultSet].
+ * Additional statistics about a [ResultSet][google.spanner.v1.ResultSet] or
+ * [PartialResultSet][google.spanner.v1.PartialResultSet].
*
*
* Protobuf type {@code google.spanner.v1.ResultSetStats}
@@ -788,7 +793,8 @@ public Builder clearRowCount() {
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -802,7 +808,8 @@ public boolean hasQueryPlan() {
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -822,7 +829,8 @@ public com.google.spanner.v1.QueryPlan getQueryPlan() {
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -844,7 +852,8 @@ public Builder setQueryPlan(com.google.spanner.v1.QueryPlan value) {
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -863,7 +872,8 @@ public Builder setQueryPlan(com.google.spanner.v1.QueryPlan.Builder builderForVa
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -890,7 +900,8 @@ public Builder mergeQueryPlan(com.google.spanner.v1.QueryPlan value) {
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -909,7 +920,8 @@ public Builder clearQueryPlan() {
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -923,7 +935,8 @@ public com.google.spanner.v1.QueryPlan.Builder getQueryPlanBuilder() {
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -941,7 +954,8 @@ public com.google.spanner.v1.QueryPlanOrBuilder getQueryPlanOrBuilder() {
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -1290,7 +1304,7 @@ public Builder clearRowCountExact() {
*
*
*
- * Partitioned DML does not offer exactly-once semantics, so it
+ * Partitioned DML doesn't offer exactly-once semantics, so it
* returns a lower bound of the rows modified.
*
*
@@ -1305,7 +1319,7 @@ public boolean hasRowCountLowerBound() {
*
*
*
- * Partitioned DML does not offer exactly-once semantics, so it
+ * Partitioned DML doesn't offer exactly-once semantics, so it
* returns a lower bound of the rows modified.
*
*
@@ -1323,7 +1337,7 @@ public long getRowCountLowerBound() {
*
*
*
- * Partitioned DML does not offer exactly-once semantics, so it
+ * Partitioned DML doesn't offer exactly-once semantics, so it
* returns a lower bound of the rows modified.
*
*
@@ -1343,7 +1357,7 @@ public Builder setRowCountLowerBound(long value) {
*
*
*
- * Partitioned DML does not offer exactly-once semantics, so it
+ * Partitioned DML doesn't offer exactly-once semantics, so it
* returns a lower bound of the rows modified.
*
*
diff --git a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStatsOrBuilder.java b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStatsOrBuilder.java
index a3fd01bb7ab..343981c2d87 100644
--- a/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStatsOrBuilder.java
+++ b/proto-google-cloud-spanner-v1/src/main/java/com/google/spanner/v1/ResultSetStatsOrBuilder.java
@@ -28,7 +28,8 @@ public interface ResultSetStatsOrBuilder
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -40,7 +41,8 @@ public interface ResultSetStatsOrBuilder
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -52,7 +54,8 @@ public interface ResultSetStatsOrBuilder
*
*
*
- * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ * [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ * result.
*
*
* .google.spanner.v1.QueryPlan query_plan = 1;
@@ -147,7 +150,7 @@ public interface ResultSetStatsOrBuilder
*
*
*
- * Partitioned DML does not offer exactly-once semantics, so it
+ * Partitioned DML doesn't offer exactly-once semantics, so it
* returns a lower bound of the rows modified.
*
*
@@ -160,7 +163,7 @@ public interface ResultSetStatsOrBuilder
*
*
*
- * Partitioned DML does not offer exactly-once semantics, so it
+ * Partitioned DML doesn't offer exactly-once semantics, so it
* returns a lower bound of the rows modified.
*
*
diff --git a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/result_set.proto b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/result_set.proto
index 0b8aabf8679..3735eeddc16 100644
--- a/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/result_set.proto
+++ b/proto-google-cloud-spanner-v1/src/main/proto/google/spanner/v1/result_set.proto
@@ -22,7 +22,6 @@ import "google/spanner/v1/query_plan.proto";
import "google/spanner/v1/transaction.proto";
import "google/spanner/v1/type.proto";
-option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.Spanner.V1";
option go_package = "cloud.google.com/go/spanner/apiv1/spannerpb;spannerpb";
option java_multiple_files = true;
@@ -38,11 +37,10 @@ message ResultSet {
ResultSetMetadata metadata = 1;
// Each element in `rows` is a row whose format is defined by
- // [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith element
- // in each row matches the ith field in
- // [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements are
- // encoded based on type as described
- // [here][google.spanner.v1.TypeCode].
+ // [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. The ith
+ // element in each row matches the ith field in
+ // [metadata.row_type][google.spanner.v1.ResultSetMetadata.row_type]. Elements
+ // are encoded based on type as described [here][google.spanner.v1.TypeCode].
repeated google.protobuf.ListValue rows = 2;
// Query plan and execution statistics for the SQL statement that
@@ -50,18 +48,16 @@ message ResultSet {
// [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
// DML statements always produce stats containing the number of rows
// modified, unless executed using the
- // [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN] [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
- // Other fields may or may not be populated, based on the
+ // [ExecuteSqlRequest.QueryMode.PLAN][google.spanner.v1.ExecuteSqlRequest.QueryMode.PLAN]
+ // [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
+ // Other fields might or might not be populated, based on the
// [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode].
ResultSetStats stats = 3;
- // Optional. A precommit token will be included if the read-write transaction
- // is on a multiplexed session.
- // The precommit token with the highest sequence number from this transaction
- // attempt should be passed to the
+ // Optional. A precommit token is included if the read-write transaction is on
+ // a multiplexed session. Pass the precommit token with the highest sequence
+ // number from this transaction attempt to the
// [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- // This feature is not yet supported and will result in an UNIMPLEMENTED
- // error.
MultiplexedSessionPrecommitToken precommit_token = 5
[(google.api.field_behavior) = OPTIONAL];
}
@@ -83,13 +79,14 @@ message PartialResultSet {
// Most values are encoded based on type as described
// [here][google.spanner.v1.TypeCode].
//
- // It is possible that the last value in values is "chunked",
+ // It's possible that the last value in values is "chunked",
// meaning that the rest of the value is sent in subsequent
- // `PartialResultSet`(s). This is denoted by the [chunked_value][google.spanner.v1.PartialResultSet.chunked_value]
- // field. Two or more chunked values can be merged to form a
- // complete value as follows:
+ // `PartialResultSet`(s). This is denoted by the
+ // [chunked_value][google.spanner.v1.PartialResultSet.chunked_value] field.
+ // Two or more chunked values can be merged to form a complete value as
+ // follows:
//
- // * `bool/number/null`: cannot be chunked
+ // * `bool/number/null`: can't be chunked
// * `string`: concatenate the strings
// * `list`: concatenate the lists. If the last element in a list is a
// `string`, `list`, or `object`, merge it with the first element in
@@ -100,28 +97,28 @@ message PartialResultSet {
//
// Some examples of merging:
//
- // # Strings are concatenated.
+ // Strings are concatenated.
// "foo", "bar" => "foobar"
//
- // # Lists of non-strings are concatenated.
+ // Lists of non-strings are concatenated.
// [2, 3], [4] => [2, 3, 4]
//
- // # Lists are concatenated, but the last and first elements are merged
- // # because they are strings.
+ // Lists are concatenated, but the last and first elements are merged
+ // because they are strings.
// ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
//
- // # Lists are concatenated, but the last and first elements are merged
- // # because they are lists. Recursively, the last and first elements
- // # of the inner lists are merged because they are strings.
+ // Lists are concatenated, but the last and first elements are merged
+ // because they are lists. Recursively, the last and first elements
+ // of the inner lists are merged because they are strings.
// ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
//
- // # Non-overlapping object fields are combined.
+ // Non-overlapping object fields are combined.
// {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
//
- // # Overlapping object fields are merged.
+ // Overlapping object fields are merged.
// {"a": "1"}, {"a": "2"} => {"a": "12"}
//
- // # Examples of merging objects containing lists of strings.
+ // Examples of merging objects containing lists of strings.
// {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
//
// For a more complete example, suppose a streaming SQL query is
@@ -137,7 +134,6 @@ message PartialResultSet {
// {
// "values": ["orl"]
// "chunked_value": true
- // "resume_token": "Bqp2..."
// }
// {
// "values": ["d"]
@@ -147,11 +143,17 @@ message PartialResultSet {
// This sequence of `PartialResultSet`s encodes two rows, one
// containing the field value `"Hello"`, and a second containing the
// field value `"World" = "W" + "orl" + "d"`.
+ //
+ // Not all `PartialResultSet`s contain a `resume_token`. Execution can only be
+ // resumed from a previously yielded `resume_token`. For the above sequence of
+ // `PartialResultSet`s, resuming the query with `"resume_token": "Af65..."`
+ // yields results from the `PartialResultSet` with value "orl".
repeated google.protobuf.Value values = 2;
- // If true, then the final value in [values][google.spanner.v1.PartialResultSet.values] is chunked, and must
- // be combined with more values from subsequent `PartialResultSet`s
- // to obtain a complete field value.
+ // If true, then the final value in
+ // [values][google.spanner.v1.PartialResultSet.values] is chunked, and must be
+ // combined with more values from subsequent `PartialResultSet`s to obtain a
+ // complete field value.
bool chunked_value = 3;
// Streaming calls might be interrupted for a variety of reasons, such
@@ -163,27 +165,29 @@ message PartialResultSet {
// Query plan and execution statistics for the statement that produced this
// streaming result set. These can be requested by setting
- // [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode] and are sent
- // only once with the last response in the stream.
- // This field will also be present in the last response for DML
- // statements.
+ // [ExecuteSqlRequest.query_mode][google.spanner.v1.ExecuteSqlRequest.query_mode]
+ // and are sent only once with the last response in the stream. This field is
+ // also present in the last response for DML statements.
ResultSetStats stats = 5;
- // Optional. A precommit token will be included if the read-write transaction
- // is on a multiplexed session.
- // The precommit token with the highest sequence number from this transaction
- // attempt should be passed to the
+ // Optional. A precommit token is included if the read-write transaction
+ // has multiplexed sessions enabled. Pass the precommit token with the highest
+ // sequence number from this transaction attempt to the
// [Commit][google.spanner.v1.Spanner.Commit] request for this transaction.
- // This feature is not yet supported and will result in an UNIMPLEMENTED
- // error.
MultiplexedSessionPrecommitToken precommit_token = 8
[(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Indicates whether this is the last `PartialResultSet` in the
+ // stream. The server might optionally set this field. Clients shouldn't rely
+ // on this field being set in all cases.
+ bool last = 9 [(google.api.field_behavior) = OPTIONAL];
}
-// Metadata about a [ResultSet][google.spanner.v1.ResultSet] or [PartialResultSet][google.spanner.v1.PartialResultSet].
+// Metadata about a [ResultSet][google.spanner.v1.ResultSet] or
+// [PartialResultSet][google.spanner.v1.PartialResultSet].
message ResultSetMetadata {
// Indicates the field names and types for the rows in the result
- // set. For example, a SQL query like `"SELECT UserId, UserName FROM
+ // set. For example, a SQL query like `"SELECT UserId, UserName FROM
// Users"` could return a `row_type` value like:
//
// "fields": [
@@ -209,9 +213,11 @@ message ResultSetMetadata {
StructType undeclared_parameters = 3;
}
-// Additional statistics about a [ResultSet][google.spanner.v1.ResultSet] or [PartialResultSet][google.spanner.v1.PartialResultSet].
+// Additional statistics about a [ResultSet][google.spanner.v1.ResultSet] or
+// [PartialResultSet][google.spanner.v1.PartialResultSet].
message ResultSetStats {
- // [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this result.
+ // [QueryPlan][google.spanner.v1.QueryPlan] for the query associated with this
+ // result.
QueryPlan query_plan = 1;
// Aggregated statistics from the execution of the query. Only present when
@@ -230,7 +236,7 @@ message ResultSetStats {
// Standard DML returns an exact count of rows that were modified.
int64 row_count_exact = 3;
- // Partitioned DML does not offer exactly-once semantics, so it
+ // Partitioned DML doesn't offer exactly-once semantics, so it
// returns a lower bound of the rows modified.
int64 row_count_lower_bound = 4;
}