[ 
https://issues.apache.org/jira/browse/ARROW-17989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17616998#comment-17616998
 ] 

Joris Van den Bossche commented on ARROW-17989:
-----------------------------------------------

Currently the StructFieldOptions have a {{std::vector<int> indices}} field. 

If we want to add ability to specify string names, one option would be to make 
this a vector of std::variant<int, std::string>?   
Or otherwise add a second option argument, eg {{names}}, that can be used to 
list strings. But then those two options can only be used exclusively (only of 
of both can be specified, not the nicest API). Also the variant would allow a 
mixture of names and indices, which is something that FieldRef also allows.


> [C++] Enable struct_field kernel to accept string field names
> -------------------------------------------------------------
>
>                 Key: ARROW-17989
>                 URL: https://issues.apache.org/jira/browse/ARROW-17989
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Joris Van den Bossche
>            Priority: Major
>              Labels: compute
>
> Currently the "struct_field" kernel only works for integer indices for the 
> child fields. From the StructFieldOption class 
> (https://github.com/apache/arrow/blob/3d7f2f22a0fc441a41b8fa971e11c0f4290ebb24/cpp/src/arrow/compute/api_scalar.h#L283-L285):
> {code}
>   /// The child indices to extract. For instance, to get the 2nd child
>   /// of the 1st child of a struct or union, this would be {0, 1}.
>   std::vector<int> indices;
> {code}
> It would be nice if you could also refer to fields by name in addition to by 
> position.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to