[
https://issues.apache.org/jira/browse/ARROW-16823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17554780#comment-17554780
]
Yaron Gvili commented on ARROW-16823:
-------------------------------------
Some design rationale:
* The scoped (or nested) registries are intended for temporary registration of
functions. A typical use case for this is execution of a Substrait plan that
includes UDFs (TBD). The UDFs get registered using a scoped
extension-id-registry and a scoped function-registry, which are used during
plan deserialization and execution, and thereafter can be dropped without ever
affecting the default/global registries. This can even be done for multiple
plans in parallel, each using separate scoped registries.
* The registration of external functions is intended for UDFs provided outside
of the Substrait plan they are used in. This is one way to plug in UDFs.
Another way is by embedding UDFs within the plan (TBD).
> [C++] Arrow Substrait enhancements for UDF
> ------------------------------------------
>
> Key: ARROW-16823
> URL: https://issues.apache.org/jira/browse/ARROW-16823
> Project: Apache Arrow
> Issue Type: Improvement
> Components: C++
> Reporter: Yaron Gvili
> Assignee: Yaron Gvili
> Priority: Major
> Labels: pull-request-available
> Time Spent: 8h 10m
> Remaining Estimate: 0h
>
> The enhancements include support for:
> * user-provided extension-id-registries and function-registries (for scoped
> registries)
> * registering a function (with an Id) external to the plan
> * a dataset-write-sink (for convenience and multiple outputting)
--
This message was sent by Atlassian Jira
(v8.20.7#820007)