[C++] Update "options" handling for Substrait functions
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 91
Description
ARROW-17966 will adjust to the new style of options. However, many of our existing mappings are treating options incorrectly, largely because the Substrait function definitions changed after the mappings were added. For example, the arithmetic functions are always looking for an "overflow" option, even though that option is only defined for integral kernels.
For the time being, this is mostly harmless. No producers that I am aware of specify options yet. When they do, some of these issues will probably still be harmless. For example, it should not hurt to look for an overflow option when it can never be defined.
However, we should do a pass through and cleanup our handling of options once the Substrait spec has stabilized.
**Reporter**: [Weston Pace](https://issues.apache.org/jira/browse/ARROW-18133) / @westonpace
**Note**: *This issue was originally created as [ARROW-18133](https://issues.apache.org/jira/browse/ARROW-18133). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Contributor guide
Research direction
Start by reading ARROW-17966 and reviewing the existing Substrait function mappings, especially the arithmetic mappings and their overflow-option handling. Compare each mapping with the stabilized Substrait function definitions; done means the mappings no longer assume options that are not defined for the corresponding functions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- data-engineering
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100