Skip to content

Comments

feat(arrow/ipc): support custom_metadata on RecordBatch messages#669

Open
rustyconover wants to merge 1 commit intoapache:mainfrom
Query-farm:feature/recordbatch-custom-metadata
Open

feat(arrow/ipc): support custom_metadata on RecordBatch messages#669
rustyconover wants to merge 1 commit intoapache:mainfrom
Query-farm:feature/recordbatch-custom-metadata

Conversation

@rustyconover
Copy link

Rationale for this change

Arrow IPC Messages wrap RecordBatch data in a Message flatbuffer which has a custom_metadata field (vector of KeyValue pairs). PyArrow and other implementations use this to attach per-batch metadata, but the Go implementation previously ignored it on both read and write paths.

What changes are included in this PR?

Add a RecordBatchWithMetadata optional interface to avoid breaking the existing RecordBatch interface. The simpleRecord implementation carries metadata through NewSlice, SetColumn, and IPC round-trips. Includes PyArrow-generated test fixtures for interoperability validation.

Are these changes tested?

Yes tests are included.

Are there any user-facing changes?

Yes custom_metadata is now supported on RecordBatches.

This change was developed with AI assistance and manually reviewed.

Arrow IPC Messages wrap RecordBatch data in a Message flatbuffer which
has a custom_metadata field (vector of KeyValue pairs). PyArrow and
other implementations use this to attach per-batch metadata, but the
Go implementation previously ignored it on both read and write paths.

Add a RecordBatchWithMetadata optional interface to avoid breaking the
existing RecordBatch interface. The simpleRecord implementation carries
metadata through NewSlice, SetColumn, and IPC round-trips. Includes
PyArrow-generated test fixtures for interoperability validation.

This change was developed with AI assistance and manually reviewed.
Copy link
Member

@zeroshade zeroshade left a comment

Choose a reason for hiding this comment

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

just a couple of nitpick questions

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.

2 participants