diff --git a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryRequest.java b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryRequest.java index d2e156566..3dde28519 100644 --- a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryRequest.java +++ b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryRequest.java @@ -250,8 +250,9 @@ public com.google.protobuf.ByteString getParentBytes() { * *
    * A structured query.
-   * Filters, order bys, limits, offsets, and start/end cursors are not
-   * supported.
+   * Query must specify collection with all descendants and be ordered by name
+   * ascending. Other filters, order bys, limits, offsets, and start/end
+   * cursors are not supported.
    * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -267,8 +268,9 @@ public boolean hasStructuredQuery() { * *
    * A structured query.
-   * Filters, order bys, limits, offsets, and start/end cursors are not
-   * supported.
+   * Query must specify collection with all descendants and be ordered by name
+   * ascending. Other filters, order bys, limits, offsets, and start/end
+   * cursors are not supported.
    * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -287,8 +289,9 @@ public com.google.firestore.v1.StructuredQuery getStructuredQuery() { * *
    * A structured query.
-   * Filters, order bys, limits, offsets, and start/end cursors are not
-   * supported.
+   * Query must specify collection with all descendants and be ordered by name
+   * ascending. Other filters, order bys, limits, offsets, and start/end
+   * cursors are not supported.
    * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -309,7 +312,7 @@ public com.google.firestore.v1.StructuredQueryOrBuilder getStructuredQueryOrBuil *
    * The desired maximum number of partition points.
    * The partitions may be returned across multiple pages of results.
-   * The number must be strictly positive. The actual number of partitions
+   * The number must be positive. The actual number of partitions
    * returned may be fewer.
    * For example, this may be set to one fewer than the number of parallel
    * queries to be run, or in running a data pipeline job, one fewer than the
@@ -967,8 +970,9 @@ public Builder setParentBytes(com.google.protobuf.ByteString value) {
      *
      * 
      * A structured query.
-     * Filters, order bys, limits, offsets, and start/end cursors are not
-     * supported.
+     * Query must specify collection with all descendants and be ordered by name
+     * ascending. Other filters, order bys, limits, offsets, and start/end
+     * cursors are not supported.
      * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -984,8 +988,9 @@ public boolean hasStructuredQuery() { * *
      * A structured query.
-     * Filters, order bys, limits, offsets, and start/end cursors are not
-     * supported.
+     * Query must specify collection with all descendants and be ordered by name
+     * ascending. Other filters, order bys, limits, offsets, and start/end
+     * cursors are not supported.
      * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -1011,8 +1016,9 @@ public com.google.firestore.v1.StructuredQuery getStructuredQuery() { * *
      * A structured query.
-     * Filters, order bys, limits, offsets, and start/end cursors are not
-     * supported.
+     * Query must specify collection with all descendants and be ordered by name
+     * ascending. Other filters, order bys, limits, offsets, and start/end
+     * cursors are not supported.
      * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -1035,8 +1041,9 @@ public Builder setStructuredQuery(com.google.firestore.v1.StructuredQuery value) * *
      * A structured query.
-     * Filters, order bys, limits, offsets, and start/end cursors are not
-     * supported.
+     * Query must specify collection with all descendants and be ordered by name
+     * ascending. Other filters, order bys, limits, offsets, and start/end
+     * cursors are not supported.
      * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -1057,8 +1064,9 @@ public Builder setStructuredQuery( * *
      * A structured query.
-     * Filters, order bys, limits, offsets, and start/end cursors are not
-     * supported.
+     * Query must specify collection with all descendants and be ordered by name
+     * ascending. Other filters, order bys, limits, offsets, and start/end
+     * cursors are not supported.
      * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -1090,8 +1098,9 @@ public Builder mergeStructuredQuery(com.google.firestore.v1.StructuredQuery valu * *
      * A structured query.
-     * Filters, order bys, limits, offsets, and start/end cursors are not
-     * supported.
+     * Query must specify collection with all descendants and be ordered by name
+     * ascending. Other filters, order bys, limits, offsets, and start/end
+     * cursors are not supported.
      * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -1117,8 +1126,9 @@ public Builder clearStructuredQuery() { * *
      * A structured query.
-     * Filters, order bys, limits, offsets, and start/end cursors are not
-     * supported.
+     * Query must specify collection with all descendants and be ordered by name
+     * ascending. Other filters, order bys, limits, offsets, and start/end
+     * cursors are not supported.
      * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -1131,8 +1141,9 @@ public com.google.firestore.v1.StructuredQuery.Builder getStructuredQueryBuilder * *
      * A structured query.
-     * Filters, order bys, limits, offsets, and start/end cursors are not
-     * supported.
+     * Query must specify collection with all descendants and be ordered by name
+     * ascending. Other filters, order bys, limits, offsets, and start/end
+     * cursors are not supported.
      * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -1153,8 +1164,9 @@ public com.google.firestore.v1.StructuredQueryOrBuilder getStructuredQueryOrBuil * *
      * A structured query.
-     * Filters, order bys, limits, offsets, and start/end cursors are not
-     * supported.
+     * Query must specify collection with all descendants and be ordered by name
+     * ascending. Other filters, order bys, limits, offsets, and start/end
+     * cursors are not supported.
      * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -1191,7 +1203,7 @@ public com.google.firestore.v1.StructuredQueryOrBuilder getStructuredQueryOrBuil *
      * The desired maximum number of partition points.
      * The partitions may be returned across multiple pages of results.
-     * The number must be strictly positive. The actual number of partitions
+     * The number must be positive. The actual number of partitions
      * returned may be fewer.
      * For example, this may be set to one fewer than the number of parallel
      * queries to be run, or in running a data pipeline job, one fewer than the
@@ -1212,7 +1224,7 @@ public long getPartitionCount() {
      * 
      * The desired maximum number of partition points.
      * The partitions may be returned across multiple pages of results.
-     * The number must be strictly positive. The actual number of partitions
+     * The number must be positive. The actual number of partitions
      * returned may be fewer.
      * For example, this may be set to one fewer than the number of parallel
      * queries to be run, or in running a data pipeline job, one fewer than the
@@ -1236,7 +1248,7 @@ public Builder setPartitionCount(long value) {
      * 
      * The desired maximum number of partition points.
      * The partitions may be returned across multiple pages of results.
-     * The number must be strictly positive. The actual number of partitions
+     * The number must be positive. The actual number of partitions
      * returned may be fewer.
      * For example, this may be set to one fewer than the number of parallel
      * queries to be run, or in running a data pipeline job, one fewer than the
diff --git a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryRequestOrBuilder.java b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryRequestOrBuilder.java
index ea95a0f81..6c1d66da0 100644
--- a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryRequestOrBuilder.java
+++ b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryRequestOrBuilder.java
@@ -59,8 +59,9 @@ public interface PartitionQueryRequestOrBuilder
    *
    * 
    * A structured query.
-   * Filters, order bys, limits, offsets, and start/end cursors are not
-   * supported.
+   * Query must specify collection with all descendants and be ordered by name
+   * ascending. Other filters, order bys, limits, offsets, and start/end
+   * cursors are not supported.
    * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -73,8 +74,9 @@ public interface PartitionQueryRequestOrBuilder * *
    * A structured query.
-   * Filters, order bys, limits, offsets, and start/end cursors are not
-   * supported.
+   * Query must specify collection with all descendants and be ordered by name
+   * ascending. Other filters, order bys, limits, offsets, and start/end
+   * cursors are not supported.
    * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -87,8 +89,9 @@ public interface PartitionQueryRequestOrBuilder * *
    * A structured query.
-   * Filters, order bys, limits, offsets, and start/end cursors are not
-   * supported.
+   * Query must specify collection with all descendants and be ordered by name
+   * ascending. Other filters, order bys, limits, offsets, and start/end
+   * cursors are not supported.
    * 
* * .google.firestore.v1.StructuredQuery structured_query = 2; @@ -101,7 +104,7 @@ public interface PartitionQueryRequestOrBuilder *
    * The desired maximum number of partition points.
    * The partitions may be returned across multiple pages of results.
-   * The number must be strictly positive. The actual number of partitions
+   * The number must be positive. The actual number of partitions
    * returned may be fewer.
    * For example, this may be set to one fewer than the number of parallel
    * queries to be run, or in running a data pipeline job, one fewer than the
diff --git a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryResponse.java b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryResponse.java
index 04766aff5..181e0652f 100644
--- a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryResponse.java
+++ b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryResponse.java
@@ -144,6 +144,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
    *  * query, end_at A
    *  * query, start_at A, end_at B
    *  * query, start_at B
+   * An empty result may indicate that the query has too few results to be
+   * partitioned.
    * 
* * repeated .google.firestore.v1.Cursor partitions = 1; @@ -168,6 +170,8 @@ public java.util.List getPartitionsList() { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. *
* * repeated .google.firestore.v1.Cursor partitions = 1; @@ -193,6 +197,8 @@ public java.util.List getPartitionsList() { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. *
* * repeated .google.firestore.v1.Cursor partitions = 1; @@ -217,6 +223,8 @@ public int getPartitionsCount() { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. *
* * repeated .google.firestore.v1.Cursor partitions = 1; @@ -241,6 +249,8 @@ public com.google.firestore.v1.Cursor getPartitions(int index) { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. *
* * repeated .google.firestore.v1.Cursor partitions = 1; @@ -709,6 +719,8 @@ private void ensurePartitionsIsMutable() { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -736,6 +748,8 @@ public java.util.List getPartitionsList() { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -763,6 +777,8 @@ public int getPartitionsCount() { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -790,6 +806,8 @@ public com.google.firestore.v1.Cursor getPartitions(int index) { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -823,6 +841,8 @@ public Builder setPartitions(int index, com.google.firestore.v1.Cursor value) { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -854,6 +874,8 @@ public Builder setPartitions( * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -887,6 +909,8 @@ public Builder addPartitions(com.google.firestore.v1.Cursor value) { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -920,6 +944,8 @@ public Builder addPartitions(int index, com.google.firestore.v1.Cursor value) { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -950,6 +976,8 @@ public Builder addPartitions(com.google.firestore.v1.Cursor.Builder builderForVa * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -981,6 +1009,8 @@ public Builder addPartitions( * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -1012,6 +1042,8 @@ public Builder addAllPartitions( * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -1042,6 +1074,8 @@ public Builder clearPartitions() { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -1072,6 +1106,8 @@ public Builder removePartitions(int index) { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -1095,6 +1131,8 @@ public com.google.firestore.v1.Cursor.Builder getPartitionsBuilder(int index) { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -1122,6 +1160,8 @@ public com.google.firestore.v1.CursorOrBuilder getPartitionsOrBuilder(int index) * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -1150,6 +1190,8 @@ public com.google.firestore.v1.CursorOrBuilder getPartitionsOrBuilder(int index) * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -1174,6 +1216,8 @@ public com.google.firestore.v1.Cursor.Builder addPartitionsBuilder() { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -1198,6 +1242,8 @@ public com.google.firestore.v1.Cursor.Builder addPartitionsBuilder(int index) { * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; diff --git a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryResponseOrBuilder.java b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryResponseOrBuilder.java index c6ab160b7..926847d2a 100644 --- a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryResponseOrBuilder.java +++ b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/PartitionQueryResponseOrBuilder.java @@ -39,6 +39,8 @@ public interface PartitionQueryResponseOrBuilder * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -60,6 +62,8 @@ public interface PartitionQueryResponseOrBuilder * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -81,6 +85,8 @@ public interface PartitionQueryResponseOrBuilder * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -102,6 +108,8 @@ public interface PartitionQueryResponseOrBuilder * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; @@ -123,6 +131,8 @@ public interface PartitionQueryResponseOrBuilder * * query, end_at A * * query, start_at A, end_at B * * query, start_at B + * An empty result may indicate that the query has too few results to be + * partitioned. * * * repeated .google.firestore.v1.Cursor partitions = 1; diff --git a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/QueryProto.java b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/QueryProto.java index cd49e1654..af5607033 100644 --- a/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/QueryProto.java +++ b/proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/QueryProto.java @@ -51,6 +51,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_firestore_v1_StructuredQuery_UnaryFilter_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_firestore_v1_StructuredQuery_UnaryFilter_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_firestore_v1_StructuredQuery_Order_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_firestore_v1_StructuredQuery_Order_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_google_firestore_v1_StructuredQuery_FieldReference_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable @@ -59,10 +63,6 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_firestore_v1_StructuredQuery_Projection_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_firestore_v1_StructuredQuery_Projection_fieldAccessorTable; - static final com.google.protobuf.Descriptors.Descriptor - internal_static_google_firestore_v1_StructuredQuery_Order_descriptor; - static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable - internal_static_google_firestore_v1_StructuredQuery_Order_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_google_firestore_v1_Cursor_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable @@ -79,7 +79,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "\n\037google/firestore/v1/query.proto\022\023googl" + "e.firestore.v1\032\"google/firestore/v1/docu" + "ment.proto\032\036google/protobuf/wrappers.pro" - + "to\032\034google/api/annotations.proto\"\372\016\n\017Str" + + "to\032\034google/api/annotations.proto\"\266\017\n\017Str" + "ucturedQuery\022?\n\006select\030\001 \001(\0132/.google.fi" + "restore.v1.StructuredQuery.Projection\022E\n" + "\004from\030\002 \003(\01327.google.firestore.v1.Struct" @@ -103,38 +103,40 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "v1.StructuredQuery.CompositeFilter.Opera" + "tor\022<\n\007filters\030\002 \003(\0132+.google.firestore." + "v1.StructuredQuery.Filter\"-\n\010Operator\022\030\n" - + "\024OPERATOR_UNSPECIFIED\020\000\022\007\n\003AND\020\001\032\375\002\n\013Fie" + + "\024OPERATOR_UNSPECIFIED\020\000\022\007\n\003AND\020\001\032\230\003\n\013Fie" + "ldFilter\022B\n\005field\030\001 \001(\01323.google.firesto" + "re.v1.StructuredQuery.FieldReference\022E\n\002" + "op\030\002 \001(\01629.google.firestore.v1.Structure" + "dQuery.FieldFilter.Operator\022)\n\005value\030\003 \001" - + "(\0132\032.google.firestore.v1.Value\"\267\001\n\010Opera" + + "(\0132\032.google.firestore.v1.Value\"\322\001\n\010Opera" + "tor\022\030\n\024OPERATOR_UNSPECIFIED\020\000\022\r\n\tLESS_TH" + "AN\020\001\022\026\n\022LESS_THAN_OR_EQUAL\020\002\022\020\n\014GREATER_" + "THAN\020\003\022\031\n\025GREATER_THAN_OR_EQUAL\020\004\022\t\n\005EQU" - + "AL\020\005\022\022\n\016ARRAY_CONTAINS\020\007\022\006\n\002IN\020\010\022\026\n\022ARRA" - + "Y_CONTAINS_ANY\020\t\032\351\001\n\013UnaryFilter\022E\n\002op\030\001" - + " \001(\01629.google.firestore.v1.StructuredQue" - + "ry.UnaryFilter.Operator\022D\n\005field\030\002 \001(\01323" - + ".google.firestore.v1.StructuredQuery.Fie" - + "ldReferenceH\000\"=\n\010Operator\022\030\n\024OPERATOR_UN" - + "SPECIFIED\020\000\022\n\n\006IS_NAN\020\002\022\013\n\007IS_NULL\020\003B\016\n\014" - + "operand_type\032$\n\016FieldReference\022\022\n\nfield_" - + "path\030\002 \001(\t\032Q\n\nProjection\022C\n\006fields\030\002 \003(\013" - + "23.google.firestore.v1.StructuredQuery.F" - + "ieldReference\032\216\001\n\005Order\022B\n\005field\030\001 \001(\01323" - + ".google.firestore.v1.StructuredQuery.Fie" - + "ldReference\022A\n\tdirection\030\002 \001(\0162..google." - + "firestore.v1.StructuredQuery.Direction\"E" - + "\n\tDirection\022\031\n\025DIRECTION_UNSPECIFIED\020\000\022\r" - + "\n\tASCENDING\020\001\022\016\n\nDESCENDING\020\002\"D\n\006Cursor\022" - + "*\n\006values\030\001 \003(\0132\032.google.firestore.v1.Va" - + "lue\022\016\n\006before\030\002 \001(\010B\303\001\n\027com.google.fires" - + "tore.v1B\nQueryProtoP\001ZEQUAL = 5; */ EQUAL(5), + /** + * + * + *
+       * The given `field` is not equal to the given `value`.
+       * Requires:
+       * * No other `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`.
+       * * That `field` comes first in the `order_by`.
+       * 
+ * + * NOT_EQUAL = 6; + */ + NOT_EQUAL(6), /** * * @@ -4389,7 +4402,7 @@ 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`, `ARRAY_CONTAINS_ANY`, or `NOT_IN`. + * * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`. * * * IN = 8; @@ -4403,12 +4416,27 @@ public enum Operator implements com.google.protobuf.ProtocolMessageEnum { * given array. * Requires: * * That `value` is a non-empty `ArrayValue` with at most 10 values. - * * No other `IN`, `ARRAY_CONTAINS_ANY`, or `NOT_IN`. + * * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`. * * * ARRAY_CONTAINS_ANY = 9; */ ARRAY_CONTAINS_ANY(9), + /** + * + * + *
+       * 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`,
+       *   `IS_NOT_NULL`, or `IS_NOT_NAN`.
+       * * That `field` comes first in the `order_by`.
+       * 
+ * + * NOT_IN = 10; + */ + NOT_IN(10), UNRECOGNIZED(-1), ; @@ -4480,6 +4508,19 @@ public enum Operator implements com.google.protobuf.ProtocolMessageEnum { * EQUAL = 5; */ public static final int EQUAL_VALUE = 5; + /** + * + * + *
+       * The given `field` is not equal to the given `value`.
+       * Requires:
+       * * No other `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`.
+       * * That `field` comes first in the `order_by`.
+       * 
+ * + * NOT_EQUAL = 6; + */ + public static final int NOT_EQUAL_VALUE = 6; /** * * @@ -4497,7 +4538,7 @@ 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`, `ARRAY_CONTAINS_ANY`, or `NOT_IN`. + * * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`. * * * IN = 8; @@ -4511,12 +4552,27 @@ public enum Operator implements com.google.protobuf.ProtocolMessageEnum { * given array. * Requires: * * That `value` is a non-empty `ArrayValue` with at most 10 values. - * * No other `IN`, `ARRAY_CONTAINS_ANY`, or `NOT_IN`. + * * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`. * * * ARRAY_CONTAINS_ANY = 9; */ public static final int ARRAY_CONTAINS_ANY_VALUE = 9; + /** + * + * + *
+       * 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`,
+       *   `IS_NOT_NULL`, or `IS_NOT_NAN`.
+       * * That `field` comes first in the `order_by`.
+       * 
+ * + * NOT_IN = 10; + */ + public static final int NOT_IN_VALUE = 10; public final int getNumber() { if (this == UNRECOGNIZED) { @@ -4554,12 +4610,16 @@ public static Operator forNumber(int value) { return GREATER_THAN_OR_EQUAL; case 5: return EQUAL; + case 6: + return NOT_EQUAL; case 7: return ARRAY_CONTAINS; case 8: return IN; case 9: return ARRAY_CONTAINS_ANY; + case 10: + return NOT_IN; default: return null; } @@ -5859,6 +5919,32 @@ public enum Operator implements com.google.protobuf.ProtocolMessageEnum { * IS_NULL = 3; */ IS_NULL(3), + /** + * + * + *
+       * The given `field` is not equal to `NaN`.
+       * Requires:
+       * * No other `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`.
+       * * That `field` comes first in the `order_by`.
+       * 
+ * + * IS_NOT_NAN = 4; + */ + IS_NOT_NAN(4), + /** + * + * + *
+       * The given `field` is not equal to `NULL`.
+       * Requires:
+       * * A single `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`.
+       * * That `field` comes first in the `order_by`.
+       * 
+ * + * IS_NOT_NULL = 5; + */ + IS_NOT_NULL(5), UNRECOGNIZED(-1), ; @@ -5892,6 +5978,32 @@ public enum Operator implements com.google.protobuf.ProtocolMessageEnum { * IS_NULL = 3; */ public static final int IS_NULL_VALUE = 3; + /** + * + * + *
+       * The given `field` is not equal to `NaN`.
+       * Requires:
+       * * No other `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`.
+       * * That `field` comes first in the `order_by`.
+       * 
+ * + * IS_NOT_NAN = 4; + */ + public static final int IS_NOT_NAN_VALUE = 4; + /** + * + * + *
+       * The given `field` is not equal to `NULL`.
+       * Requires:
+       * * A single `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`.
+       * * That `field` comes first in the `order_by`.
+       * 
+ * + * IS_NOT_NULL = 5; + */ + public static final int IS_NOT_NULL_VALUE = 5; public final int getNumber() { if (this == UNRECOGNIZED) { @@ -5923,6 +6035,10 @@ public static Operator forNumber(int value) { return IS_NAN; case 3: return IS_NULL; + case 4: + return IS_NOT_NAN; + case 5: + return IS_NOT_NULL; default: return null; } @@ -6853,51 +6969,98 @@ public com.google.firestore.v1.StructuredQuery.UnaryFilter getDefaultInstanceFor } } - public interface FieldReferenceOrBuilder + public interface OrderOrBuilder extends - // @@protoc_insertion_point(interface_extends:google.firestore.v1.StructuredQuery.FieldReference) + // @@protoc_insertion_point(interface_extends:google.firestore.v1.StructuredQuery.Order) com.google.protobuf.MessageOrBuilder { /** - * string field_path = 2; * - * @return The fieldPath. + * + *
+     * The field to order by.
+     * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * + * @return Whether the field field is set. */ - java.lang.String getFieldPath(); + boolean hasField(); /** - * string field_path = 2; * - * @return The bytes for fieldPath. + * + *
+     * The field to order by.
+     * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * + * @return The field. */ - com.google.protobuf.ByteString getFieldPathBytes(); + com.google.firestore.v1.StructuredQuery.FieldReference getField(); + /** + * + * + *
+     * The field to order by.
+     * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + */ + com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldOrBuilder(); + + /** + * + * + *
+     * The direction to order by. Defaults to `ASCENDING`.
+     * 
+ * + * .google.firestore.v1.StructuredQuery.Direction direction = 2; + * + * @return The enum numeric value on the wire for direction. + */ + int getDirectionValue(); + /** + * + * + *
+     * The direction to order by. Defaults to `ASCENDING`.
+     * 
+ * + * .google.firestore.v1.StructuredQuery.Direction direction = 2; + * + * @return The direction. + */ + com.google.firestore.v1.StructuredQuery.Direction getDirection(); } /** * * *
-   * A reference to a field, such as `max(messages.time) as max_time`.
+   * An order on a field.
    * 
* - * Protobuf type {@code google.firestore.v1.StructuredQuery.FieldReference} + * Protobuf type {@code google.firestore.v1.StructuredQuery.Order} */ - public static final class FieldReference extends com.google.protobuf.GeneratedMessageV3 + public static final class Order extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:google.firestore.v1.StructuredQuery.FieldReference) - FieldReferenceOrBuilder { + // @@protoc_insertion_point(message_implements:google.firestore.v1.StructuredQuery.Order) + OrderOrBuilder { private static final long serialVersionUID = 0L; - // Use FieldReference.newBuilder() to construct. - private FieldReference(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Order.newBuilder() to construct. + private Order(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private FieldReference() { - fieldPath_ = ""; + private Order() { + direction_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance(UnusedPrivateParameter unused) { - return new FieldReference(); + return new Order(); } @java.lang.Override @@ -6905,7 +7068,7 @@ public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } - private FieldReference( + private Order( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -6923,11 +7086,28 @@ private FieldReference( case 0: done = true; break; - case 18: + case 10: { - java.lang.String s = input.readStringRequireUtf8(); + com.google.firestore.v1.StructuredQuery.FieldReference.Builder subBuilder = null; + if (field_ != null) { + subBuilder = field_.toBuilder(); + } + field_ = + input.readMessage( + com.google.firestore.v1.StructuredQuery.FieldReference.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(field_); + field_ = subBuilder.buildPartial(); + } - fieldPath_ = s; + break; + } + case 16: + { + int rawValue = input.readEnum(); + + direction_ = rawValue; break; } default: @@ -6951,72 +7131,125 @@ private FieldReference( public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_FieldReference_descriptor; + .internal_static_google_firestore_v1_StructuredQuery_Order_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_FieldReference_fieldAccessorTable + .internal_static_google_firestore_v1_StructuredQuery_Order_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.google.firestore.v1.StructuredQuery.FieldReference.class, - com.google.firestore.v1.StructuredQuery.FieldReference.Builder.class); + com.google.firestore.v1.StructuredQuery.Order.class, + com.google.firestore.v1.StructuredQuery.Order.Builder.class); } - public static final int FIELD_PATH_FIELD_NUMBER = 2; - private volatile java.lang.Object fieldPath_; + public static final int FIELD_FIELD_NUMBER = 1; + private com.google.firestore.v1.StructuredQuery.FieldReference field_; /** - * string field_path = 2; * - * @return The fieldPath. + * + *
+     * The field to order by.
+     * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * + * @return Whether the field field is set. */ @java.lang.Override - public java.lang.String getFieldPath() { - java.lang.Object ref = fieldPath_; - if (ref instanceof java.lang.String) { - return (java.lang.String) ref; - } else { - com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - fieldPath_ = s; - return s; - } + public boolean hasField() { + return field_ != null; } /** - * string field_path = 2; * - * @return The bytes for fieldPath. + * + *
+     * The field to order by.
+     * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * + * @return The field. */ @java.lang.Override - public com.google.protobuf.ByteString getFieldPathBytes() { - java.lang.Object ref = fieldPath_; - if (ref instanceof java.lang.String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); - fieldPath_ = b; - return b; - } else { - return (com.google.protobuf.ByteString) ref; - } + public com.google.firestore.v1.StructuredQuery.FieldReference getField() { + return field_ == null + ? com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance() + : field_; } - - private byte memoizedIsInitialized = -1; - + /** + * + * + *
+     * The field to order by.
+     * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + */ @java.lang.Override - public final boolean isInitialized() { - byte isInitialized = memoizedIsInitialized; - if (isInitialized == 1) return true; - if (isInitialized == 0) return false; - - memoizedIsInitialized = 1; - return true; + public com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldOrBuilder() { + return getField(); + } + + public static final int DIRECTION_FIELD_NUMBER = 2; + private int direction_; + /** + * + * + *
+     * The direction to order by. Defaults to `ASCENDING`.
+     * 
+ * + * .google.firestore.v1.StructuredQuery.Direction direction = 2; + * + * @return The enum numeric value on the wire for direction. + */ + @java.lang.Override + public int getDirectionValue() { + return direction_; + } + /** + * + * + *
+     * The direction to order by. Defaults to `ASCENDING`.
+     * 
+ * + * .google.firestore.v1.StructuredQuery.Direction direction = 2; + * + * @return The direction. + */ + @java.lang.Override + public com.google.firestore.v1.StructuredQuery.Direction getDirection() { + @SuppressWarnings("deprecation") + com.google.firestore.v1.StructuredQuery.Direction result = + com.google.firestore.v1.StructuredQuery.Direction.valueOf(direction_); + return result == null + ? com.google.firestore.v1.StructuredQuery.Direction.UNRECOGNIZED + : result; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!getFieldPathBytes().isEmpty()) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 2, fieldPath_); + if (field_ != null) { + output.writeMessage(1, getField()); + } + if (direction_ + != com.google.firestore.v1.StructuredQuery.Direction.DIRECTION_UNSPECIFIED.getNumber()) { + output.writeEnum(2, direction_); } unknownFields.writeTo(output); } @@ -7027,8 +7260,12 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (!getFieldPathBytes().isEmpty()) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, fieldPath_); + if (field_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getField()); + } + if (direction_ + != com.google.firestore.v1.StructuredQuery.Direction.DIRECTION_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, direction_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -7040,13 +7277,17 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof com.google.firestore.v1.StructuredQuery.FieldReference)) { + if (!(obj instanceof com.google.firestore.v1.StructuredQuery.Order)) { return super.equals(obj); } - com.google.firestore.v1.StructuredQuery.FieldReference other = - (com.google.firestore.v1.StructuredQuery.FieldReference) obj; + com.google.firestore.v1.StructuredQuery.Order other = + (com.google.firestore.v1.StructuredQuery.Order) obj; - if (!getFieldPath().equals(other.getFieldPath())) return false; + if (hasField() != other.hasField()) return false; + if (hasField()) { + if (!getField().equals(other.getField())) return false; + } + if (direction_ != other.direction_) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -7058,78 +7299,82 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (37 * hash) + FIELD_PATH_FIELD_NUMBER; - hash = (53 * hash) + getFieldPath().hashCode(); + if (hasField()) { + hash = (37 * hash) + FIELD_FIELD_NUMBER; + hash = (53 * hash) + getField().hashCode(); + } + hash = (37 * hash) + DIRECTION_FIELD_NUMBER; + hash = (53 * hash) + direction_; hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( - java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + public static com.google.firestore.v1.StructuredQuery.Order parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( + public static com.google.firestore.v1.StructuredQuery.Order parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( + public static com.google.firestore.v1.StructuredQuery.Order parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( + public static com.google.firestore.v1.StructuredQuery.Order parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom(byte[] data) + public static com.google.firestore.v1.StructuredQuery.Order parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( + public static com.google.firestore.v1.StructuredQuery.Order parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( - java.io.InputStream input) throws java.io.IOException { + public static com.google.firestore.v1.StructuredQuery.Order parseFrom(java.io.InputStream input) + throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( + public static com.google.firestore.v1.StructuredQuery.Order parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseDelimitedFrom( + public static com.google.firestore.v1.StructuredQuery.Order parseDelimitedFrom( java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseDelimitedFrom( + public static com.google.firestore.v1.StructuredQuery.Order parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( PARSER, input, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( + public static com.google.firestore.v1.StructuredQuery.Order parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } - public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( + public static com.google.firestore.v1.StructuredQuery.Order parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -7146,8 +7391,7 @@ public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder( - com.google.firestore.v1.StructuredQuery.FieldReference prototype) { + public static Builder newBuilder(com.google.firestore.v1.StructuredQuery.Order prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @@ -7166,32 +7410,32 @@ protected Builder newBuilderForType( * * *
-     * A reference to a field, such as `max(messages.time) as max_time`.
+     * An order on a field.
      * 
* - * Protobuf type {@code google.firestore.v1.StructuredQuery.FieldReference} + * Protobuf type {@code google.firestore.v1.StructuredQuery.Order} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:google.firestore.v1.StructuredQuery.FieldReference) - com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder { + // @@protoc_insertion_point(builder_implements:google.firestore.v1.StructuredQuery.Order) + com.google.firestore.v1.StructuredQuery.OrderOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_FieldReference_descriptor; + .internal_static_google_firestore_v1_StructuredQuery_Order_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_FieldReference_fieldAccessorTable + .internal_static_google_firestore_v1_StructuredQuery_Order_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.google.firestore.v1.StructuredQuery.FieldReference.class, - com.google.firestore.v1.StructuredQuery.FieldReference.Builder.class); + com.google.firestore.v1.StructuredQuery.Order.class, + com.google.firestore.v1.StructuredQuery.Order.Builder.class); } - // Construct using com.google.firestore.v1.StructuredQuery.FieldReference.newBuilder() + // Construct using com.google.firestore.v1.StructuredQuery.Order.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -7208,7 +7452,13 @@ private void maybeForceBuilderInitialization() { @java.lang.Override public Builder clear() { super.clear(); - fieldPath_ = ""; + if (fieldBuilder_ == null) { + field_ = null; + } else { + field_ = null; + fieldBuilder_ = null; + } + direction_ = 0; return this; } @@ -7216,17 +7466,17 @@ public Builder clear() { @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_FieldReference_descriptor; + .internal_static_google_firestore_v1_StructuredQuery_Order_descriptor; } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.FieldReference getDefaultInstanceForType() { - return com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance(); + public com.google.firestore.v1.StructuredQuery.Order getDefaultInstanceForType() { + return com.google.firestore.v1.StructuredQuery.Order.getDefaultInstance(); } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.FieldReference build() { - com.google.firestore.v1.StructuredQuery.FieldReference result = buildPartial(); + public com.google.firestore.v1.StructuredQuery.Order build() { + com.google.firestore.v1.StructuredQuery.Order result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -7234,10 +7484,15 @@ public com.google.firestore.v1.StructuredQuery.FieldReference build() { } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.FieldReference buildPartial() { - com.google.firestore.v1.StructuredQuery.FieldReference result = - new com.google.firestore.v1.StructuredQuery.FieldReference(this); - result.fieldPath_ = fieldPath_; + public com.google.firestore.v1.StructuredQuery.Order buildPartial() { + com.google.firestore.v1.StructuredQuery.Order result = + new com.google.firestore.v1.StructuredQuery.Order(this); + if (fieldBuilder_ == null) { + result.field_ = field_; + } else { + result.field_ = fieldBuilder_.build(); + } + result.direction_ = direction_; onBuilt(); return result; } @@ -7279,20 +7534,22 @@ public Builder addRepeatedField( @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.google.firestore.v1.StructuredQuery.FieldReference) { - return mergeFrom((com.google.firestore.v1.StructuredQuery.FieldReference) other); + if (other instanceof com.google.firestore.v1.StructuredQuery.Order) { + return mergeFrom((com.google.firestore.v1.StructuredQuery.Order) other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(com.google.firestore.v1.StructuredQuery.FieldReference other) { - if (other == com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance()) + public Builder mergeFrom(com.google.firestore.v1.StructuredQuery.Order other) { + if (other == com.google.firestore.v1.StructuredQuery.Order.getDefaultInstance()) return this; - if (!other.getFieldPath().isEmpty()) { - fieldPath_ = other.fieldPath_; - onChanged(); + if (other.hasField()) { + mergeField(other.getField()); + } + if (other.direction_ != 0) { + setDirectionValue(other.getDirectionValue()); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -7309,12 +7566,11 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - com.google.firestore.v1.StructuredQuery.FieldReference parsedMessage = null; + com.google.firestore.v1.StructuredQuery.Order parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = - (com.google.firestore.v1.StructuredQuery.FieldReference) e.getUnfinishedMessage(); + parsedMessage = (com.google.firestore.v1.StructuredQuery.Order) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -7324,78 +7580,281 @@ public Builder mergeFrom( return this; } - private java.lang.Object fieldPath_ = ""; + private com.google.firestore.v1.StructuredQuery.FieldReference field_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.firestore.v1.StructuredQuery.FieldReference, + com.google.firestore.v1.StructuredQuery.FieldReference.Builder, + com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder> + fieldBuilder_; /** - * string field_path = 2; * - * @return The fieldPath. + * + *
+       * The field to order by.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * + * @return Whether the field field is set. */ - public java.lang.String getFieldPath() { - java.lang.Object ref = fieldPath_; - if (!(ref instanceof java.lang.String)) { - com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; - java.lang.String s = bs.toStringUtf8(); - fieldPath_ = s; - return s; - } else { - return (java.lang.String) ref; - } + public boolean hasField() { + return fieldBuilder_ != null || field_ != null; } /** - * string field_path = 2; * - * @return The bytes for fieldPath. + * + *
+       * The field to order by.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * + * @return The field. */ - public com.google.protobuf.ByteString getFieldPathBytes() { - java.lang.Object ref = fieldPath_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = - com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); - fieldPath_ = b; - return b; + public com.google.firestore.v1.StructuredQuery.FieldReference getField() { + if (fieldBuilder_ == null) { + return field_ == null + ? com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance() + : field_; } else { - return (com.google.protobuf.ByteString) ref; + return fieldBuilder_.getMessage(); } } /** - * string field_path = 2; * - * @param value The fieldPath to set. - * @return This builder for chaining. - */ - public Builder setFieldPath(java.lang.String value) { - if (value == null) { - throw new NullPointerException(); - } - - fieldPath_ = value; - onChanged(); - return this; - } - /** - * string field_path = 2; * - * @return This builder for chaining. + *
+       * The field to order by.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; */ - public Builder clearFieldPath() { + public Builder setField(com.google.firestore.v1.StructuredQuery.FieldReference value) { + if (fieldBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + field_ = value; + onChanged(); + } else { + fieldBuilder_.setMessage(value); + } - fieldPath_ = getDefaultInstance().getFieldPath(); + return this; + } + /** + * + * + *
+       * The field to order by.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + */ + public Builder setField( + com.google.firestore.v1.StructuredQuery.FieldReference.Builder builderForValue) { + if (fieldBuilder_ == null) { + field_ = builderForValue.build(); + onChanged(); + } else { + fieldBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+       * The field to order by.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + */ + public Builder mergeField(com.google.firestore.v1.StructuredQuery.FieldReference value) { + if (fieldBuilder_ == null) { + if (field_ != null) { + field_ = + com.google.firestore.v1.StructuredQuery.FieldReference.newBuilder(field_) + .mergeFrom(value) + .buildPartial(); + } else { + field_ = value; + } + onChanged(); + } else { + fieldBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+       * The field to order by.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + */ + public Builder clearField() { + if (fieldBuilder_ == null) { + field_ = null; + onChanged(); + } else { + field_ = null; + fieldBuilder_ = null; + } + + return this; + } + /** + * + * + *
+       * The field to order by.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + */ + public com.google.firestore.v1.StructuredQuery.FieldReference.Builder getFieldBuilder() { + + onChanged(); + return getFieldFieldBuilder().getBuilder(); + } + /** + * + * + *
+       * The field to order by.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + */ + public com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldOrBuilder() { + if (fieldBuilder_ != null) { + return fieldBuilder_.getMessageOrBuilder(); + } else { + return field_ == null + ? com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance() + : field_; + } + } + /** + * + * + *
+       * The field to order by.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.firestore.v1.StructuredQuery.FieldReference, + com.google.firestore.v1.StructuredQuery.FieldReference.Builder, + com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder> + getFieldFieldBuilder() { + if (fieldBuilder_ == null) { + fieldBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.firestore.v1.StructuredQuery.FieldReference, + com.google.firestore.v1.StructuredQuery.FieldReference.Builder, + com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder>( + getField(), getParentForChildren(), isClean()); + field_ = null; + } + return fieldBuilder_; + } + + private int direction_ = 0; + /** + * + * + *
+       * The direction to order by. Defaults to `ASCENDING`.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.Direction direction = 2; + * + * @return The enum numeric value on the wire for direction. + */ + @java.lang.Override + public int getDirectionValue() { + return direction_; + } + /** + * + * + *
+       * The direction to order by. Defaults to `ASCENDING`.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.Direction direction = 2; + * + * @param value The enum numeric value on the wire for direction to set. + * @return This builder for chaining. + */ + public Builder setDirectionValue(int value) { + + direction_ = value; onChanged(); return this; } /** - * string field_path = 2; * - * @param value The bytes for fieldPath to set. + * + *
+       * The direction to order by. Defaults to `ASCENDING`.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.Direction direction = 2; + * + * @return The direction. + */ + @java.lang.Override + public com.google.firestore.v1.StructuredQuery.Direction getDirection() { + @SuppressWarnings("deprecation") + com.google.firestore.v1.StructuredQuery.Direction result = + com.google.firestore.v1.StructuredQuery.Direction.valueOf(direction_); + return result == null + ? com.google.firestore.v1.StructuredQuery.Direction.UNRECOGNIZED + : result; + } + /** + * + * + *
+       * The direction to order by. Defaults to `ASCENDING`.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.Direction direction = 2; + * + * @param value The direction to set. * @return This builder for chaining. */ - public Builder setFieldPathBytes(com.google.protobuf.ByteString value) { + public Builder setDirection(com.google.firestore.v1.StructuredQuery.Direction value) { if (value == null) { throw new NullPointerException(); } - checkByteStringIsUtf8(value); - fieldPath_ = value; + direction_ = value.getNumber(); + onChanged(); + return this; + } + /** + * + * + *
+       * The direction to order by. Defaults to `ASCENDING`.
+       * 
+ * + * .google.firestore.v1.StructuredQuery.Direction direction = 2; + * + * @return This builder for chaining. + */ + public Builder clearDirection() { + + direction_ = 0; onChanged(); return this; } @@ -7412,140 +7871,91 @@ public final Builder mergeUnknownFields( return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:google.firestore.v1.StructuredQuery.FieldReference) + // @@protoc_insertion_point(builder_scope:google.firestore.v1.StructuredQuery.Order) } - // @@protoc_insertion_point(class_scope:google.firestore.v1.StructuredQuery.FieldReference) - private static final com.google.firestore.v1.StructuredQuery.FieldReference DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:google.firestore.v1.StructuredQuery.Order) + private static final com.google.firestore.v1.StructuredQuery.Order DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new com.google.firestore.v1.StructuredQuery.FieldReference(); + DEFAULT_INSTANCE = new com.google.firestore.v1.StructuredQuery.Order(); } - public static com.google.firestore.v1.StructuredQuery.FieldReference getDefaultInstance() { + public static com.google.firestore.v1.StructuredQuery.Order getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { @java.lang.Override - public FieldReference parsePartialFrom( + public Order parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new FieldReference(input, extensionRegistry); + return new Order(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.FieldReference getDefaultInstanceForType() { + public com.google.firestore.v1.StructuredQuery.Order getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface ProjectionOrBuilder + public interface FieldReferenceOrBuilder extends - // @@protoc_insertion_point(interface_extends:google.firestore.v1.StructuredQuery.Projection) + // @@protoc_insertion_point(interface_extends:google.firestore.v1.StructuredQuery.FieldReference) com.google.protobuf.MessageOrBuilder { /** + * string field_path = 2; * - * - *
-     * The fields to return.
-     * If empty, all fields are returned. To only return the name
-     * of the document, use `['__name__']`.
-     * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - java.util.List getFieldsList(); - /** - * - * - *
-     * The fields to return.
-     * If empty, all fields are returned. To only return the name
-     * of the document, use `['__name__']`.
-     * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - com.google.firestore.v1.StructuredQuery.FieldReference getFields(int index); - /** - * - * - *
-     * The fields to return.
-     * If empty, all fields are returned. To only return the name
-     * of the document, use `['__name__']`.
-     * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - int getFieldsCount(); - /** - * - * - *
-     * The fields to return.
-     * If empty, all fields are returned. To only return the name
-     * of the document, use `['__name__']`.
-     * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + * @return The fieldPath. */ - java.util.List - getFieldsOrBuilderList(); + java.lang.String getFieldPath(); /** + * string field_path = 2; * - * - *
-     * The fields to return.
-     * If empty, all fields are returned. To only return the name
-     * of the document, use `['__name__']`.
-     * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + * @return The bytes for fieldPath. */ - com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldsOrBuilder(int index); + com.google.protobuf.ByteString getFieldPathBytes(); } /** * * *
-   * The projection of document's fields to return.
+   * A reference to a field, such as `max(messages.time) as max_time`.
    * 
* - * Protobuf type {@code google.firestore.v1.StructuredQuery.Projection} + * Protobuf type {@code google.firestore.v1.StructuredQuery.FieldReference} */ - public static final class Projection extends com.google.protobuf.GeneratedMessageV3 + public static final class FieldReference extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:google.firestore.v1.StructuredQuery.Projection) - ProjectionOrBuilder { + // @@protoc_insertion_point(message_implements:google.firestore.v1.StructuredQuery.FieldReference) + FieldReferenceOrBuilder { private static final long serialVersionUID = 0L; - // Use Projection.newBuilder() to construct. - private Projection(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use FieldReference.newBuilder() to construct. + private FieldReference(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private Projection() { - fields_ = java.util.Collections.emptyList(); + private FieldReference() { + fieldPath_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance(UnusedPrivateParameter unused) { - return new Projection(); + return new FieldReference(); } @java.lang.Override @@ -7553,7 +7963,7 @@ public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } - private Projection( + private FieldReference( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -7561,7 +7971,6 @@ private Projection( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } - int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -7574,16 +7983,9 @@ private Projection( break; case 18: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { - fields_ = - new java.util.ArrayList< - com.google.firestore.v1.StructuredQuery.FieldReference>(); - mutable_bitField0_ |= 0x00000001; - } - fields_.add( - input.readMessage( - com.google.firestore.v1.StructuredQuery.FieldReference.parser(), - extensionRegistry)); + java.lang.String s = input.readStringRequireUtf8(); + + fieldPath_ = s; break; } default: @@ -7600,9 +8002,6 @@ private Projection( } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000001) != 0)) { - fields_ = java.util.Collections.unmodifiableList(fields_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -7610,97 +8009,54 @@ private Projection( public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_Projection_descriptor; + .internal_static_google_firestore_v1_StructuredQuery_FieldReference_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_Projection_fieldAccessorTable + .internal_static_google_firestore_v1_StructuredQuery_FieldReference_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.google.firestore.v1.StructuredQuery.Projection.class, - com.google.firestore.v1.StructuredQuery.Projection.Builder.class); + com.google.firestore.v1.StructuredQuery.FieldReference.class, + com.google.firestore.v1.StructuredQuery.FieldReference.Builder.class); } - public static final int FIELDS_FIELD_NUMBER = 2; - private java.util.List fields_; - /** - * - * - *
-     * The fields to return.
-     * If empty, all fields are returned. To only return the name
-     * of the document, use `['__name__']`.
-     * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - @java.lang.Override - public java.util.List getFieldsList() { - return fields_; - } - /** - * - * - *
-     * The fields to return.
-     * If empty, all fields are returned. To only return the name
-     * of the document, use `['__name__']`.
-     * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - @java.lang.Override - public java.util.List - getFieldsOrBuilderList() { - return fields_; - } - /** - * - * - *
-     * The fields to return.
-     * If empty, all fields are returned. To only return the name
-     * of the document, use `['__name__']`.
-     * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - @java.lang.Override - public int getFieldsCount() { - return fields_.size(); - } + public static final int FIELD_PATH_FIELD_NUMBER = 2; + private volatile java.lang.Object fieldPath_; /** + * string field_path = 2; * - * - *
-     * The fields to return.
-     * If empty, all fields are returned. To only return the name
-     * of the document, use `['__name__']`.
-     * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + * @return The fieldPath. */ @java.lang.Override - public com.google.firestore.v1.StructuredQuery.FieldReference getFields(int index) { - return fields_.get(index); + public java.lang.String getFieldPath() { + java.lang.Object ref = fieldPath_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + fieldPath_ = s; + return s; + } } /** + * string field_path = 2; * - * - *
-     * The fields to return.
-     * If empty, all fields are returned. To only return the name
-     * of the document, use `['__name__']`.
-     * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + * @return The bytes for fieldPath. */ @java.lang.Override - public com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldsOrBuilder( - int index) { - return fields_.get(index); + public com.google.protobuf.ByteString getFieldPathBytes() { + java.lang.Object ref = fieldPath_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + fieldPath_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } } private byte memoizedIsInitialized = -1; @@ -7717,8 +8073,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - for (int i = 0; i < fields_.size(); i++) { - output.writeMessage(2, fields_.get(i)); + if (!getFieldPathBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, fieldPath_); } unknownFields.writeTo(output); } @@ -7729,8 +8085,8 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - for (int i = 0; i < fields_.size(); i++) { - size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, fields_.get(i)); + if (!getFieldPathBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, fieldPath_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -7742,13 +8098,13 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof com.google.firestore.v1.StructuredQuery.Projection)) { + if (!(obj instanceof com.google.firestore.v1.StructuredQuery.FieldReference)) { return super.equals(obj); } - com.google.firestore.v1.StructuredQuery.Projection other = - (com.google.firestore.v1.StructuredQuery.Projection) obj; + com.google.firestore.v1.StructuredQuery.FieldReference other = + (com.google.firestore.v1.StructuredQuery.FieldReference) obj; - if (!getFieldsList().equals(other.getFieldsList())) return false; + if (!getFieldPath().equals(other.getFieldPath())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -7760,80 +8116,78 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (getFieldsCount() > 0) { - hash = (37 * hash) + FIELDS_FIELD_NUMBER; - hash = (53 * hash) + getFieldsList().hashCode(); - } + hash = (37 * hash) + FIELD_PATH_FIELD_NUMBER; + hash = (53 * hash) + getFieldPath().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( + public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( + public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( + public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( + public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.Projection parseFrom(byte[] data) + public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( + public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( + public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } - public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( + public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.Projection parseDelimitedFrom( + public static com.google.firestore.v1.StructuredQuery.FieldReference parseDelimitedFrom( java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); } - public static com.google.firestore.v1.StructuredQuery.Projection parseDelimitedFrom( + public static com.google.firestore.v1.StructuredQuery.FieldReference parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( PARSER, input, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( + public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } - public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( + public static com.google.firestore.v1.StructuredQuery.FieldReference parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -7850,7 +8204,8 @@ public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(com.google.firestore.v1.StructuredQuery.Projection prototype) { + public static Builder newBuilder( + com.google.firestore.v1.StructuredQuery.FieldReference prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @@ -7869,32 +8224,32 @@ protected Builder newBuilderForType( * * *
-     * The projection of document's fields to return.
+     * A reference to a field, such as `max(messages.time) as max_time`.
      * 
* - * Protobuf type {@code google.firestore.v1.StructuredQuery.Projection} + * Protobuf type {@code google.firestore.v1.StructuredQuery.FieldReference} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:google.firestore.v1.StructuredQuery.Projection) - com.google.firestore.v1.StructuredQuery.ProjectionOrBuilder { + // @@protoc_insertion_point(builder_implements:google.firestore.v1.StructuredQuery.FieldReference) + com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_Projection_descriptor; + .internal_static_google_firestore_v1_StructuredQuery_FieldReference_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_Projection_fieldAccessorTable + .internal_static_google_firestore_v1_StructuredQuery_FieldReference_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.google.firestore.v1.StructuredQuery.Projection.class, - com.google.firestore.v1.StructuredQuery.Projection.Builder.class); + com.google.firestore.v1.StructuredQuery.FieldReference.class, + com.google.firestore.v1.StructuredQuery.FieldReference.Builder.class); } - // Construct using com.google.firestore.v1.StructuredQuery.Projection.newBuilder() + // Construct using com.google.firestore.v1.StructuredQuery.FieldReference.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -7905,37 +8260,31 @@ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { } private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { - getFieldsFieldBuilder(); - } + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} } @java.lang.Override public Builder clear() { super.clear(); - if (fieldsBuilder_ == null) { - fields_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - } else { - fieldsBuilder_.clear(); - } + fieldPath_ = ""; + return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_Projection_descriptor; + .internal_static_google_firestore_v1_StructuredQuery_FieldReference_descriptor; } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.Projection getDefaultInstanceForType() { - return com.google.firestore.v1.StructuredQuery.Projection.getDefaultInstance(); + public com.google.firestore.v1.StructuredQuery.FieldReference getDefaultInstanceForType() { + return com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance(); } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.Projection build() { - com.google.firestore.v1.StructuredQuery.Projection result = buildPartial(); + public com.google.firestore.v1.StructuredQuery.FieldReference build() { + com.google.firestore.v1.StructuredQuery.FieldReference result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -7943,19 +8292,10 @@ public com.google.firestore.v1.StructuredQuery.Projection build() { } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.Projection buildPartial() { - com.google.firestore.v1.StructuredQuery.Projection result = - new com.google.firestore.v1.StructuredQuery.Projection(this); - int from_bitField0_ = bitField0_; - if (fieldsBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0)) { - fields_ = java.util.Collections.unmodifiableList(fields_); - bitField0_ = (bitField0_ & ~0x00000001); - } - result.fields_ = fields_; - } else { - result.fields_ = fieldsBuilder_.build(); - } + public com.google.firestore.v1.StructuredQuery.FieldReference buildPartial() { + com.google.firestore.v1.StructuredQuery.FieldReference result = + new com.google.firestore.v1.StructuredQuery.FieldReference(this); + result.fieldPath_ = fieldPath_; onBuilt(); return result; } @@ -7989,482 +8329,133 @@ public Builder setRepeatedField( return super.setRepeatedField(field, index, value); } - @java.lang.Override - public Builder addRepeatedField( - com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { - return super.addRepeatedField(field, value); - } - - @java.lang.Override - public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.google.firestore.v1.StructuredQuery.Projection) { - return mergeFrom((com.google.firestore.v1.StructuredQuery.Projection) other); - } else { - super.mergeFrom(other); - return this; - } - } - - public Builder mergeFrom(com.google.firestore.v1.StructuredQuery.Projection other) { - if (other == com.google.firestore.v1.StructuredQuery.Projection.getDefaultInstance()) - return this; - if (fieldsBuilder_ == null) { - if (!other.fields_.isEmpty()) { - if (fields_.isEmpty()) { - fields_ = other.fields_; - bitField0_ = (bitField0_ & ~0x00000001); - } else { - ensureFieldsIsMutable(); - fields_.addAll(other.fields_); - } - onChanged(); - } - } else { - if (!other.fields_.isEmpty()) { - if (fieldsBuilder_.isEmpty()) { - fieldsBuilder_.dispose(); - fieldsBuilder_ = null; - fields_ = other.fields_; - bitField0_ = (bitField0_ & ~0x00000001); - fieldsBuilder_ = - com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders - ? getFieldsFieldBuilder() - : null; - } else { - fieldsBuilder_.addAllMessages(other.fields_); - } - } - } - this.mergeUnknownFields(other.unknownFields); - onChanged(); - return this; - } - - @java.lang.Override - public final boolean isInitialized() { - return true; - } - - @java.lang.Override - public Builder mergeFrom( - com.google.protobuf.CodedInputStream input, - com.google.protobuf.ExtensionRegistryLite extensionRegistry) - throws java.io.IOException { - com.google.firestore.v1.StructuredQuery.Projection parsedMessage = null; - try { - parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = - (com.google.firestore.v1.StructuredQuery.Projection) e.getUnfinishedMessage(); - throw e.unwrapIOException(); - } finally { - if (parsedMessage != null) { - mergeFrom(parsedMessage); - } - } - return this; - } - - private int bitField0_; - - private java.util.List fields_ = - java.util.Collections.emptyList(); - - private void ensureFieldsIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { - fields_ = - new java.util.ArrayList( - fields_); - bitField0_ |= 0x00000001; - } - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.google.firestore.v1.StructuredQuery.FieldReference, - com.google.firestore.v1.StructuredQuery.FieldReference.Builder, - com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder> - fieldsBuilder_; - - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public java.util.List - getFieldsList() { - if (fieldsBuilder_ == null) { - return java.util.Collections.unmodifiableList(fields_); - } else { - return fieldsBuilder_.getMessageList(); - } - } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public int getFieldsCount() { - if (fieldsBuilder_ == null) { - return fields_.size(); - } else { - return fieldsBuilder_.getCount(); - } - } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public com.google.firestore.v1.StructuredQuery.FieldReference getFields(int index) { - if (fieldsBuilder_ == null) { - return fields_.get(index); - } else { - return fieldsBuilder_.getMessage(index); - } - } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public Builder setFields( - int index, com.google.firestore.v1.StructuredQuery.FieldReference value) { - if (fieldsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureFieldsIsMutable(); - fields_.set(index, value); - onChanged(); - } else { - fieldsBuilder_.setMessage(index, value); - } - return this; - } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public Builder setFields( - int index, - com.google.firestore.v1.StructuredQuery.FieldReference.Builder builderForValue) { - if (fieldsBuilder_ == null) { - ensureFieldsIsMutable(); - fields_.set(index, builderForValue.build()); - onChanged(); - } else { - fieldsBuilder_.setMessage(index, builderForValue.build()); - } - return this; - } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public Builder addFields(com.google.firestore.v1.StructuredQuery.FieldReference value) { - if (fieldsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureFieldsIsMutable(); - fields_.add(value); - onChanged(); - } else { - fieldsBuilder_.addMessage(value); - } - return this; - } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public Builder addFields( - int index, com.google.firestore.v1.StructuredQuery.FieldReference value) { - if (fieldsBuilder_ == null) { - if (value == null) { - throw new NullPointerException(); - } - ensureFieldsIsMutable(); - fields_.add(index, value); - onChanged(); - } else { - fieldsBuilder_.addMessage(index, value); - } - return this; - } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public Builder addFields( - com.google.firestore.v1.StructuredQuery.FieldReference.Builder builderForValue) { - if (fieldsBuilder_ == null) { - ensureFieldsIsMutable(); - fields_.add(builderForValue.build()); - onChanged(); - } else { - fieldsBuilder_.addMessage(builderForValue.build()); - } - return this; - } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public Builder addFields( - int index, - com.google.firestore.v1.StructuredQuery.FieldReference.Builder builderForValue) { - if (fieldsBuilder_ == null) { - ensureFieldsIsMutable(); - fields_.add(index, builderForValue.build()); - onChanged(); - } else { - fieldsBuilder_.addMessage(index, builderForValue.build()); - } - return this; - } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public Builder addAllFields( - java.lang.Iterable - values) { - if (fieldsBuilder_ == null) { - ensureFieldsIsMutable(); - com.google.protobuf.AbstractMessageLite.Builder.addAll(values, fields_); - onChanged(); - } else { - fieldsBuilder_.addAllMessages(values); - } - return this; - } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public Builder clearFields() { - if (fieldsBuilder_ == null) { - fields_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000001); - onChanged(); + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.firestore.v1.StructuredQuery.FieldReference) { + return mergeFrom((com.google.firestore.v1.StructuredQuery.FieldReference) other); } else { - fieldsBuilder_.clear(); + super.mergeFrom(other); + return this; } - return this; } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public Builder removeFields(int index) { - if (fieldsBuilder_ == null) { - ensureFieldsIsMutable(); - fields_.remove(index); + + public Builder mergeFrom(com.google.firestore.v1.StructuredQuery.FieldReference other) { + if (other == com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance()) + return this; + if (!other.getFieldPath().isEmpty()) { + fieldPath_ = other.fieldPath_; onChanged(); - } else { - fieldsBuilder_.remove(index); } + this.mergeUnknownFields(other.unknownFields); + onChanged(); return this; } - /** - * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; - */ - public com.google.firestore.v1.StructuredQuery.FieldReference.Builder getFieldsBuilder( - int index) { - return getFieldsFieldBuilder().getBuilder(index); + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.firestore.v1.StructuredQuery.FieldReference parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.firestore.v1.StructuredQuery.FieldReference) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; } + + private java.lang.Object fieldPath_ = ""; /** + * string field_path = 2; * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + * @return The fieldPath. */ - public com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldsOrBuilder( - int index) { - if (fieldsBuilder_ == null) { - return fields_.get(index); + public java.lang.String getFieldPath() { + java.lang.Object ref = fieldPath_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + fieldPath_ = s; + return s; } else { - return fieldsBuilder_.getMessageOrBuilder(index); + return (java.lang.String) ref; } } /** + * string field_path = 2; * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + * @return The bytes for fieldPath. */ - public java.util.List< - ? extends com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder> - getFieldsOrBuilderList() { - if (fieldsBuilder_ != null) { - return fieldsBuilder_.getMessageOrBuilderList(); + public com.google.protobuf.ByteString getFieldPathBytes() { + java.lang.Object ref = fieldPath_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + fieldPath_ = b; + return b; } else { - return java.util.Collections.unmodifiableList(fields_); + return (com.google.protobuf.ByteString) ref; } } /** + * string field_path = 2; * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + * @param value The fieldPath to set. + * @return This builder for chaining. */ - public com.google.firestore.v1.StructuredQuery.FieldReference.Builder addFieldsBuilder() { - return getFieldsFieldBuilder() - .addBuilder( - com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance()); + public Builder setFieldPath(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + fieldPath_ = value; + onChanged(); + return this; } /** + * string field_path = 2; * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + * @return This builder for chaining. */ - public com.google.firestore.v1.StructuredQuery.FieldReference.Builder addFieldsBuilder( - int index) { - return getFieldsFieldBuilder() - .addBuilder( - index, com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance()); + public Builder clearFieldPath() { + + fieldPath_ = getDefaultInstance().getFieldPath(); + onChanged(); + return this; } /** + * string field_path = 2; * - * - *
-       * The fields to return.
-       * If empty, all fields are returned. To only return the name
-       * of the document, use `['__name__']`.
-       * 
- * - * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + * @param value The bytes for fieldPath to set. + * @return This builder for chaining. */ - public java.util.List - getFieldsBuilderList() { - return getFieldsFieldBuilder().getBuilderList(); - } - - private com.google.protobuf.RepeatedFieldBuilderV3< - com.google.firestore.v1.StructuredQuery.FieldReference, - com.google.firestore.v1.StructuredQuery.FieldReference.Builder, - com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder> - getFieldsFieldBuilder() { - if (fieldsBuilder_ == null) { - fieldsBuilder_ = - new com.google.protobuf.RepeatedFieldBuilderV3< - com.google.firestore.v1.StructuredQuery.FieldReference, - com.google.firestore.v1.StructuredQuery.FieldReference.Builder, - com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder>( - fields_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); - fields_ = null; + public Builder setFieldPathBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); } - return fieldsBuilder_; + checkByteStringIsUtf8(value); + + fieldPath_ = value; + onChanged(); + return this; } @java.lang.Override @@ -8479,138 +8470,140 @@ public final Builder mergeUnknownFields( return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:google.firestore.v1.StructuredQuery.Projection) + // @@protoc_insertion_point(builder_scope:google.firestore.v1.StructuredQuery.FieldReference) } - // @@protoc_insertion_point(class_scope:google.firestore.v1.StructuredQuery.Projection) - private static final com.google.firestore.v1.StructuredQuery.Projection DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:google.firestore.v1.StructuredQuery.FieldReference) + private static final com.google.firestore.v1.StructuredQuery.FieldReference DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new com.google.firestore.v1.StructuredQuery.Projection(); + DEFAULT_INSTANCE = new com.google.firestore.v1.StructuredQuery.FieldReference(); } - public static com.google.firestore.v1.StructuredQuery.Projection getDefaultInstance() { + public static com.google.firestore.v1.StructuredQuery.FieldReference getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { @java.lang.Override - public Projection parsePartialFrom( + public FieldReference parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new Projection(input, extensionRegistry); + return new FieldReference(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.Projection getDefaultInstanceForType() { + public com.google.firestore.v1.StructuredQuery.FieldReference getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } - public interface OrderOrBuilder + public interface ProjectionOrBuilder extends - // @@protoc_insertion_point(interface_extends:google.firestore.v1.StructuredQuery.Order) + // @@protoc_insertion_point(interface_extends:google.firestore.v1.StructuredQuery.Projection) com.google.protobuf.MessageOrBuilder { /** * * *
-     * The field to order by.
+     * The fields to return.
+     * If empty, all fields are returned. To only return the name
+     * of the document, use `['__name__']`.
      * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; - * - * @return Whether the field field is set. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - boolean hasField(); + java.util.List getFieldsList(); /** * * *
-     * The field to order by.
+     * The fields to return.
+     * If empty, all fields are returned. To only return the name
+     * of the document, use `['__name__']`.
      * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; - * - * @return The field. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - com.google.firestore.v1.StructuredQuery.FieldReference getField(); + com.google.firestore.v1.StructuredQuery.FieldReference getFields(int index); /** * * *
-     * The field to order by.
+     * The fields to return.
+     * If empty, all fields are returned. To only return the name
+     * of the document, use `['__name__']`.
      * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldOrBuilder(); - + int getFieldsCount(); /** * * *
-     * The direction to order by. Defaults to `ASCENDING`.
+     * The fields to return.
+     * If empty, all fields are returned. To only return the name
+     * of the document, use `['__name__']`.
      * 
* - * .google.firestore.v1.StructuredQuery.Direction direction = 2; - * - * @return The enum numeric value on the wire for direction. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - int getDirectionValue(); + java.util.List + getFieldsOrBuilderList(); /** * * *
-     * The direction to order by. Defaults to `ASCENDING`.
+     * The fields to return.
+     * If empty, all fields are returned. To only return the name
+     * of the document, use `['__name__']`.
      * 
* - * .google.firestore.v1.StructuredQuery.Direction direction = 2; - * - * @return The direction. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - com.google.firestore.v1.StructuredQuery.Direction getDirection(); + com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldsOrBuilder(int index); } /** * * *
-   * An order on a field.
+   * The projection of document's fields to return.
    * 
* - * Protobuf type {@code google.firestore.v1.StructuredQuery.Order} + * Protobuf type {@code google.firestore.v1.StructuredQuery.Projection} */ - public static final class Order extends com.google.protobuf.GeneratedMessageV3 + public static final class Projection extends com.google.protobuf.GeneratedMessageV3 implements - // @@protoc_insertion_point(message_implements:google.firestore.v1.StructuredQuery.Order) - OrderOrBuilder { + // @@protoc_insertion_point(message_implements:google.firestore.v1.StructuredQuery.Projection) + ProjectionOrBuilder { private static final long serialVersionUID = 0L; - // Use Order.newBuilder() to construct. - private Order(com.google.protobuf.GeneratedMessageV3.Builder builder) { + // Use Projection.newBuilder() to construct. + private Projection(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } - private Order() { - direction_ = 0; + private Projection() { + fields_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance(UnusedPrivateParameter unused) { - return new Order(); + return new Projection(); } @java.lang.Override @@ -8618,7 +8611,7 @@ public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; } - private Order( + private Projection( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { @@ -8626,6 +8619,7 @@ private Order( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -8636,28 +8630,18 @@ private Order( case 0: done = true; break; - case 10: + case 18: { - com.google.firestore.v1.StructuredQuery.FieldReference.Builder subBuilder = null; - if (field_ != null) { - subBuilder = field_.toBuilder(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + fields_ = + new java.util.ArrayList< + com.google.firestore.v1.StructuredQuery.FieldReference>(); + mutable_bitField0_ |= 0x00000001; } - field_ = + fields_.add( input.readMessage( com.google.firestore.v1.StructuredQuery.FieldReference.parser(), - extensionRegistry); - if (subBuilder != null) { - subBuilder.mergeFrom(field_); - field_ = subBuilder.buildPartial(); - } - - break; - } - case 16: - { - int rawValue = input.readEnum(); - - direction_ = rawValue; + extensionRegistry)); break; } default: @@ -8674,6 +8658,9 @@ private Order( } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + fields_ = java.util.Collections.unmodifiableList(fields_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -8681,103 +8668,97 @@ private Order( public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_Order_descriptor; + .internal_static_google_firestore_v1_StructuredQuery_Projection_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_Order_fieldAccessorTable + .internal_static_google_firestore_v1_StructuredQuery_Projection_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.google.firestore.v1.StructuredQuery.Order.class, - com.google.firestore.v1.StructuredQuery.Order.Builder.class); + com.google.firestore.v1.StructuredQuery.Projection.class, + com.google.firestore.v1.StructuredQuery.Projection.Builder.class); } - public static final int FIELD_FIELD_NUMBER = 1; - private com.google.firestore.v1.StructuredQuery.FieldReference field_; + public static final int FIELDS_FIELD_NUMBER = 2; + private java.util.List fields_; /** * * *
-     * The field to order by.
+     * The fields to return.
+     * If empty, all fields are returned. To only return the name
+     * of the document, use `['__name__']`.
      * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; - * - * @return Whether the field field is set. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ @java.lang.Override - public boolean hasField() { - return field_ != null; + public java.util.List getFieldsList() { + return fields_; } /** * * *
-     * The field to order by.
+     * The fields to return.
+     * If empty, all fields are returned. To only return the name
+     * of the document, use `['__name__']`.
      * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; - * - * @return The field. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ @java.lang.Override - public com.google.firestore.v1.StructuredQuery.FieldReference getField() { - return field_ == null - ? com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance() - : field_; + public java.util.List + getFieldsOrBuilderList() { + return fields_; } /** * * *
-     * The field to order by.
+     * The fields to return.
+     * If empty, all fields are returned. To only return the name
+     * of the document, use `['__name__']`.
      * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ @java.lang.Override - public com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldOrBuilder() { - return getField(); + public int getFieldsCount() { + return fields_.size(); } - - public static final int DIRECTION_FIELD_NUMBER = 2; - private int direction_; /** * * *
-     * The direction to order by. Defaults to `ASCENDING`.
+     * The fields to return.
+     * If empty, all fields are returned. To only return the name
+     * of the document, use `['__name__']`.
      * 
* - * .google.firestore.v1.StructuredQuery.Direction direction = 2; - * - * @return The enum numeric value on the wire for direction. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ @java.lang.Override - public int getDirectionValue() { - return direction_; + public com.google.firestore.v1.StructuredQuery.FieldReference getFields(int index) { + return fields_.get(index); } /** * * *
-     * The direction to order by. Defaults to `ASCENDING`.
+     * The fields to return.
+     * If empty, all fields are returned. To only return the name
+     * of the document, use `['__name__']`.
      * 
* - * .google.firestore.v1.StructuredQuery.Direction direction = 2; - * - * @return The direction. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ @java.lang.Override - public com.google.firestore.v1.StructuredQuery.Direction getDirection() { - @SuppressWarnings("deprecation") - com.google.firestore.v1.StructuredQuery.Direction result = - com.google.firestore.v1.StructuredQuery.Direction.valueOf(direction_); - return result == null - ? com.google.firestore.v1.StructuredQuery.Direction.UNRECOGNIZED - : result; + public com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldsOrBuilder( + int index) { + return fields_.get(index); } private byte memoizedIsInitialized = -1; @@ -8794,12 +8775,8 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (field_ != null) { - output.writeMessage(1, getField()); - } - if (direction_ - != com.google.firestore.v1.StructuredQuery.Direction.DIRECTION_UNSPECIFIED.getNumber()) { - output.writeEnum(2, direction_); + for (int i = 0; i < fields_.size(); i++) { + output.writeMessage(2, fields_.get(i)); } unknownFields.writeTo(output); } @@ -8810,12 +8787,8 @@ public int getSerializedSize() { if (size != -1) return size; size = 0; - if (field_ != null) { - size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getField()); - } - if (direction_ - != com.google.firestore.v1.StructuredQuery.Direction.DIRECTION_UNSPECIFIED.getNumber()) { - size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, direction_); + for (int i = 0; i < fields_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, fields_.get(i)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -8827,17 +8800,13 @@ public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof com.google.firestore.v1.StructuredQuery.Order)) { + if (!(obj instanceof com.google.firestore.v1.StructuredQuery.Projection)) { return super.equals(obj); } - com.google.firestore.v1.StructuredQuery.Order other = - (com.google.firestore.v1.StructuredQuery.Order) obj; + com.google.firestore.v1.StructuredQuery.Projection other = + (com.google.firestore.v1.StructuredQuery.Projection) obj; - if (hasField() != other.hasField()) return false; - if (hasField()) { - if (!getField().equals(other.getField())) return false; - } - if (direction_ != other.direction_) return false; + if (!getFieldsList().equals(other.getFieldsList())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -8849,82 +8818,80 @@ public int hashCode() { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasField()) { - hash = (37 * hash) + FIELD_FIELD_NUMBER; - hash = (53 * hash) + getField().hashCode(); + if (getFieldsCount() > 0) { + hash = (37 * hash) + FIELDS_FIELD_NUMBER; + hash = (53 * hash) + getFieldsList().hashCode(); } - hash = (37 * hash) + DIRECTION_FIELD_NUMBER; - hash = (53 * hash) + direction_; hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static com.google.firestore.v1.StructuredQuery.Order parseFrom(java.nio.ByteBuffer data) - throws com.google.protobuf.InvalidProtocolBufferException { + public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.google.firestore.v1.StructuredQuery.Order parseFrom( + public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.Order parseFrom( + public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.google.firestore.v1.StructuredQuery.Order parseFrom( + public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.Order parseFrom(byte[] data) + public static com.google.firestore.v1.StructuredQuery.Projection parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static com.google.firestore.v1.StructuredQuery.Order parseFrom( + public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.Order parseFrom(java.io.InputStream input) - throws java.io.IOException { + public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( + java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } - public static com.google.firestore.v1.StructuredQuery.Order parseFrom( + public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.Order parseDelimitedFrom( + public static com.google.firestore.v1.StructuredQuery.Projection parseDelimitedFrom( java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); } - public static com.google.firestore.v1.StructuredQuery.Order parseDelimitedFrom( + public static com.google.firestore.v1.StructuredQuery.Projection parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( PARSER, input, extensionRegistry); } - public static com.google.firestore.v1.StructuredQuery.Order parseFrom( + public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } - public static com.google.firestore.v1.StructuredQuery.Order parseFrom( + public static com.google.firestore.v1.StructuredQuery.Projection parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -8941,7 +8908,7 @@ public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(com.google.firestore.v1.StructuredQuery.Order prototype) { + public static Builder newBuilder(com.google.firestore.v1.StructuredQuery.Projection prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @@ -8960,32 +8927,32 @@ protected Builder newBuilderForType( * * *
-     * An order on a field.
+     * The projection of document's fields to return.
      * 
* - * Protobuf type {@code google.firestore.v1.StructuredQuery.Order} + * Protobuf type {@code google.firestore.v1.StructuredQuery.Projection} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements - // @@protoc_insertion_point(builder_implements:google.firestore.v1.StructuredQuery.Order) - com.google.firestore.v1.StructuredQuery.OrderOrBuilder { + // @@protoc_insertion_point(builder_implements:google.firestore.v1.StructuredQuery.Projection) + com.google.firestore.v1.StructuredQuery.ProjectionOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_Order_descriptor; + .internal_static_google_firestore_v1_StructuredQuery_Projection_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_Order_fieldAccessorTable + .internal_static_google_firestore_v1_StructuredQuery_Projection_fieldAccessorTable .ensureFieldAccessorsInitialized( - com.google.firestore.v1.StructuredQuery.Order.class, - com.google.firestore.v1.StructuredQuery.Order.Builder.class); + com.google.firestore.v1.StructuredQuery.Projection.class, + com.google.firestore.v1.StructuredQuery.Projection.Builder.class); } - // Construct using com.google.firestore.v1.StructuredQuery.Order.newBuilder() + // Construct using com.google.firestore.v1.StructuredQuery.Projection.newBuilder() private Builder() { maybeForceBuilderInitialization(); } @@ -8996,37 +8963,37 @@ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { } private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getFieldsFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - if (fieldBuilder_ == null) { - field_ = null; + if (fieldsBuilder_ == null) { + fields_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - field_ = null; - fieldBuilder_ = null; + fieldsBuilder_.clear(); } - direction_ = 0; - return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.firestore.v1.QueryProto - .internal_static_google_firestore_v1_StructuredQuery_Order_descriptor; + .internal_static_google_firestore_v1_StructuredQuery_Projection_descriptor; } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.Order getDefaultInstanceForType() { - return com.google.firestore.v1.StructuredQuery.Order.getDefaultInstance(); + public com.google.firestore.v1.StructuredQuery.Projection getDefaultInstanceForType() { + return com.google.firestore.v1.StructuredQuery.Projection.getDefaultInstance(); } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.Order build() { - com.google.firestore.v1.StructuredQuery.Order result = buildPartial(); + public com.google.firestore.v1.StructuredQuery.Projection build() { + com.google.firestore.v1.StructuredQuery.Projection result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } @@ -9034,15 +9001,19 @@ public com.google.firestore.v1.StructuredQuery.Order build() { } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.Order buildPartial() { - com.google.firestore.v1.StructuredQuery.Order result = - new com.google.firestore.v1.StructuredQuery.Order(this); - if (fieldBuilder_ == null) { - result.field_ = field_; + public com.google.firestore.v1.StructuredQuery.Projection buildPartial() { + com.google.firestore.v1.StructuredQuery.Projection result = + new com.google.firestore.v1.StructuredQuery.Projection(this); + int from_bitField0_ = bitField0_; + if (fieldsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + fields_ = java.util.Collections.unmodifiableList(fields_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.fields_ = fields_; } else { - result.field_ = fieldBuilder_.build(); + result.fields_ = fieldsBuilder_.build(); } - result.direction_ = direction_; onBuilt(); return result; } @@ -9084,22 +9055,43 @@ public Builder addRepeatedField( @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof com.google.firestore.v1.StructuredQuery.Order) { - return mergeFrom((com.google.firestore.v1.StructuredQuery.Order) other); + if (other instanceof com.google.firestore.v1.StructuredQuery.Projection) { + return mergeFrom((com.google.firestore.v1.StructuredQuery.Projection) other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(com.google.firestore.v1.StructuredQuery.Order other) { - if (other == com.google.firestore.v1.StructuredQuery.Order.getDefaultInstance()) + public Builder mergeFrom(com.google.firestore.v1.StructuredQuery.Projection other) { + if (other == com.google.firestore.v1.StructuredQuery.Projection.getDefaultInstance()) return this; - if (other.hasField()) { - mergeField(other.getField()); - } - if (other.direction_ != 0) { - setDirectionValue(other.getDirectionValue()); + if (fieldsBuilder_ == null) { + if (!other.fields_.isEmpty()) { + if (fields_.isEmpty()) { + fields_ = other.fields_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureFieldsIsMutable(); + fields_.addAll(other.fields_); + } + onChanged(); + } + } else { + if (!other.fields_.isEmpty()) { + if (fieldsBuilder_.isEmpty()) { + fieldsBuilder_.dispose(); + fieldsBuilder_ = null; + fields_ = other.fields_; + bitField0_ = (bitField0_ & ~0x00000001); + fieldsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders + ? getFieldsFieldBuilder() + : null; + } else { + fieldsBuilder_.addAllMessages(other.fields_); + } + } } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -9116,11 +9108,12 @@ public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - com.google.firestore.v1.StructuredQuery.Order parsedMessage = null; + com.google.firestore.v1.StructuredQuery.Projection parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (com.google.firestore.v1.StructuredQuery.Order) e.getUnfinishedMessage(); + parsedMessage = + (com.google.firestore.v1.StructuredQuery.Projection) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -9130,283 +9123,406 @@ public Builder mergeFrom( return this; } - private com.google.firestore.v1.StructuredQuery.FieldReference field_; - private com.google.protobuf.SingleFieldBuilderV3< + private int bitField0_; + + private java.util.List fields_ = + java.util.Collections.emptyList(); + + private void ensureFieldsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + fields_ = + new java.util.ArrayList( + fields_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< com.google.firestore.v1.StructuredQuery.FieldReference, com.google.firestore.v1.StructuredQuery.FieldReference.Builder, com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder> - fieldBuilder_; + fieldsBuilder_; + /** * * *
-       * The field to order by.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + */ + public java.util.List + getFieldsList() { + if (fieldsBuilder_ == null) { + return java.util.Collections.unmodifiableList(fields_); + } else { + return fieldsBuilder_.getMessageList(); + } + } + /** * - * @return Whether the field field is set. + * + *
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
+       * 
+ * + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - public boolean hasField() { - return fieldBuilder_ != null || field_ != null; + public int getFieldsCount() { + if (fieldsBuilder_ == null) { + return fields_.size(); + } else { + return fieldsBuilder_.getCount(); + } } /** * * *
-       * The field to order by.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + */ + public com.google.firestore.v1.StructuredQuery.FieldReference getFields(int index) { + if (fieldsBuilder_ == null) { + return fields_.get(index); + } else { + return fieldsBuilder_.getMessage(index); + } + } + /** * - * @return The field. + * + *
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
+       * 
+ * + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - public com.google.firestore.v1.StructuredQuery.FieldReference getField() { - if (fieldBuilder_ == null) { - return field_ == null - ? com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance() - : field_; + public Builder setFields( + int index, com.google.firestore.v1.StructuredQuery.FieldReference value) { + if (fieldsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureFieldsIsMutable(); + fields_.set(index, value); + onChanged(); } else { - return fieldBuilder_.getMessage(); + fieldsBuilder_.setMessage(index, value); } + return this; } /** * * *
-       * The field to order by.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - public Builder setField(com.google.firestore.v1.StructuredQuery.FieldReference value) { - if (fieldBuilder_ == null) { + public Builder setFields( + int index, + com.google.firestore.v1.StructuredQuery.FieldReference.Builder builderForValue) { + if (fieldsBuilder_ == null) { + ensureFieldsIsMutable(); + fields_.set(index, builderForValue.build()); + onChanged(); + } else { + fieldsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
+       * 
+ * + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + */ + public Builder addFields(com.google.firestore.v1.StructuredQuery.FieldReference value) { + if (fieldsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } - field_ = value; + ensureFieldsIsMutable(); + fields_.add(value); onChanged(); } else { - fieldBuilder_.setMessage(value); + fieldsBuilder_.addMessage(value); + } + return this; + } + /** + * + * + *
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
+       * 
+ * + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + */ + public Builder addFields( + int index, com.google.firestore.v1.StructuredQuery.FieldReference value) { + if (fieldsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureFieldsIsMutable(); + fields_.add(index, value); + onChanged(); + } else { + fieldsBuilder_.addMessage(index, value); + } + return this; + } + /** + * + * + *
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
+       * 
+ * + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; + */ + public Builder addFields( + com.google.firestore.v1.StructuredQuery.FieldReference.Builder builderForValue) { + if (fieldsBuilder_ == null) { + ensureFieldsIsMutable(); + fields_.add(builderForValue.build()); + onChanged(); + } else { + fieldsBuilder_.addMessage(builderForValue.build()); } - return this; } /** * * *
-       * The field to order by.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - public Builder setField( + public Builder addFields( + int index, com.google.firestore.v1.StructuredQuery.FieldReference.Builder builderForValue) { - if (fieldBuilder_ == null) { - field_ = builderForValue.build(); + if (fieldsBuilder_ == null) { + ensureFieldsIsMutable(); + fields_.add(index, builderForValue.build()); onChanged(); } else { - fieldBuilder_.setMessage(builderForValue.build()); + fieldsBuilder_.addMessage(index, builderForValue.build()); } - return this; } /** * * *
-       * The field to order by.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - public Builder mergeField(com.google.firestore.v1.StructuredQuery.FieldReference value) { - if (fieldBuilder_ == null) { - if (field_ != null) { - field_ = - com.google.firestore.v1.StructuredQuery.FieldReference.newBuilder(field_) - .mergeFrom(value) - .buildPartial(); - } else { - field_ = value; - } + public Builder addAllFields( + java.lang.Iterable + values) { + if (fieldsBuilder_ == null) { + ensureFieldsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, fields_); onChanged(); } else { - fieldBuilder_.mergeFrom(value); + fieldsBuilder_.addAllMessages(values); } - return this; } /** * * *
-       * The field to order by.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - public Builder clearField() { - if (fieldBuilder_ == null) { - field_ = null; + public Builder clearFields() { + if (fieldsBuilder_ == null) { + fields_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { - field_ = null; - fieldBuilder_ = null; + fieldsBuilder_.clear(); } - return this; } /** * * *
-       * The field to order by.
-       * 
- * - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; - */ - public com.google.firestore.v1.StructuredQuery.FieldReference.Builder getFieldBuilder() { - - onChanged(); - return getFieldFieldBuilder().getBuilder(); - } - /** - * - * - *
-       * The field to order by.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - public com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldOrBuilder() { - if (fieldBuilder_ != null) { - return fieldBuilder_.getMessageOrBuilder(); + public Builder removeFields(int index) { + if (fieldsBuilder_ == null) { + ensureFieldsIsMutable(); + fields_.remove(index); + onChanged(); } else { - return field_ == null - ? com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance() - : field_; + fieldsBuilder_.remove(index); } + return this; } /** * * *
-       * The field to order by.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.FieldReference field = 1; + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - private com.google.protobuf.SingleFieldBuilderV3< - com.google.firestore.v1.StructuredQuery.FieldReference, - com.google.firestore.v1.StructuredQuery.FieldReference.Builder, - com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder> - getFieldFieldBuilder() { - if (fieldBuilder_ == null) { - fieldBuilder_ = - new com.google.protobuf.SingleFieldBuilderV3< - com.google.firestore.v1.StructuredQuery.FieldReference, - com.google.firestore.v1.StructuredQuery.FieldReference.Builder, - com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder>( - getField(), getParentForChildren(), isClean()); - field_ = null; - } - return fieldBuilder_; + public com.google.firestore.v1.StructuredQuery.FieldReference.Builder getFieldsBuilder( + int index) { + return getFieldsFieldBuilder().getBuilder(index); } - - private int direction_ = 0; /** * * *
-       * The direction to order by. Defaults to `ASCENDING`.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.Direction direction = 2; - * - * @return The enum numeric value on the wire for direction. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - @java.lang.Override - public int getDirectionValue() { - return direction_; + public com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder getFieldsOrBuilder( + int index) { + if (fieldsBuilder_ == null) { + return fields_.get(index); + } else { + return fieldsBuilder_.getMessageOrBuilder(index); + } } /** * * *
-       * The direction to order by. Defaults to `ASCENDING`.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.Direction direction = 2; - * - * @param value The enum numeric value on the wire for direction to set. - * @return This builder for chaining. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - public Builder setDirectionValue(int value) { - - direction_ = value; - onChanged(); - return this; + public java.util.List< + ? extends com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder> + getFieldsOrBuilderList() { + if (fieldsBuilder_ != null) { + return fieldsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(fields_); + } } /** * * *
-       * The direction to order by. Defaults to `ASCENDING`.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.Direction direction = 2; - * - * @return The direction. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - @java.lang.Override - public com.google.firestore.v1.StructuredQuery.Direction getDirection() { - @SuppressWarnings("deprecation") - com.google.firestore.v1.StructuredQuery.Direction result = - com.google.firestore.v1.StructuredQuery.Direction.valueOf(direction_); - return result == null - ? com.google.firestore.v1.StructuredQuery.Direction.UNRECOGNIZED - : result; + public com.google.firestore.v1.StructuredQuery.FieldReference.Builder addFieldsBuilder() { + return getFieldsFieldBuilder() + .addBuilder( + com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance()); } /** * * *
-       * The direction to order by. Defaults to `ASCENDING`.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.Direction direction = 2; - * - * @param value The direction to set. - * @return This builder for chaining. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - public Builder setDirection(com.google.firestore.v1.StructuredQuery.Direction value) { - if (value == null) { - throw new NullPointerException(); - } - - direction_ = value.getNumber(); - onChanged(); - return this; + public com.google.firestore.v1.StructuredQuery.FieldReference.Builder addFieldsBuilder( + int index) { + return getFieldsFieldBuilder() + .addBuilder( + index, com.google.firestore.v1.StructuredQuery.FieldReference.getDefaultInstance()); } /** * * *
-       * The direction to order by. Defaults to `ASCENDING`.
+       * The fields to return.
+       * If empty, all fields are returned. To only return the name
+       * of the document, use `['__name__']`.
        * 
* - * .google.firestore.v1.StructuredQuery.Direction direction = 2; - * - * @return This builder for chaining. + * repeated .google.firestore.v1.StructuredQuery.FieldReference fields = 2; */ - public Builder clearDirection() { + public java.util.List + getFieldsBuilderList() { + return getFieldsFieldBuilder().getBuilderList(); + } - direction_ = 0; - onChanged(); - return this; + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.firestore.v1.StructuredQuery.FieldReference, + com.google.firestore.v1.StructuredQuery.FieldReference.Builder, + com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder> + getFieldsFieldBuilder() { + if (fieldsBuilder_ == null) { + fieldsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilderV3< + com.google.firestore.v1.StructuredQuery.FieldReference, + com.google.firestore.v1.StructuredQuery.FieldReference.Builder, + com.google.firestore.v1.StructuredQuery.FieldReferenceOrBuilder>( + fields_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + fields_ = null; + } + return fieldsBuilder_; } @java.lang.Override @@ -9421,42 +9537,42 @@ public final Builder mergeUnknownFields( return super.mergeUnknownFields(unknownFields); } - // @@protoc_insertion_point(builder_scope:google.firestore.v1.StructuredQuery.Order) + // @@protoc_insertion_point(builder_scope:google.firestore.v1.StructuredQuery.Projection) } - // @@protoc_insertion_point(class_scope:google.firestore.v1.StructuredQuery.Order) - private static final com.google.firestore.v1.StructuredQuery.Order DEFAULT_INSTANCE; + // @@protoc_insertion_point(class_scope:google.firestore.v1.StructuredQuery.Projection) + private static final com.google.firestore.v1.StructuredQuery.Projection DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new com.google.firestore.v1.StructuredQuery.Order(); + DEFAULT_INSTANCE = new com.google.firestore.v1.StructuredQuery.Projection(); } - public static com.google.firestore.v1.StructuredQuery.Order getDefaultInstance() { + public static com.google.firestore.v1.StructuredQuery.Projection getDefaultInstance() { return DEFAULT_INSTANCE; } - private static final com.google.protobuf.Parser PARSER = - new com.google.protobuf.AbstractParser() { + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { @java.lang.Override - public Order parsePartialFrom( + public Projection parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - return new Order(input, extensionRegistry); + return new Projection(input, extensionRegistry); } }; - public static com.google.protobuf.Parser parser() { + public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override - public com.google.protobuf.Parser getParserForType() { + public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override - public com.google.firestore.v1.StructuredQuery.Order getDefaultInstanceForType() { + public com.google.firestore.v1.StructuredQuery.Projection getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } 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 ee32c410c..e035d1b4e 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 @@ -533,14 +533,15 @@ message PartitionQueryRequest { // The query to partition. oneof query_type { // A structured query. - // Filters, order bys, limits, offsets, and start/end cursors are not - // supported. + // Query must specify collection with all descendants and be ordered by name + // ascending. Other filters, order bys, limits, offsets, and start/end + // cursors are not supported. StructuredQuery structured_query = 2; } // The desired maximum number of partition points. // The partitions may be returned across multiple pages of results. - // The number must be strictly positive. The actual number of partitions + // The number must be positive. The actual number of partitions // returned may be fewer. // // For example, this may be set to one fewer than the number of parallel @@ -589,6 +590,9 @@ message PartitionQueryResponse { // * query, end_at A // * query, start_at A, end_at B // * query, start_at B + // + // An empty result may indicate that the query has too few results to be + // partitioned. repeated Cursor partitions = 1; // A page token that may be used to request an additional set of results, up 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 9c267fe68..eea1d1178 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 @@ -115,6 +115,14 @@ message StructuredQuery { // The given `field` is equal to the given `value`. EQUAL = 5; + // The given `field` is not equal to the given `value`. + // + // Requires: + // + // * No other `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`. + // * That `field` comes first in the `order_by`. + NOT_EQUAL = 6; + // The given `field` is an array that contains the given `value`. ARRAY_CONTAINS = 7; @@ -123,7 +131,7 @@ message StructuredQuery { // Requires: // // * That `value` is a non-empty `ArrayValue` with at most 10 values. - // * No other `IN`, `ARRAY_CONTAINS_ANY`, or `NOT_IN`. + // * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`. IN = 8; // The given `field` is an array that contains any of the values in the @@ -132,8 +140,18 @@ message StructuredQuery { // Requires: // // * That `value` is a non-empty `ArrayValue` with at most 10 values. - // * No other `IN`, `ARRAY_CONTAINS_ANY`, or `NOT_IN`. + // * No other `IN` or `ARRAY_CONTAINS_ANY` or `NOT_IN`. ARRAY_CONTAINS_ANY = 9; + + // 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`, + // `IS_NOT_NULL`, or `IS_NOT_NAN`. + // * That `field` comes first in the `order_by`. + NOT_IN = 10; } // The field to filter by. @@ -158,6 +176,22 @@ message StructuredQuery { // The given `field` is equal to `NULL`. IS_NULL = 3; + + // The given `field` is not equal to `NaN`. + // + // Requires: + // + // * No other `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`. + // * That `field` comes first in the `order_by`. + IS_NOT_NAN = 4; + + // The given `field` is not equal to `NULL`. + // + // Requires: + // + // * A single `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`. + // * That `field` comes first in the `order_by`. + IS_NOT_NULL = 5; } // The unary operator to apply. @@ -170,6 +204,15 @@ message StructuredQuery { } } + // An order on a field. + message Order { + // The field to order by. + FieldReference field = 1; + + // The direction to order by. Defaults to `ASCENDING`. + Direction direction = 2; + } + // A reference to a field, such as `max(messages.time) as max_time`. message FieldReference { string field_path = 2; @@ -184,15 +227,6 @@ message StructuredQuery { repeated FieldReference fields = 2; } - // An order on a field. - message Order { - // The field to order by. - FieldReference field = 1; - - // The direction to order by. Defaults to `ASCENDING`. - Direction direction = 2; - } - // A sort direction. enum Direction { // Unspecified. diff --git a/synth.metadata b/synth.metadata index 896d0666e..717b7d747 100644 --- a/synth.metadata +++ b/synth.metadata @@ -11,8 +11,8 @@ "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "546f389d95dbbc88d9d5a00fae25b29d49a0d5b6", - "internalRef": "323436667" + "sha": "17de2b31f9450385e739bedeeaac6e1ec4f239a8", + "internalRef": "327504150" } }, {