Skip to content

fix(parquet/metadata): preserve infinite floating-point statistics#1007

Open
fallintoplace wants to merge 1 commit into
apache:mainfrom
fallintoplace:fix/parquet-infinite-statistics
Open

fix(parquet/metadata): preserve infinite floating-point statistics#1007
fallintoplace wants to merge 1 commit into
apache:mainfrom
fallintoplace:fix/parquet-infinite-statistics

Conversation

@fallintoplace

Copy link
Copy Markdown
Contributor

Rationale for this change

Floating-point statistics use the largest finite values as their initial min/max bounds. Those are not identity values when a column contains only positive or negative infinity, so the writer records a finite bound that was not present in the data.

What changes are included in this PR?

  • Seed FLOAT, DOUBLE, and FLOAT16 statistics with positive and negative infinity.
  • Treat an inverted min/max pair as the empty or all-NaN sentinel.
  • Cover all-positive-infinity and all-negative-infinity inputs for all three types.

Are these changes tested?

Yes. The focused statistics tests, including the existing NaN and signed-zero coverage, pass.

@fallintoplace
fallintoplace requested a review from zeroshade as a code owner July 25, 2026 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant