Skip to content

parquet: Add new PageIndex struct to encapsulate column and offset indexes - #10719

Open
etseidl wants to merge 21 commits into
apache:mainfrom
etseidl:new_page_index
Open

parquet: Add new PageIndex struct to encapsulate column and offset indexes#10719
etseidl wants to merge 21 commits into
apache:mainfrom
etseidl:new_page_index

Conversation

@etseidl

@etseidl etseidl commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Note: this is stacked on #10653

Rationale for this change

Following up on #10653 (review)

If we are going to mess with the APIs I think it may be worth considering some more drastic changes

What changes are included in this PR?

Try to hide some of the complexity of the page indexes behind a struct with accessors for access by row group, or row group and column.

Are these changes tested?

Should be covered by existing

Are there any user-facing changes?

Yes, this changes the public interface to the page indexes quite a bit.

@github-actions github-actions Bot added the parquet Changes to the parquet crate label Aug 17, 2026
@etseidl

etseidl commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

Changes from #10653 can be seen here.

If this looks ok, we can just merge this PR and close the earlier one.

cc @alamb

@etseidl etseidl added the api-change Changes to the arrow API label Aug 17, 2026
/// [PageIndex documentation]: https://github.com/apache/parquet-format/blob/master/PageIndex.md
/// [`OffsetIndex`]: https://github.com/apache/parquet-format/blob/master/PageIndex.md
pub type ParquetOffsetIndex = Vec<Vec<OffsetIndexMetaData>>;
impl PageIndex {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: better documentation

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done in c6edf24

@alamb

alamb commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Shal I give this one a look?

@etseidl

etseidl commented Aug 18, 2026

Copy link
Copy Markdown
Contributor Author

Shal I give this one a look?

Yes please. I think there's a todo left and it needs some better docs, but if you could take a look and see if you think this is the direction you wanted to head I'd appreciate it.

@alamb

alamb commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Thank you -- I will do so but probably not until tomorrow (I need a clear mind)

@etseidl
etseidl marked this pull request as ready for review August 19, 2026 18:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-change Changes to the arrow API parquet Changes to the parquet crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Explore changing the form of the Parquet page indexes in ParquetMetaData

2 participants