[
https://issues.apache.org/jira/browse/ARROW-8313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17074329#comment-17074329
]
Pindikura Ravindra commented on ARROW-8313:
-------------------------------------------
This functionality is not supported yet and I'm not aware of anyone working on
it.
However, I think it shouldn't be very hard to support this. There are two
places where gandiva interacts with functions :
# Function registry
** the gandiva code looks for fns based on a signature (includes name & input
types) in a [function
registry|https://github.com/apache/arrow/blob/master/cpp/src/gandiva/function_registry.h].
The lookup function returns the name of the pre-compiled function
** This can be enhanced to support multiple registries - allow for
registration of additional registried in addition to the static one.
# Loading pre-compiled modules
** At the time of building the module, the [engine loads the pre-compiled
IR|https://github.com/apache/arrow/blob/master/cpp/src/gandiva/engine.cc#L159].
This will need to also load other registered libraries (either as a string or a
file).
And, we will need to come up with some scheme to avoid name conflicts - both
the names in the registry & the names of the functions.
> [Gandiva][UDF] Solutions to register new UDFs dynamically without checking it
> into arrow repo.
> ----------------------------------------------------------------------------------------------
>
> Key: ARROW-8313
> URL: https://issues.apache.org/jira/browse/ARROW-8313
> Project: Apache Arrow
> Issue Type: New Feature
> Reporter: ZMZ91
> Priority: Major
>
> Hi there,
> Recently I'm studying on gandiva and trying to add some UDF. I noted that
> it's needed to check the UDF implementation into the arrow repo, register the
> UDF and then build the UDF into precompiled_bitcode lib, right? I'm just
> wandering that is it possible to register new UDFs dynamically? Say I have
> the UDF implementation code locally which is not built into the gandiva lib
> yet, am I able to call some function or other solutions provided by gandiva
> officially to register and implement it. Thanks in advance.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)