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]

Reply via email to