etseidl opened a new issue, #11395: URL: https://github.com/apache/arrow-rs/issues/11395
### Is your feature request related to a problem or challenge? This is a followup to a [comment](https://github.com/apache/arrow-rs/pull/11157#discussion_r4144630473) in #11157. >The interaction between PageIndexPolicy and the ColumnChunkMask is complicated, especially when there is an existing PageIndex in ParquetMetadata > >One potential API we could consider is a new variant in `PageIndexPolicy::Mask` to avoid having to thread through another set of variables. > >```rust >pub enum PageIndexPolicy { > /// Do not read the page index. > #[default] > Skip, >... > /// Ensure the specified indexes exist, and error if not > Required(ColumnChunkMask), > /// Load the specified indexes if they exist > Optional(ColumnChunkMask), >} >``` > >However, that would be an API change as `PageIndexPolicy` isn't marked as `non_exhastive` so we would have to either >1. Wait for the next major release >2. Go with this API, and then unify PageIndexPolicy, and deprecate `with_column_index_mask` et al methods in next major version 🤔 ### Describe the solution you'd like #11157 will ship with the policy and mask specified separately, so this represents option 2 above. The goal is to modify `PageIndexPolicy` either as above, or potentially via new variants, to provide the chunk masks along with the policy. This will be a breaking API change so it will have to wait for 61.0.0. ### Describe alternatives you've considered Keep the existing API, but that is pretty cluttered already. It's best to have a single mechanism to specify how to build the page indexes. ### Additional context _No response_ -- 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]
