Skip to content

Commit a8c97cc

Browse files
authored
Add with_page_index when using limit push down (#20)
1 parent 11a6be2 commit a8c97cc

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

crates/iceberg/src/arrow/reader.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,9 @@ impl ArrowReader {
175175
row_group_filtering_enabled: bool,
176176
row_selection_enabled: bool,
177177
) -> Result<ArrowRecordBatchStream> {
178-
let should_load_page_index =
179-
(row_selection_enabled && task.predicate.is_some()) || !task.deletes.is_empty();
178+
let should_load_page_index = (row_selection_enabled && task.predicate.is_some())
179+
|| !task.deletes.is_empty()
180+
|| task.limit.is_some();
180181

181182
// concurrently retrieve delete files and create RecordBatchStreamBuilder
182183
let (_, mut record_batch_stream_builder) = try_join!(
@@ -341,7 +342,7 @@ impl ArrowReader {
341342
// Create the record batch stream builder, which wraps the parquet file reader
342343
let record_batch_stream_builder = ParquetRecordBatchStreamBuilder::new_with_options(
343344
parquet_file_reader,
344-
ArrowReaderOptions::new(),
345+
ArrowReaderOptions::new().with_page_index(should_load_page_index),
345346
)
346347
.await?;
347348
Ok(record_batch_stream_builder)

0 commit comments

Comments
 (0)