Skip to content

Commit be31d91

Browse files
committed
Add documentation
1 parent 9d8ed0f commit be31d91

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

firebase-firestore/src/androidTest/java/com/google/firebase/firestore/IndexingTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ public void testAutomaticIndexingSetSuccessfully() {
117117
.build();
118118
db.setFirestoreSettings(settings);
119119

120+
// Based on current heuristic, collection document counts (3) > 2 * resultSize (1).
120121
CollectionReference collection =
121122
testCollectionWithDocs(
122123
map(
@@ -135,13 +136,17 @@ public void testAutomaticIndexingSetSuccessfully() {
135136

136137
results = waitFor(collection.whereEqualTo("match", true).get());
137138
assertEquals(1, results.size());
139+
140+
assertDoesNotThrow(() -> db.getPersistentCacheIndexManager().deleteAllIndexes());
141+
assertEquals(1, results.size());
138142
}
139143

140144
@Test
141145
public void testAutomaticIndexingSetSuccessfullyUseDefault() {
142146
// Use persistent disk cache (default)
143147
FirebaseFirestore db = testFirestore();
144148

149+
// Based on current heuristic, collection document counts (3) > 2 * resultSize (1).
145150
CollectionReference collection =
146151
testCollectionWithDocs(
147152
map(
@@ -160,5 +165,8 @@ public void testAutomaticIndexingSetSuccessfullyUseDefault() {
160165

161166
results = waitFor(collection.whereEqualTo("match", true).get());
162167
assertEquals(1, results.size());
168+
169+
assertDoesNotThrow(() -> db.getPersistentCacheIndexManager().deleteAllIndexes());
170+
assertEquals(1, results.size());
163171
}
164172
}

firebase-firestore/src/main/java/com/google/firebase/firestore/PersistentCacheIndexManager.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ public void disableIndexAutoCreation() {
5353
client.disableIndexAutoCreation();
5454
}
5555

56+
/**
57+
* Removes all persistent cache indexes. Please note this function will also deletes indexes
58+
* generated by {@link FirebaseFirestore#setIndexConfiguration(String)}.
59+
*/
5660
public void deleteAllIndexes() {
5761
client.deleteAllFieldIndexes();
5862
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,8 @@ public ImmutableSortedMap<DocumentKey, Document> getDocumentsMatchingQuery(
112112
// TODO(csi): Auto experiment data.
113113
private void CreateCacheIndexes(Query query, QueryContext context, int resultSize) {
114114
String decisionStr = "";
115-
// If evaluation is updated, please update tests in SQLiteLocalStoreTest.java
115+
// If evaluation is updated, please update tests in SQLiteLocalStoreTest.java and
116+
// IndexingTest.java.
116117
if (context.getDocumentReadCount() > 2 * resultSize) {
117118
indexManager.createTargetIndices(query.toTarget());
118119
} else {

0 commit comments

Comments
 (0)