Weston Pace created ARROW-15582:
-----------------------------------
Summary: [C++] Add support for registering tricky functions with
the Substrait consumer (or add a bunch of substrait meta functions)
Key: ARROW-15582
URL: https://issues.apache.org/jira/browse/ARROW-15582
Project: Apache Arrow
Issue Type: Improvement
Components: C++
Reporter: Weston Pace
Sometimes one Substrait function will map to multiple Arrow functions. For
example, the Substrait {{add}} function might be referring to Arrow's {{add}}
or {{add_checked}}. We need to figure out how to register this correctly (e.g.
one possible approach would be a {{substrait_add}} meta function).
Other times a substrait function will encode something Arrow considers an
"option" as a function argument. For example, the is_in Arrow function is
unary with an option for the lookup set. The substrait function is binary but
the second argument must be constant and be the lookup set. Neither of which
is to be confused with a truly binary is_in function which takes in a different
set at every row.
It's possible there is no work to do here other than adding a bunch of
substrait_ meta functions in Arrow. In that case all the work will be done in
other JIRAs. Or, it is possible that there is some kind of extension we can
make to the function registry that bypasses the need for the meta functions.
I'm leaving this JIRA open so future contributors can consider this second
option.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)