hhhizzz commented on code in PR #10735:
URL: https://github.com/apache/arrow-rs/pull/10735#discussion_r3809556627
##########
parquet/src/arrow/arrow_reader/selection/cursor.rs:
##########
@@ -176,10 +176,11 @@ impl SelectorsCursor {
/// LoadedRowRanges: [0, 4) [10, 12)
/// ```
///
-/// The first chunk decodes `[0, 4)` with mask `1000`. The next chunk skips to
-/// row 11 and decodes `[11, 12)` with mask `1`. The loaded ranges are decode
-/// boundaries, not output batch boundaries: [`ParquetRecordBatchReader`]
-/// accumulates both chunks and applies the combined mask `10001` once.
+/// The first chunk decodes `[0, 1)` with mask `1`. The next chunk skips to row
+/// 11 and decodes `[11, 12)` with mask `1`. Trimming trailing skipped rows
from
Review Comment:
Thanks, agreed. I rewrote the MaskCursor documentation to state the cursor
invariant directly: when loaded ranges are present, every returned chunk ends
at a selected row and contains no trailing unselected rows. I moved the caching
dependency to CachedArrayReader::fetch_batch, where the full-batch fallback
actually relies on that guarantee, and kept the predicate-side comment focused
on expanding cached columns to cache batch boundaries.
--
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]