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 >
