You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "David Li (Jira)" <ji...@apache.org> on 2022/07/13 19:38:00 UTC

[jira] [Closed] (ARROW-16288) [C++] ValueDescr::SCALAR nearly unused and does not work for projection

     [ https://issues.apache.org/jira/browse/ARROW-16288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Li closed ARROW-16288.
----------------------------
    Resolution: Not A Problem

ValueDescr was simply removed.

> [C++] ValueDescr::SCALAR nearly unused and does not work for projection
> -----------------------------------------------------------------------
>
>                 Key: ARROW-16288
>                 URL: https://issues.apache.org/jira/browse/ARROW-16288
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Weston Pace
>            Priority: Major
>
> First, there are almost no kernels that actually use this shape.  Only the functions "all", "any", "list_element", "mean", "product", "struct_field", and "sum" have kernels with this shape.  Most kernels that have special logic for scalars handle it by using {{ValueDescr::ANY}}
> Second, when passing an expression to the project node, the expression must be bound based on the dataset schema.  Since the binding happens based on a schema (and not a batch) the function is bound to ValueDescr::ARRAY (https://github.com/apache/arrow/blob/a16be6b7b6c8271202ff766b99c199b2e29bdfa8/cpp/src/arrow/compute/exec/expression.cc#L461)
> This results in an error if the function has only ValueDescr::SCALAR kernels and would likely be a problem even if the function had both types of kernels because it would get bound to the wrong kernel.
> This simplest fix may be to just get rid of ValueDescr and change all kernels to ValueDescr::ANY behavior.  If we choose to keep it we will need to figure out how to handle this kind of binding.



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