| 335 | namespace { |
| 336 | |
| 337 | Result<Datum> ExecuteInternal(const Function& func, std::vector<Datum> args, |
| 338 | int64_t passed_length, const FunctionOptions* options, |
| 339 | ExecContext* ctx) { |
| 340 | ARROW_ASSIGN_OR_RAISE(auto inputs, internal::GetFunctionArgumentTypes(args)); |
| 341 | ARROW_ASSIGN_OR_RAISE(auto func_exec, func.GetBestExecutor(inputs)); |
| 342 | ARROW_RETURN_NOT_OK(func_exec->Init(options, ctx)); |
| 343 | return func_exec->Execute(args, passed_length); |
| 344 | } |
| 345 | |
| 346 | } // namespace |
| 347 |