apache / apache/arrow

[C++] Rename "struct_field" kernel, or add new kernel for generic FieldRef selection in projections?

Open
#14,971 2 comments 0 reactions 0 assignees View on GitHub
Component: C++
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

We have a `"struct_field"` kernel that was added to perform a FieldRef selection in compute / projection context (https://github.com/apache/arrow/pull/11641).
Although it is called "struct_..", it can actually already handle a union type as well. And https://github.com/apache/arrow/pull/14697 is expanding it further to also allow a FieldRef to select a list element.

So if the current "struct_field" kernel is evolving in a kernel to perform any kind if Field Reference lookup, should we rename it to something more generic like "select_field"?
(or add a separate kernel that does that, and keep "struct_field" specific to structs?)

cc @lidavidm @westonpace

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing `struct_field` kernel and the changes described in pull requests 11641 and 14697. Determine whether the project should rename the kernel or introduce a separate generic FieldRef kernel; done requires a resolved scope and naming decision.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
data
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.