Skip to content

[PoC] Implement Parquet GH-583 INT96 timestamp ColumnOrder#10106

Draft
etseidl wants to merge 49 commits into
apache:mainfrom
etseidl:int96_order
Draft

[PoC] Implement Parquet GH-583 INT96 timestamp ColumnOrder#10106
etseidl wants to merge 49 commits into
apache:mainfrom
etseidl:int96_order

Conversation

@etseidl

@etseidl etseidl commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

Spark continues to use INT96 timestamps, despite INT96 being marked as deprecated in 2018. Query engines want valid statistics to allow reliably pruning on INT96 columns. apache/parquet-format#584 adds a new ColumnOrder variant which can be used to signal compliance with the only known use of INT96 (4-byte julian day from epoch, 8-byte nanosecond).

What changes are included in this PR?

Adds support for the new enum variant, and writes the appropriate value in the FileMetaData.column_orders field.

This builds on changes introduced in #7687.

Are these changes tested?

Yes

Are there any user-facing changes?

Yes, this adds a new variant to public enums (ColumnOrder::INT96_TIMESTAMP_ORDER, SortOrder::INT96_TIMESTAMP).

@etseidl

etseidl commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

Note: this includes changes from #9619 and #10104, so it cannot be reviewed nor merged until those PRs are merged.

@etseidl etseidl added api-change Changes to the arrow API next-major-release the PR has API changes and it waiting on the next major version parquet Changes to the parquet crate labels Jun 10, 2026
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 next-major-release the PR has API changes and it waiting on the next major version parquet Changes to the parquet crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement PoC for Parquet GH-583: Introduce chronological ordering for INT96 timestamps

1 participant