haohuaijin opened a new issue, #10424:
URL: https://github.com/apache/arrow-rs/issues/10424

   **Is your feature request related to a problem or challenge? Please describe 
what you are trying to do.**
   
   Follow up to #10141.
   
   `parquet/src/arrow/arrow_reader/selection/mod.rs` has grown past 2100 lines
   (plus ~1300 lines in `selection/boolean.rs`) and now mixes several concerns:
   
   - the `RowSelection` type and its public API,
   - the set-algebra helpers (`intersection` / `union` / `and_then` and the
     selector-merge algorithms),
   - the cursor machinery (`RowSelectionCursor`, `RowSelectionPolicy`,
     `RowSelectionStrategy`),
   - a large test module.
   
   This was noted during review of #10141 but deferred to keep that PR's diff
   reviewable.
   
   **Describe the solution you'd like**
   
   A mechanical, no-functional-change reorganization, e.g.:
   
   - `selection/mod.rs` — `RowSelection`, `RowSelector`, public API surface
   - `selection/algebra.rs` — intersection/union/and_then and merge helpers
   - `selection/cursor.rs` — cursor and policy/strategy types
   - `selection/boolean.rs` — (existing) mask-specific implementation
   - tests moved next to the code they cover
   
   The public API (`parquet::arrow::arrow_reader::{RowSelection, RowSelector,
   RowSelectionCursor, RowSelectionPolicy, RowSelectionIter, MaskRunIter}`) 
must be
   unchanged.
   
   **Describe alternatives you've considered**
   
   Leaving the file as is; it works but is increasingly hard to navigate and
   review.


-- 
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