| 308 | } |
| 309 | |
| 310 | TEST(TestPredicatePushdown, testPredicatePushdown) { |
| 311 | MemoryOutputStream memStream(DEFAULT_MEM_STREAM_SIZE); |
| 312 | MemoryPool* pool = getDefaultPool(); |
| 313 | createMemTestFile(memStream, 1000); |
| 314 | auto inStream = std::make_unique<MemoryInputStream>(memStream.getData(), memStream.getLength()); |
| 315 | ReaderOptions readerOptions; |
| 316 | readerOptions.setMemoryPool(*pool); |
| 317 | std::unique_ptr<Reader> reader = createReader(std::move(inStream), readerOptions); |
| 318 | EXPECT_EQ(3500, reader->getNumberOfRows()); |
| 319 | |
| 320 | TestRangePredicates(reader.get()); |
| 321 | TestNoRowsSelected(reader.get()); |
| 322 | TestOrPredicates(reader.get()); |
| 323 | |
| 324 | uint64_t seekRowNumbers[] = {0, 10, 100, 500, 999, 1000, 1001, 4000}; |
| 325 | for (uint64_t seekRowNumber : seekRowNumbers) { |
| 326 | TestSeekWithPredicates(reader.get(), seekRowNumber); |
| 327 | } |
| 328 | |
| 329 | TestMultipleSeeksWithPredicates(reader.get()); |
| 330 | } |
| 331 | |
| 332 | void TestMultipleSeeksWithoutRowIndexes(Reader* reader, bool createSarg) { |
| 333 | RowReaderOptions rowReaderOpts; |
nothing calls this directly
no test coverage detected