etseidl commented on code in PR #8191: URL: https://github.com/apache/arrow-rs/pull/8191#discussion_r2289289126
########## parquet/src/file/page_index/index_reader.rs: ########## @@ -146,22 +149,232 @@ pub(crate) struct ColumnIndex<'a> { } ); +/// column index +pub struct NativeColumnIndex<T: ParquetValueType> { + phantom_data: PhantomData<T>, + null_pages: Vec<bool>, + boundary_order: BoundaryOrder, + null_counts: Option<Vec<i64>>, + repetition_level_histograms: Option<Vec<i64>>, + definition_level_histograms: Option<Vec<i64>>, + // raw bytes for min and max values + min_bytes: Vec<u8>, + min_offsets: Vec<usize>, // offsets are really only needed for BYTE_ARRAY Review Comment: I find the offsets arrays to be clunky...and they should not needed for fixed-length types. This could be split into a struct that lacks the min/max, and then two new structs containing min/max for fixed-len types and byte_array. The enum below could then have different members. -- 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: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org