| 879 | } |
| 880 | |
| 881 | bool NodeTable::lookupIndexRange(const Transaction* transaction, const std::string& indexName, |
| 882 | ValueVector* lowerBoundVector, uint64_t lowerBoundPos, bool lowerInclusive, |
| 883 | ValueVector* upperBoundVector, uint64_t upperBoundPos, bool upperInclusive, idx_t maxResults, |
| 884 | std::vector<offset_t>& results) const { |
| 885 | auto index = getIndex(indexName); |
| 886 | if (!index.has_value()) { |
| 887 | return false; |
| 888 | } |
| 889 | return index.value()->scanPrimaryKeyRange(lowerBoundVector, lowerBoundPos, lowerInclusive, |
| 890 | upperBoundVector, upperBoundPos, upperInclusive, maxResults, results, |
| 891 | [&](offset_t offset) { return isVisibleNoLock(transaction, offset); }); |
| 892 | } |
| 893 | |
| 894 | bool NodeTable::lookupIndex(const Transaction* transaction, const std::string& indexName, |
| 895 | ValueVector* keyVector, uint64_t keyPos, std::vector<offset_t>& results) const { |
no test coverage detected