diff --git a/README.md b/README.md index 5088b6e37..bfcedbcde 100644 --- a/README.md +++ b/README.md @@ -57,13 +57,13 @@ implementation 'com.google.cloud:google-cloud-firestore' If you are using Gradle without BOM, add this to your dependencies: ```Groovy -implementation 'com.google.cloud:google-cloud-firestore:3.9.4' +implementation 'com.google.cloud:google-cloud-firestore:3.9.5' ``` If you are using SBT, add this to your dependencies: ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-firestore" % "3.9.4" +libraryDependencies += "com.google.cloud" % "google-cloud-firestore" % "3.9.5" ``` @@ -222,7 +222,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-firestore/java11.html [stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-firestore.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-firestore/3.9.4 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-firestore/3.9.5 [authentication]: https://github.com/googleapis/google-cloud-java#authentication [auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes [predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/FirestoreClient.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/FirestoreClient.java index 639803456..8f2bc7979 100644 --- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/FirestoreClient.java +++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1/FirestoreClient.java @@ -1040,7 +1040,7 @@ public final PartitionQueryPagedResponse partitionQuery(PartitionQueryRequest re // AUTO-GENERATED DOCUMENTATION AND METHOD. /** * Streams batches of document updates and deletes, in order. This method is only available via - * the gRPC API (not REST). + * gRPC or WebChannel (not REST). * *
Sample code:
*
@@ -1073,7 +1073,7 @@ public final BidiStreamingCallable Sample code:
*
diff --git a/grpc-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/FirestoreGrpc.java b/grpc-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/FirestoreGrpc.java
index 62172b7ea..cc63ecb8d 100644
--- a/grpc-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/FirestoreGrpc.java
+++ b/grpc-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/FirestoreGrpc.java
@@ -952,7 +952,7 @@ default void partitionQuery(
*
*
* Streams batches of document updates and deletes, in order. This method is
- * only available via the gRPC API (not REST).
+ * only available via gRPC or WebChannel (not REST).
*
*/
default io.grpc.stub.StreamObserver
- * Listens to changes. This method is only available via the gRPC API (not
- * REST).
+ * Listens to changes. This method is only available via gRPC or WebChannel
+ * (not REST).
*
*/
default io.grpc.stub.StreamObserver
* Streams batches of document updates and deletes, in order. This method is
- * only available via the gRPC API (not REST).
+ * only available via gRPC or WebChannel (not REST).
*
*/
public io.grpc.stub.StreamObserver
- * Listens to changes. This method is only available via the gRPC API (not
- * REST).
+ * Listens to changes. This method is only available via gRPC or WebChannel
+ * (not REST).
*
*/
public io.grpc.stub.StreamObserver
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -162,7 +168,13 @@ public boolean hasReadTime() {
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -177,7 +189,13 @@ public com.google.protobuf.Timestamp getReadTime() {
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -853,7 +871,13 @@ public Builder clearTransaction() {
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -867,7 +891,13 @@ public boolean hasReadTime() {
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -885,7 +915,13 @@ public com.google.protobuf.Timestamp getReadTime() {
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -907,7 +943,13 @@ public Builder setReadTime(com.google.protobuf.Timestamp value) {
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -926,7 +968,13 @@ public Builder setReadTime(com.google.protobuf.Timestamp.Builder builderForValue
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -951,7 +999,13 @@ public Builder mergeReadTime(com.google.protobuf.Timestamp value) {
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -970,7 +1024,13 @@ public Builder clearReadTime() {
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -984,7 +1044,13 @@ public com.google.protobuf.Timestamp.Builder getReadTimeBuilder() {
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -1000,7 +1066,13 @@ public com.google.protobuf.TimestampOrBuilder getReadTimeOrBuilder() {
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
diff --git a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/RunAggregationQueryResponseOrBuilder.java b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/RunAggregationQueryResponseOrBuilder.java
index 8a7025bbd..e6c7fb085 100644
--- a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/RunAggregationQueryResponseOrBuilder.java
+++ b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/RunAggregationQueryResponseOrBuilder.java
@@ -80,7 +80,13 @@ public interface RunAggregationQueryResponseOrBuilder
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -92,7 +98,13 @@ public interface RunAggregationQueryResponseOrBuilder
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
@@ -104,7 +116,13 @@ public interface RunAggregationQueryResponseOrBuilder
*
*
*
- * The time at which the aggregate value is valid for.
+ * The time at which the aggregate result was computed. This is always
+ * monotonically increasing; in this case, the previous AggregationResult in
+ * the result stream are guaranteed not to have changed between their
+ * `read_time` and this one.
+ * If the query returns no results, a response with `read_time` and no
+ * `result` will be sent, and this represents the time at which the query
+ * was run.
*
*
* .google.protobuf.Timestamp read_time = 3;
diff --git a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredAggregationQuery.java b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredAggregationQuery.java
index cbdc7e795..4713859cd 100644
--- a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredAggregationQuery.java
+++ b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredAggregationQuery.java
@@ -122,7 +122,7 @@ public interface AggregationOrBuilder
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2),
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4)
+ * COUNT(*)
* OVER (
* ...
* );
@@ -133,7 +133,7 @@ public interface AggregationOrBuilder
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2) AS field_1,
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4) AS field_2
+ * COUNT(*) AS field_2
* OVER (
* ...
* );
@@ -162,7 +162,7 @@ public interface AggregationOrBuilder
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2),
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4)
+ * COUNT(*)
* OVER (
* ...
* );
@@ -173,7 +173,7 @@ public interface AggregationOrBuilder
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2) AS field_1,
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4) AS field_2
+ * COUNT(*) AS field_2
* OVER (
* ...
* );
@@ -197,7 +197,7 @@ public interface AggregationOrBuilder
*
*
*
- * Defines a aggregation that produces a single result.
+ * Defines an aggregation that produces a single result.
*
*
* Protobuf type {@code google.firestore.v1.StructuredAggregationQuery.Aggregation}
@@ -254,7 +254,7 @@ public interface CountOrBuilder
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -277,7 +277,7 @@ public interface CountOrBuilder
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -300,7 +300,7 @@ public interface CountOrBuilder
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -373,7 +373,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -399,7 +399,7 @@ public boolean hasUpTo() {
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -425,7 +425,7 @@ public com.google.protobuf.Int64Value getUpTo() {
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -825,7 +825,7 @@ public Builder mergeFrom(
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -850,7 +850,7 @@ public boolean hasUpTo() {
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -879,7 +879,7 @@ public com.google.protobuf.Int64Value getUpTo() {
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -912,7 +912,7 @@ public Builder setUpTo(com.google.protobuf.Int64Value value) {
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -942,7 +942,7 @@ public Builder setUpTo(com.google.protobuf.Int64Value.Builder builderForValue) {
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -978,7 +978,7 @@ public Builder mergeUpTo(com.google.protobuf.Int64Value value) {
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -1008,7 +1008,7 @@ public Builder clearUpTo() {
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -1033,7 +1033,7 @@ public com.google.protobuf.Int64Value.Builder getUpToBuilder() {
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -1060,7 +1060,7 @@ public com.google.protobuf.Int64ValueOrBuilder getUpToOrBuilder() {
* Optional. Optional constraint on the maximum number of documents to
* count.
* This provides a way to set an upper bound on the number of documents
- * to scan, limiting latency and cost.
+ * to scan, limiting latency, and cost.
* Unspecified is interpreted as no bound.
* High-Level Example:
* ```
@@ -1273,7 +1273,7 @@ public com.google.firestore.v1.StructuredAggregationQuery.Aggregation.Count getC
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2),
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4)
+ * COUNT(*)
* OVER (
* ...
* );
@@ -1284,7 +1284,7 @@ public com.google.firestore.v1.StructuredAggregationQuery.Aggregation.Count getC
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2) AS field_1,
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4) AS field_2
+ * COUNT(*) AS field_2
* OVER (
* ...
* );
@@ -1324,7 +1324,7 @@ public java.lang.String getAlias() {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2),
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4)
+ * COUNT(*)
* OVER (
* ...
* );
@@ -1335,7 +1335,7 @@ public java.lang.String getAlias() {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2) AS field_1,
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4) AS field_2
+ * COUNT(*) AS field_2
* OVER (
* ...
* );
@@ -1554,7 +1554,7 @@ protected Builder newBuilderForType(
*
*
*
- * Defines a aggregation that produces a single result.
+ * Defines an aggregation that produces a single result.
*
*
* Protobuf type {@code google.firestore.v1.StructuredAggregationQuery.Aggregation}
@@ -2022,7 +2022,7 @@ public Builder clearCount() {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2),
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4)
+ * COUNT(*)
* OVER (
* ...
* );
@@ -2033,7 +2033,7 @@ public Builder clearCount() {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2) AS field_1,
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4) AS field_2
+ * COUNT(*) AS field_2
* OVER (
* ...
* );
@@ -2072,7 +2072,7 @@ public java.lang.String getAlias() {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2),
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4)
+ * COUNT(*)
* OVER (
* ...
* );
@@ -2083,7 +2083,7 @@ public java.lang.String getAlias() {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2) AS field_1,
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4) AS field_2
+ * COUNT(*) AS field_2
* OVER (
* ...
* );
@@ -2122,7 +2122,7 @@ public com.google.protobuf.ByteString getAliasBytes() {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2),
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4)
+ * COUNT(*)
* OVER (
* ...
* );
@@ -2133,7 +2133,7 @@ public com.google.protobuf.ByteString getAliasBytes() {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2) AS field_1,
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4) AS field_2
+ * COUNT(*) AS field_2
* OVER (
* ...
* );
@@ -2171,7 +2171,7 @@ public Builder setAlias(java.lang.String value) {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2),
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4)
+ * COUNT(*)
* OVER (
* ...
* );
@@ -2182,7 +2182,7 @@ public Builder setAlias(java.lang.String value) {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2) AS field_1,
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4) AS field_2
+ * COUNT(*) AS field_2
* OVER (
* ...
* );
@@ -2216,7 +2216,7 @@ public Builder clearAlias() {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2),
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4)
+ * COUNT(*)
* OVER (
* ...
* );
@@ -2227,7 +2227,7 @@ public Builder clearAlias() {
* COUNT_UP_TO(1) AS count_up_to_1,
* COUNT_UP_TO(2) AS field_1,
* COUNT_UP_TO(3) AS count_up_to_3,
- * COUNT_UP_TO(4) AS field_2
+ * COUNT(*) AS field_2
* OVER (
* ...
* );
diff --git a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredQuery.java b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredQuery.java
index 85c551829..370084e48 100644
--- a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredQuery.java
+++ b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredQuery.java
@@ -4163,8 +4163,9 @@ public enum Operator implements com.google.protobuf.ProtocolMessageEnum {
*
* The given `field` is equal to at least one value in the given array.
* Requires:
- * * That `value` is a non-empty `ArrayValue` with at most 10 values.
- * * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`.
+ * * That `value` is a non-empty `ArrayValue`, subject to disjunction
+ * limits.
+ * * No `NOT_IN` filters in the same query.
*
*
* IN = 8;
@@ -4177,8 +4178,10 @@ public enum Operator implements com.google.protobuf.ProtocolMessageEnum {
* The given `field` is an array that contains any of the values in the
* given array.
* Requires:
- * * That `value` is a non-empty `ArrayValue` with at most 10 values.
- * * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`.
+ * * That `value` is a non-empty `ArrayValue`, subject to disjunction
+ * limits.
+ * * No other `ARRAY_CONTAINS_ANY` filters within the same disjunction.
+ * * No `NOT_IN` filters in the same query.
*
*
* ARRAY_CONTAINS_ANY = 9;
@@ -4191,7 +4194,7 @@ public enum Operator implements com.google.protobuf.ProtocolMessageEnum {
* The value of the `field` is not in the given array.
* Requires:
* * That `value` is a non-empty `ArrayValue` with at most 10 values.
- * * No other `IN`, `ARRAY_CONTAINS_ANY`, `NOT_IN`, `NOT_EQUAL`,
+ * * No other `OR`, `IN`, `ARRAY_CONTAINS_ANY`, `NOT_IN`, `NOT_EQUAL`,
* `IS_NOT_NULL`, or `IS_NOT_NAN`.
* * That `field` comes first in the `order_by`.
*
@@ -4299,8 +4302,9 @@ public enum Operator implements com.google.protobuf.ProtocolMessageEnum {
*
* The given `field` is equal to at least one value in the given array.
* Requires:
- * * That `value` is a non-empty `ArrayValue` with at most 10 values.
- * * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`.
+ * * That `value` is a non-empty `ArrayValue`, subject to disjunction
+ * limits.
+ * * No `NOT_IN` filters in the same query.
*
*
* IN = 8;
@@ -4313,8 +4317,10 @@ public enum Operator implements com.google.protobuf.ProtocolMessageEnum {
* The given `field` is an array that contains any of the values in the
* given array.
* Requires:
- * * That `value` is a non-empty `ArrayValue` with at most 10 values.
- * * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`.
+ * * That `value` is a non-empty `ArrayValue`, subject to disjunction
+ * limits.
+ * * No other `ARRAY_CONTAINS_ANY` filters within the same disjunction.
+ * * No `NOT_IN` filters in the same query.
*
*
* ARRAY_CONTAINS_ANY = 9;
@@ -4327,7 +4333,7 @@ public enum Operator implements com.google.protobuf.ProtocolMessageEnum {
* The value of the `field` is not in the given array.
* Requires:
* * That `value` is a non-empty `ArrayValue` with at most 10 values.
- * * No other `IN`, `ARRAY_CONTAINS_ANY`, `NOT_IN`, `NOT_EQUAL`,
+ * * No other `OR`, `IN`, `ARRAY_CONTAINS_ANY`, `NOT_IN`, `NOT_EQUAL`,
* `IS_NOT_NULL`, or `IS_NOT_NAN`.
* * That `field` comes first in the `order_by`.
*
@@ -9406,7 +9412,10 @@ public com.google.firestore.v1.StructuredQuery.Projection getDefaultInstanceForT
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -9421,7 +9430,10 @@ public boolean hasSelect() {
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -9438,7 +9450,10 @@ public com.google.firestore.v1.StructuredQuery.Projection getSelect() {
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -10608,7 +10623,10 @@ public Builder mergeFrom(
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -10622,7 +10640,10 @@ public boolean hasSelect() {
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -10642,7 +10663,10 @@ public com.google.firestore.v1.StructuredQuery.Projection getSelect() {
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -10664,7 +10688,10 @@ public Builder setSelect(com.google.firestore.v1.StructuredQuery.Projection valu
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -10684,7 +10711,10 @@ public Builder setSelect(
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -10709,7 +10739,10 @@ public Builder mergeSelect(com.google.firestore.v1.StructuredQuery.Projection va
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -10728,7 +10761,10 @@ public Builder clearSelect() {
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -10742,7 +10778,10 @@ public com.google.firestore.v1.StructuredQuery.Projection.Builder getSelectBuild
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -10760,7 +10799,10 @@ public com.google.firestore.v1.StructuredQuery.ProjectionOrBuilder getSelectOrBu
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
diff --git a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredQueryOrBuilder.java b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredQueryOrBuilder.java
index 94d6bf2e3..97885b040 100644
--- a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredQueryOrBuilder.java
+++ b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/StructuredQueryOrBuilder.java
@@ -27,7 +27,10 @@ public interface StructuredQueryOrBuilder
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -39,7 +42,10 @@ public interface StructuredQueryOrBuilder
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
@@ -51,7 +57,10 @@ public interface StructuredQueryOrBuilder
*
*
*
- * The projection to return.
+ * Optional sub-set of the fields to return.
+ * This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ * documents returned from a query. When not set, assumes that the caller
+ * wants all fields returned.
*
*
* .google.firestore.v1.StructuredQuery.Projection select = 1;
diff --git a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/aggregation_result.proto b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/aggregation_result.proto
index 87ff8d3fc..05fea5da9 100644
--- a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/aggregation_result.proto
+++ b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/aggregation_result.proto
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/common.proto b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/common.proto
index ab02ec76e..29cde08d3 100644
--- a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/common.proto
+++ b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/common.proto
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/document.proto b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/document.proto
index 41317245f..795200498 100644
--- a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/document.proto
+++ b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/document.proto
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/firestore.proto b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/firestore.proto
index 2de2116b2..088388ade 100644
--- a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/firestore.proto
+++ b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/firestore.proto
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -178,7 +178,7 @@ service Firestore {
}
// Streams batches of document updates and deletes, in order. This method is
- // only available via the gRPC API (not REST).
+ // only available via gRPC or WebChannel (not REST).
rpc Write(stream WriteRequest) returns (stream WriteResponse) {
option (google.api.http) = {
post: "/v1/{database=projects/*/databases/*}/documents:write"
@@ -186,8 +186,8 @@ service Firestore {
};
}
- // Listens to changes. This method is only available via the gRPC API (not
- // REST).
+ // Listens to changes. This method is only available via gRPC or WebChannel
+ // (not REST).
rpc Listen(stream ListenRequest) returns (stream ListenResponse) {
option (google.api.http) = {
post: "/v1/{database=projects/*/databases/*}/documents:listen"
@@ -655,7 +655,14 @@ message RunAggregationQueryResponse {
// a new transaction.
bytes transaction = 2;
- // The time at which the aggregate value is valid for.
+ // The time at which the aggregate result was computed. This is always
+ // monotonically increasing; in this case, the previous AggregationResult in
+ // the result stream are guaranteed not to have changed between their
+ // `read_time` and this one.
+ //
+ // If the query returns no results, a response with `read_time` and no
+ // `result` will be sent, and this represents the time at which the query
+ // was run.
google.protobuf.Timestamp read_time = 3;
}
diff --git a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/query.proto b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/query.proto
index faf1f7b0f..8f89c48d9 100644
--- a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/query.proto
+++ b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/query.proto
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -136,8 +136,9 @@ message StructuredQuery {
//
// Requires:
//
- // * That `value` is a non-empty `ArrayValue` with at most 10 values.
- // * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`.
+ // * That `value` is a non-empty `ArrayValue`, subject to disjunction
+ // limits.
+ // * No `NOT_IN` filters in the same query.
IN = 8;
// The given `field` is an array that contains any of the values in the
@@ -145,8 +146,10 @@ message StructuredQuery {
//
// Requires:
//
- // * That `value` is a non-empty `ArrayValue` with at most 10 values.
- // * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`.
+ // * That `value` is a non-empty `ArrayValue`, subject to disjunction
+ // limits.
+ // * No other `ARRAY_CONTAINS_ANY` filters within the same disjunction.
+ // * No `NOT_IN` filters in the same query.
ARRAY_CONTAINS_ANY = 9;
// The value of the `field` is not in the given array.
@@ -154,7 +157,7 @@ message StructuredQuery {
// Requires:
//
// * That `value` is a non-empty `ArrayValue` with at most 10 values.
- // * No other `IN`, `ARRAY_CONTAINS_ANY`, `NOT_IN`, `NOT_EQUAL`,
+ // * No other `OR`, `IN`, `ARRAY_CONTAINS_ANY`, `NOT_IN`, `NOT_EQUAL`,
// `IS_NOT_NULL`, or `IS_NOT_NAN`.
// * That `field` comes first in the `order_by`.
NOT_IN = 10;
@@ -251,7 +254,11 @@ message StructuredQuery {
repeated FieldReference fields = 2;
}
- // The projection to return.
+ // Optional sub-set of the fields to return.
+ //
+ // This acts as a [DocumentMask][google.firestore.v1.DocumentMask] over the
+ // documents returned from a query. When not set, assumes that the caller
+ // wants all fields returned.
Projection select = 1;
// The collections to query.
@@ -349,7 +356,7 @@ message StructuredQuery {
// Firestore query for running an aggregation over a
// [StructuredQuery][google.firestore.v1.StructuredQuery].
message StructuredAggregationQuery {
- // Defines a aggregation that produces a single result.
+ // Defines an aggregation that produces a single result.
message Aggregation {
// Count of documents that match the query.
//
@@ -360,7 +367,7 @@ message StructuredAggregationQuery {
// count.
//
// This provides a way to set an upper bound on the number of documents
- // to scan, limiting latency and cost.
+ // to scan, limiting latency, and cost.
//
// Unspecified is interpreted as no bound.
//
@@ -394,7 +401,7 @@ message StructuredAggregationQuery {
// COUNT_UP_TO(1) AS count_up_to_1,
// COUNT_UP_TO(2),
// COUNT_UP_TO(3) AS count_up_to_3,
- // COUNT_UP_TO(4)
+ // COUNT(*)
// OVER (
// ...
// );
@@ -407,7 +414,7 @@ message StructuredAggregationQuery {
// COUNT_UP_TO(1) AS count_up_to_1,
// COUNT_UP_TO(2) AS field_1,
// COUNT_UP_TO(3) AS count_up_to_3,
- // COUNT_UP_TO(4) AS field_2
+ // COUNT(*) AS field_2
// OVER (
// ...
// );
diff --git a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/write.proto b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/write.proto
index 50001487c..3760f9a34 100644
--- a/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/write.proto
+++ b/proto-google-cloud-firestore-v1/src/main/proto/google/firestore/v1/write.proto
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.