[ 
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)

Reply via email to