You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Weston Pace (Jira)" <ji...@apache.org> on 2022/02/02 18:55:00 UTC

[jira] [Created] (ARROW-15534) [C++] Add convenience function to substrait consumer to create plan instead of declaration

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)