diff --git a/FirebaseDatabase/Sources/Core/FSyncTree.m b/FirebaseDatabase/Sources/Core/FSyncTree.m index 07cf0363367..3f80b35b8c6 100644 --- a/FirebaseDatabase/Sources/Core/FSyncTree.m +++ b/FirebaseDatabase/Sources/Core/FSyncTree.m @@ -737,11 +737,12 @@ - (FIndexedNode *)persistenceServerCache:(FQuerySpec *)querySpec { - (id)getServerValue:(FQuerySpec *)query { __block id serverCacheNode = nil; __block FSyncPoint *targetSyncPoint = nil; + __block FPath *relativePath = nil; [self.syncPointTree forEachOnPath:query.path whileBlock:^BOOL(FPath *pathToSyncPoint, FSyncPoint *syncPoint) { - FPath *relativePath = [FPath relativePathFrom:pathToSyncPoint - to:query.path]; + relativePath = [FPath relativePathFrom:pathToSyncPoint + to:query.path]; serverCacheNode = [syncPoint completeEventCacheAtPath:relativePath]; targetSyncPoint = syncPoint; @@ -772,7 +773,7 @@ - (FIndexedNode *)persistenceServerCache:(FQuerySpec *)querySpec { getView:query writesCache:[_pendingWriteTree childWritesForPath:[query path]] serverCache:serverCache]; - return [view completeEventCache]; + return [view completeEventCacheFor: relativePath]; } /**