Weston Pace created ARROW-15534:
-----------------------------------
Summary: [C++] Add convenience function to substrait consumer to
create plan instead of declaration
Key: ARROW-15534
URL: https://issues.apache.org/jira/browse/ARROW-15534
Project: Apache Arrow
Issue Type: Improvement
Components: C++
Reporter: Weston Pace
This is a follow-up to ARROW-15238
The current API for Substrait is:
{code}
Result<std::vector<compute::Declaration>> DeserializePlan(
const Buffer&, const ConsumerFactory&, ExtensionSet* ext_set = NULLPTR)
{code}
This converts a plan into a vector of declarations (one per root-relation in
the Substrait plan)
These declarations then have to be added to an exec plan to run.
As a convenience we could alter the API:
{code}
Result<std::vector<compute::Declaration>> DeserializePlans(
const Buffer&, const ConsumerFactory&, ExtensionSet* ext_set = NULLPTR)
result<compute::ExecPlan> DeserializePlan(const Buffer&, const
ConsumerFactory&, ExtensionSet* ext_set = NULLPTR)
{code}
This would save the user from needing to create an empty exec plan (and it
could return an error if the substrait plan had multiple root relations).
--
This message was sent by Atlassian Jira
(v8.20.1#820001)