Search in sources :

Example 26 with Query

use of com.google.firebase.firestore.core.Query in project firebase-android-sdk by firebase.

the class TargetIndexMatcherTest method withEqualityAndDifferentOrderBy.

@Test
public void withEqualityAndDifferentOrderBy() {
    Query q = query("collId").filter(filter("foo", "==", "")).filter(filter("bar", "==", "")).orderBy(orderBy("qux"));
    validateServesTarget(q, "foo", FieldIndex.Segment.Kind.ASCENDING, "bar", FieldIndex.Segment.Kind.ASCENDING, "qux", FieldIndex.Segment.Kind.ASCENDING);
    q = query("collId").filter(filter("aaa", "==", "")).filter(filter("qqq", "==", "")).filter(filter("ccc", "==", "")).orderBy(orderBy("fff", "desc")).orderBy(orderBy("bbb"));
    validateServesTarget(q, "aaa", FieldIndex.Segment.Kind.ASCENDING, "qqq", FieldIndex.Segment.Kind.ASCENDING, "ccc", FieldIndex.Segment.Kind.ASCENDING, "fff", FieldIndex.Segment.Kind.DESCENDING);
}
Also used : Query(com.google.firebase.firestore.core.Query) Test(org.junit.Test)

Example 27 with Query

use of com.google.firebase.firestore.core.Query in project firebase-android-sdk by firebase.

the class TargetIndexMatcherTest method equalitiesWithDefaultOrder.

@Test
public void equalitiesWithDefaultOrder() {
    for (Query query : queriesWithEqualities) {
        validateServesTarget(query, "a", FieldIndex.Segment.Kind.ASCENDING);
        validateDoesNotServeTarget(query, "b", FieldIndex.Segment.Kind.ASCENDING);
        validateDoesNotServeTarget(query, "a", FieldIndex.Segment.Kind.CONTAINS);
    }
}
Also used : Query(com.google.firebase.firestore.core.Query) Test(org.junit.Test)

Example 28 with Query

use of com.google.firebase.firestore.core.Query in project firebase-android-sdk by firebase.

the class TargetIndexMatcherTest method testArrayContainsIsIndependent.

@Test
public void testArrayContainsIsIndependent() {
    Query query = query("collId").filter(filter("value", "array-contains", "foo")).orderBy(orderBy("value"));
    validateServesTarget(query, "value", FieldIndex.Segment.Kind.CONTAINS, "value", FieldIndex.Segment.Kind.ASCENDING);
    validateServesTarget(query, "value", FieldIndex.Segment.Kind.ASCENDING, "value", FieldIndex.Segment.Kind.CONTAINS);
}
Also used : Query(com.google.firebase.firestore.core.Query) Test(org.junit.Test)

Example 29 with Query

use of com.google.firebase.firestore.core.Query in project firebase-android-sdk by firebase.

the class TargetIndexMatcherTest method withOrderBy.

@Test
public void withOrderBy() {
    Query q = query("collId").orderBy(orderBy("a"));
    validateServesTarget(q, "a", FieldIndex.Segment.Kind.ASCENDING);
    validateDoesNotServeTarget(q, "a", FieldIndex.Segment.Kind.DESCENDING);
    q = query("collId").orderBy(orderBy("a", "desc"));
    validateDoesNotServeTarget(q, "a", FieldIndex.Segment.Kind.ASCENDING);
    validateServesTarget(q, "a", FieldIndex.Segment.Kind.DESCENDING);
    q = query("collId").orderBy(orderBy("a")).orderBy(orderBy("__name__"));
    validateServesTarget(q, "a", FieldIndex.Segment.Kind.ASCENDING, "__name__", FieldIndex.Segment.Kind.ASCENDING);
    validateDoesNotServeTarget(q, "a", FieldIndex.Segment.Kind.ASCENDING, "__name__", FieldIndex.Segment.Kind.DESCENDING);
}
Also used : Query(com.google.firebase.firestore.core.Query) Test(org.junit.Test)

Example 30 with Query

use of com.google.firebase.firestore.core.Query in project firebase-android-sdk by firebase.

the class TargetIndexMatcherTest method inequalitiesWithDefaultOrder.

@Test
public void inequalitiesWithDefaultOrder() {
    for (Query query : queriesWithInequalities) {
        validateServesTarget(query, "a", FieldIndex.Segment.Kind.ASCENDING);
        validateDoesNotServeTarget(query, "b", FieldIndex.Segment.Kind.ASCENDING);
        validateDoesNotServeTarget(query, "a", FieldIndex.Segment.Kind.CONTAINS);
    }
}
Also used : Query(com.google.firebase.firestore.core.Query) Test(org.junit.Test)

Aggregations

Query (com.google.firebase.firestore.core.Query)189 Test (org.junit.Test)179 BundledQuery (com.google.firebase.firestore.bundle.BundledQuery)40 NamedQuery (com.google.firebase.firestore.bundle.NamedQuery)39 StructuredQuery (com.google.firestore.v1.StructuredQuery)16 Target (com.google.firestore.v1.Target)13 DocumentsTarget (com.google.firestore.v1.Target.DocumentsTarget)13 QueryTarget (com.google.firestore.v1.Target.QueryTarget)13 DocumentSet (com.google.firebase.firestore.model.DocumentSet)12 MutableDocument (com.google.firebase.firestore.model.MutableDocument)8 ArrayList (java.util.ArrayList)8 TargetData (com.google.firebase.firestore.local.TargetData)7 FieldIndex (com.google.firebase.firestore.model.FieldIndex)7 DocumentKey (com.google.firebase.firestore.model.DocumentKey)6 ByteString (com.google.protobuf.ByteString)5 Document (com.google.firebase.firestore.model.Document)4 HashMap (java.util.HashMap)4 Target (com.google.firebase.firestore.core.Target)3 SnapshotVersion (com.google.firebase.firestore.model.SnapshotVersion)3 Map (java.util.Map)3