Skip to content

feat(parquet): relax type compatility check in parquet ArrowWriter#9099

Merged
alamb merged 1 commit into
apache:mainfrom
splitgraph:level-info-builder-type-compatibility
Jan 7, 2026
Merged

feat(parquet): relax type compatility check in parquet ArrowWriter#9099
alamb merged 1 commit into
apache:mainfrom
splitgraph:level-info-builder-type-compatibility

Conversation

@gruuya

@gruuya gruuya commented Jan 6, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Rationale for this change

Don't require strict equality for nested fields (including inner field name/metadata), just require that nested data types are logically equivalent.

What changes are included in this PR?

Use a.equals_datatype(b) instead of a == b at the start of LevelInfoBuilder::types_compatible.

Are these changes tested?

Yes.

Are there any user-facing changes?

@github-actions github-actions Bot added the parquet Changes to the parquet crate label Jan 6, 2026
@gruuya

gruuya commented Jan 6, 2026

Copy link
Copy Markdown
Contributor Author

cc @albertlockett this overlaps/extends some of your recent work.

@albertlockett albertlockett 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.

looks good. Thanks @gruuya

@gruuya gruuya changed the title feat: relax type compatility check in parquet ArrowWriter feat(parquet): relax type compatility check in parquet ArrowWriter Jan 6, 2026
@tustvold

tustvold commented Jan 6, 2026

Copy link
Copy Markdown
Contributor

I don't think it does, but can you confirm this doesn't conflict with #9077

@gruuya

gruuya commented Jan 6, 2026

Copy link
Copy Markdown
Contributor Author

I don't think it does, but can you confirm this doesn't conflict with #9077

I think it doesn't. To confirm i checked out your cleanup-casting branch, applied my changes from this PR on top of it, and (the modified) arrow_writer_test_type_compatibility still passes.

@alamb alamb 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.

@alamb alamb merged commit 2b179b8 into apache:main Jan 7, 2026
17 checks passed
@alamb

alamb commented Jan 7, 2026

Copy link
Copy Markdown
Contributor

Thanks again

richox pushed a commit to auron-project/arrow-rs that referenced this pull request Feb 11, 2026
…pache#9099)

- Closes apache#9098.

Don't require strict equality for nested fields (including inner field
name/metadata), just require that nested data types are logically
equivalent.

Use `a.equals_datatype(b)` instead of `a == b` at the start of
`LevelInfoBuilder::types_compatible`.

Yes.
richox pushed a commit to auron-project/arrow-rs that referenced this pull request Feb 11, 2026
…pache#9099)

- Closes apache#9098.

Don't require strict equality for nested fields (including inner field
name/metadata), just require that nested data types are logically
equivalent.

Use `a.equals_datatype(b)` instead of `a == b` at the start of
`LevelInfoBuilder::types_compatible`.

Yes.
richox pushed a commit to auron-project/arrow-rs that referenced this pull request Feb 11, 2026
…pache#9099)

- Closes apache#9098.

Don't require strict equality for nested fields (including inner field
name/metadata), just require that nested data types are logically
equivalent.

Use `a.equals_datatype(b)` instead of `a == b` at the start of
`LevelInfoBuilder::types_compatible`.

Yes.
richox pushed a commit to auron-project/arrow-rs that referenced this pull request Feb 11, 2026
…pache#9099)

- Closes apache#9098.

Don't require strict equality for nested fields (including inner field
name/metadata), just require that nested data types are logically
equivalent.

Use `a.equals_datatype(b)` instead of `a == b` at the start of
`LevelInfoBuilder::types_compatible`.

Yes.
richox pushed a commit to auron-project/arrow-rs that referenced this pull request Feb 11, 2026
…pache#9099)

- Closes apache#9098.

Don't require strict equality for nested fields (including inner field
name/metadata), just require that nested data types are logically
equivalent.

Use `a.equals_datatype(b)` instead of `a == b` at the start of
`LevelInfoBuilder::types_compatible`.

Yes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

parquet Changes to the parquet crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[parquet] further relax LevelInfoBuilder::types_compatible for ArrowWriter

4 participants