Hi Kou,
I think this might be based on the spec [1]:

"The names of the child fields may be respectively "entries", "key", and
"value", but this is not enforced."

Cheers,
Micah


[1] https://github.com/apache/arrow/blob/main/format/Schema.fbs#L128

On Tue, Mar 3, 2026 at 9:14 PM Sutou Kouhei <[email protected]> wrote:

> Hi,
>
> Recently, I'm implementing pure Ruby Apache Arrow reader and
> writer. Currently, I've added the pure Ruby implementation
> to our integration test:
> https://github.com/apache/arrow/pull/49423
>
> I noticed that the C++ implementation ignores key/item/value
> field names of map type ("key"/"value"/"entries" are always
> used) in the work:
> https://github.com/apache/arrow/issues/49415
>
> I've fixed it: https://github.com/apache/arrow/pull/49416
>
> But I also noticed that the .NET/Go/JS implementations also
> ignores key/item/value field names of map type
> ("key"/"value"/"entries" are always used). The Rust
> implementation and nanoarrow use field names in Apache Arrow
> data.
>
> I think that key/item/value field names of map type in
> Apache Arrow data should not be ignored. Is it correct?
>
> If it's correct, should we validate the behavior in our
> integration test?
>
> I've added "no_map_field_names_validate" quirk in
> https://github.com/apache/arrow/pull/49423 to control
> whether we should validate map field names or not.
>
>
> Thanks,
> --
> kou
>

Reply via email to