sdf-jkl commented on code in PR #9118:
URL: https://github.com/apache/arrow-rs/pull/9118#discussion_r2679215509


##########
parquet/src/arrow/arrow_reader/selection.rs:
##########
@@ -800,14 +806,26 @@ impl MaskCursor {
             let mut chunk_rows = 0;
             let mut selected_rows = 0;
 
-            // Advance until enough rows have been selected to satisfy the 
batch size,
-            // or until the mask is exhausted. This mirrors the behaviour of 
the legacy
-            // `RowSelector` queue-based iteration.
-            while cursor < mask.len() && selected_rows < batch_size {
+            let mut page_end = mask.len();
+            if let Some(pages) = page_locations {
+                for loc in pages {

Review Comment:
   Maybe a binary search through a vec of page offsets? ~~Would have to 
construct the vec once beforehand to keep us from rebuilding it.~~



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to