Skip to content

test(reader): widen FLBA decimal page-index coverage and clarify docs - #3386

Merged
laskoviymishka merged 2 commits into
apache:mainfrom
anoopj:page-index-flba-decimal-followup
Oct 11, 2026
Merged

laskoviymishka merged 2 commits into
apache:mainfrom
anoopj:page-index-flba-decimal-followup

Conversation

@anoopj

@anoopj anoopj commented Oct 9, 2026

Copy link
Copy Markdown
Member

What changes are included in this PR?

Address review feedback on #3328:

  • Reframe the width-guard doc and inline comment as defence-in-depth against a non-conforming writer
  • Hoist the duplicated min/max decode into a single closure.
  • Add page-index tests

Are these changes tested?

Added tests

anoopj added 2 commits October 9, 2026 13:06
…d docs

Address review feedback on apache#3328:
- Reframe the width-guard doc and inline comment as defence-in-depth
  against a non-conforming writer
- Hoist the duplicated min/max decode into a single closure.
- Add page-index tests
/// signals a `column_index_truncate_length` truncation, and a truncated byte
/// prefix decodes to the wrong number under two's-complement.
/// Returns an error for a bound whose width differs from `type_length`.
/// Conforming writers never truncate a decimal column index (a truncated

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I checked this claim against both writers: parquet 59.3.0 (the version in Cargo.lock) skips truncation for Decimal/Float16 FIXED_LEN_BYTE_ARRAY in can_truncate_value, while parquet-java 1.17.1's BinaryTruncator.getTruncator only truncates String/Enum/JSON/BSON and returns the no-op truncator for decimals. Therefore, the "non-conforming writer" framing holds for files written by both iceberg-rust and iceberg-java.

@laskoviymishka laskoviymishka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for this one!

@laskoviymishka
laskoviymishka added this pull request to the merge queue Oct 11, 2026
Merged via the queue into apache:main with commit e42840b Oct 11, 2026
24 checks passed
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.

3 participants