Commit 5368508
authored
Remove erroneous logic in ComputeViews. (#10101)
See similar logic in [Android](https://cs.opensource.google/firebase-sdk/firebase-android-sdk/+/master:firebase-firestore/src/main/java/com/google/firebase/firestore/local/LocalDocumentsView.java;l=173-176?q=LocalDocumentsView.java&ss=firebase-sdk%2Ffirebase-android-sdk) and [Web](https://cs.opensource.google/firebase-sdk/firebase-js-sdk/+/master:packages/firestore/src/local/local_documents_view.ts;l=239-244?q=computeviews&ss=firebase-sdk%2Ffirebase-js-sdk).
This is inserting into a map while its being iterated over. Note that SortedMap
does not guarantee pointer stability. In fact, upon insertion, SortedMap may
[switch](https://cs.opensource.google/firebase-sdk/firebase-ios-sdk/+/master:Firestore/core/src/immutable/sorted_map.h;l=186-197?q=sorted_map.h&ss=firebase-sdk%2Ffirebase-ios-sdk) to using a different underlying data structure (tree rather than array)
which invalidates pointers.
Fixes #9965.1 parent c105a0d commit 5368508
2 files changed
+3
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
4 | 7 | | |
5 | 8 | | |
6 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
266 | 266 | | |
267 | 267 | | |
268 | 268 | | |
269 | | - | |
270 | 269 | | |
271 | 270 | | |
272 | 271 | | |
| |||
0 commit comments