Skip to content

fix(ipc): preserve map child field metadata#809

Open
dimakuz wants to merge 1 commit into
apache:mainfrom
dimakuz:dima/ipc-map-field-metadata
Open

fix(ipc): preserve map child field metadata#809
dimakuz wants to merge 1 commit into
apache:mainfrom
dimakuz:dima/ipc-map-field-metadata

Conversation

@dimakuz
Copy link
Copy Markdown
Contributor

@dimakuz dimakuz commented May 11, 2026

Rationale for this change

IPC deserialization of MapType reconstructed map key/value children from only their data types, which dropped field-level metadata on the key and value fields. This could silently lose metadata such as field IDs after an IPC schema round-trip.

What changes are included in this PR?

The IPC metadata reader now reconstructs MapType using arrow.MapOfFields(...) with the already-deserialized key and value fields, preserving their metadata and nullability.

A regression test was added to verify that map key/value field metadata, item nullability, and KeysSorted survive an IPC schema round-trip.

Are these changes tested?

Yes - unit test included.

Are there any user-facing changes?

Yes - IPC schema deserialization now preserves field-level metadata on MapType key and value children.

@dimakuz dimakuz requested a review from zeroshade as a code owner May 11, 2026 06:58
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