[ https://issues.apache.org/jira/browse/ARROW-16211?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17610963#comment-17610963 ]
Yaron Gvili commented on ARROW-16211: ------------------------------------- Consider a case where X, Y, and Z are disjoint sets of functions. One can register (the functions of) X in registry 1, then register Y in registry 2 whose parent is registry 1, and finally register Z in registry 3 whose parent is registry 2. With respect to the case described by Vibhata, I believe the default registry corresponds to registry 1, the first subset of functions corresponds to Y, and the second to Z. This works nicely when X, Y, and Z are known upfront; otherwise, one may need to register again. For example, suppose Y1 and Y2 are disjoint sets of functions whose union is Y, and one wants to register functions on top of those of X and Y1, then one would need to create a fresh registry whose parent is registry 1, and register Y1 again on this fresh registry. I think this is a reasonable result when not knowing upfront. In general, considering registries have extended scopes, I think it is better to create a fresh nested registry and keep it fixed while in use than to edit an existing one using removals while in use. > [C++][Python] Unregister compute functions > ------------------------------------------ > > Key: ARROW-16211 > URL: https://issues.apache.org/jira/browse/ARROW-16211 > Project: Apache Arrow > Issue Type: Sub-task > Components: C++, Python > Reporter: Vibhatha Lakmal Abeykoon > Priority: Major > > In general, when using UDFs, the user defines a function expecting a > particular outcome. When building the program, there needs to be a way to > update existing function kernels if it expands beyond what is planned before. > In such situations, there should be a way to remove the existing definition > and add a new definition. To enable this, the unregister functionality has to > be included. -- This message was sent by Atlassian Jira (v8.20.10#820010)