diff options
author | zxu <zxu@google.com> | 2018-03-05 11:30:59 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-05 11:30:59 -0500 |
commit | 1c40e7aada6b32bbc621f06fb5f380149606a58d (patch) | |
tree | 6dee81f74f8a33d1beae915d9227caf28b8e2598 /Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.mm | |
parent | 9b5b4d876eb77e65b3246614855088be101eebf3 (diff) |
add converters and port paths to FSTQuery (#869)
* add converters and fix FSTQuery.{h,m} only
* address changes
* a change forget to address
* add a dummy function to make inline-only-library buildable
Diffstat (limited to 'Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.mm')
-rw-r--r-- | Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.mm | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.mm b/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.mm index b842cb5..17ecb53 100644 --- a/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.mm +++ b/Firestore/Source/Local/FSTLevelDBRemoteDocumentCache.mm @@ -104,7 +104,8 @@ static ReadOptions StandardReadOptions() { // Documents are ordered by key, so we can use a prefix scan to narrow down // the documents we need to match the query against. - std::string startKey = [FSTLevelDBRemoteDocumentKey keyPrefixWithResourcePath:query.path]; + std::string startKey = [FSTLevelDBRemoteDocumentKey + keyPrefixWithResourcePath:[FSTResourcePath resourcePathWithCPPResourcePath:query.path]]; std::unique_ptr<Iterator> it(_db->NewIterator(StandardReadOptions())); it->Seek(startKey); @@ -112,7 +113,7 @@ static ReadOptions StandardReadOptions() { for (; it->Valid() && [currentKey decodeKey:it->key()]; it->Next()) { FSTMaybeDocument *maybeDoc = [self decodedMaybeDocument:it->value() withKey:currentKey.documentKey]; - if (![query.path isPrefixOfPath:maybeDoc.key.path]) { + if (!query.path.IsPrefixOf([maybeDoc.key.path toCPPResourcePath])) { break; } else if ([maybeDoc isKindOfClass:[FSTDocument class]]) { results = [results dictionaryBySettingObject:(FSTDocument *)maybeDoc forKey:maybeDoc.key]; |