use of com.google.firebase.firestore.core.Query in project firebase-android-sdk by firebase.
the class TargetIndexMatcherTest method inequalityUsesSingleFieldIndex.
@Test
public void inequalityUsesSingleFieldIndex() {
Query q = query("collId").filter(filter("a", ">", 1)).filter(filter("a", "<", 10));
validateServesTarget(q, "a", FieldIndex.Segment.Kind.ASCENDING);
}
use of com.google.firebase.firestore.core.Query in project firebase-android-sdk by firebase.
the class TargetIndexMatcherTest method withMultipleEqualitiesAndInequality.
@Test
public void withMultipleEqualitiesAndInequality() {
Query queriesMultipleFilters = query("collId").filter(filter("equality1", "==", "a")).filter(filter("equality2", "==", "b")).filter(filter("inequality", ">=", "c"));
validateServesTarget(queriesMultipleFilters, "equality1", FieldIndex.Segment.Kind.ASCENDING, "equality2", FieldIndex.Segment.Kind.ASCENDING, "inequality", FieldIndex.Segment.Kind.ASCENDING);
validateServesTarget(queriesMultipleFilters, "equality2", FieldIndex.Segment.Kind.ASCENDING, "equality1", FieldIndex.Segment.Kind.ASCENDING, "inequality", FieldIndex.Segment.Kind.ASCENDING);
validateDoesNotServeTarget(queriesMultipleFilters, "equality2", FieldIndex.Segment.Kind.ASCENDING, "inequality", FieldIndex.Segment.Kind.ASCENDING, "equality1", FieldIndex.Segment.Kind.ASCENDING);
queriesMultipleFilters = query("collId").filter(filter("equality1", "==", "a")).filter(filter("inequality", ">=", "c")).filter(filter("equality2", "==", "b"));
validateServesTarget(queriesMultipleFilters, "equality1", FieldIndex.Segment.Kind.ASCENDING, "equality2", FieldIndex.Segment.Kind.ASCENDING, "inequality", FieldIndex.Segment.Kind.ASCENDING);
validateServesTarget(queriesMultipleFilters, "equality2", FieldIndex.Segment.Kind.ASCENDING, "equality1", FieldIndex.Segment.Kind.ASCENDING, "inequality", FieldIndex.Segment.Kind.ASCENDING);
validateDoesNotServeTarget(queriesMultipleFilters, "equality1", FieldIndex.Segment.Kind.ASCENDING, "inequality", FieldIndex.Segment.Kind.ASCENDING, "equality2", FieldIndex.Segment.Kind.ASCENDING);
}
use of com.google.firebase.firestore.core.Query in project firebase-android-sdk by firebase.
the class TargetIndexMatcherTest method canUsePartialIndex.
@Test
public void canUsePartialIndex() {
Query q = query("collId").orderBy(orderBy("a"));
validateServesTarget(q, "a", FieldIndex.Segment.Kind.ASCENDING);
q = query("collId").orderBy(orderBy("a")).orderBy(orderBy("b"));
validateServesTarget(q, "a", FieldIndex.Segment.Kind.ASCENDING);
validateServesTarget(q, "a", FieldIndex.Segment.Kind.ASCENDING, "b", FieldIndex.Segment.Kind.ASCENDING);
}
use of com.google.firebase.firestore.core.Query in project firebase-android-sdk by firebase.
the class TargetIndexMatcherTest method withMultipleInequalities.
@Test
public void withMultipleInequalities() {
Query q = query("collId").filter(filter("a", ">=", 1)).filter(filter("a", "==", 5)).filter(filter("a", "<=", 10));
validateServesTarget(q, "a", FieldIndex.Segment.Kind.ASCENDING);
}
use of com.google.firebase.firestore.core.Query in project firebase-android-sdk by firebase.
the class TargetIndexMatcherTest method cannotUsePartialIndexWithMissingArrayContains.
@Test
public void cannotUsePartialIndexWithMissingArrayContains() {
Query q = query("collId").filter(filter("a", "array-contains", "a")).orderBy(orderBy("b"));
validateServesTarget(q, "a", FieldIndex.Segment.Kind.CONTAINS, "b", FieldIndex.Segment.Kind.ASCENDING);
q = query("collId").orderBy(orderBy("b"));
validateDoesNotServeTarget(q, "a", FieldIndex.Segment.Kind.CONTAINS, "b", FieldIndex.Segment.Kind.ASCENDING);
}
Aggregations