From dddd75037ddd0937f2526ae7b43b62f571b22f49 Mon Sep 17 00:00:00 2001 From: Greg Soltis Date: Tue, 8 May 2018 10:49:54 -0700 Subject: Introduce ReferenceDelegates (#1222) * Bump sequence number on resume token refresh * Style * Fix comment formatting * Add FSTReferenceDelegate definition and documentation * Add methods to return nil for delegates, wire up inMemoryPins * Add hook for removing a reference * Start work on reference delegates * Fix up tests to support adding documents at a sequence number * Implement removing references * Remove from target when dropped from local view * Fix warning * Add hooks for removal from mutation queue * Add hooks for limbo document updates * Style * Drop commented-out code * Fixup after merging master * Drop sequence number plumbing * Style * Drop errant semicolon --- Firestore/Source/Local/FSTLevelDBQueryCache.mm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Firestore/Source/Local/FSTLevelDBQueryCache.mm') diff --git a/Firestore/Source/Local/FSTLevelDBQueryCache.mm b/Firestore/Source/Local/FSTLevelDBQueryCache.mm index 97b218d..68b6f98 100644 --- a/Firestore/Source/Local/FSTLevelDBQueryCache.mm +++ b/Firestore/Source/Local/FSTLevelDBQueryCache.mm @@ -294,7 +294,8 @@ using firebase::firestore::model::DocumentKeySet; [FSTLevelDBTargetDocumentKey keyWithTargetID:targetID documentKey:key], emptyBuffer); self->_db.currentTransaction->Put( [FSTLevelDBDocumentTargetKey keyWithDocumentKey:key targetID:targetID], emptyBuffer); - } + [self->_db.referenceDelegate addReference:key target:targetID]; + }; } - (void)removeMatchingKeys:(const DocumentKeySet &)keys forTargetID:(FSTTargetID)targetID { @@ -303,6 +304,7 @@ using firebase::firestore::model::DocumentKeySet; [FSTLevelDBTargetDocumentKey keyWithTargetID:targetID documentKey:key]); self->_db.currentTransaction->Delete( [FSTLevelDBDocumentTargetKey keyWithDocumentKey:key targetID:targetID]); + [self->_db.referenceDelegate removeReference:key target:targetID]; [self.garbageCollector addPotentialGarbageKey:key]; } } -- cgit v1.2.3