kou commented on PR #38116: URL: https://github.com/apache/arrow/pull/38116#issuecomment-1762242670
Thanks. I didn't know the existing mechanism. It seems that we need to extend the existing `FunctionHolderRegistry` (e.g. adding `FunctionHolderRegistry::Add()`) to implement a external function that is implemented in a normal function (not precompiled IR). And users need to call `FunctionRegistry::Add()`, `ExportedFuncsRegistry::Register()` (ah, we may want to rename `FunctionRegistry::Add()` to `FunctionRegistry::Register()`) and `FunctionHolderRegistry::Add()`. (Note that this is out of scope of this PR.) For the case, I propose that we add `using FunctionHolderMaker = std::add_pointer<result<FunctionHolder>(const FunctionNode&)>::type; FunctionRegistry::Add(std::vector<NativeFunction> funcs, FunctionHolderMaker maker)` (`ExportedFuncsRegistry` related argument may be needed too) instead of extending `FunctionHolderReigstry`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
