apache / apache/arrow

[C++] Update "options" handling for Substrait functions

Open
#33,329 0 comments 0 reactions 0 assignees View on GitHub
Component: C++ Type: bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.