Skip to content

Commit 12fca47

Browse files
committed
Early return in getDocumentsMatchingTarget
1 parent 50fae3c commit 12fca47

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

firebase-firestore/src/main/java/com/google/firebase/firestore/local/SQLiteIndexManager.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import static java.lang.Math.max;
2424

2525
import android.text.TextUtils;
26+
import androidx.annotation.NonNull;
2627
import androidx.annotation.Nullable;
2728
import com.google.firebase.Timestamp;
2829
import com.google.firebase.database.collection.ImmutableSortedMap;
@@ -57,6 +58,7 @@
5758
import java.util.Iterator;
5859
import java.util.List;
5960
import java.util.Map;
61+
import java.util.Objects;
6062
import java.util.PriorityQueue;
6163
import java.util.Queue;
6264
import java.util.SortedSet;
@@ -476,13 +478,17 @@ public List<DocumentKey> getDocumentsMatchingTarget(Target target) {
476478

477479
List<String> subQueries = new ArrayList<>();
478480
List<Object> bindings = new ArrayList<>();
481+
List<Target> subTargets = getSubTargets(target);
479482

480-
for (Target subTarget : getSubTargets(target)) {
483+
for (Target subTarget : subTargets) {
481484
FieldIndex fieldIndex = getFieldIndex(subTarget);
482485
if (fieldIndex == null) {
483486
return null;
484487
}
488+
}
485489

490+
for (Target subTarget : subTargets) {
491+
@NonNull FieldIndex fieldIndex = Objects.requireNonNull(getFieldIndex(subTarget));
486492
@Nullable List<Value> arrayValues = subTarget.getArrayValues(fieldIndex);
487493
@Nullable Collection<Value> notInValues = subTarget.getNotInValues(fieldIndex);
488494
Bound lowerBound = subTarget.getLowerBound(fieldIndex);

0 commit comments

Comments
 (0)