alamb commented on PR #13290: URL: https://github.com/apache/datafusion/pull/13290#issuecomment-2484125372
> Cool, Are you sure we want to reuse invoke, this will stop anyone updating their DF version unless they remove invoke_no_args and then use ScalarFunctionArgs It seems to me that `invoke` was deprecated in 42, and we have now released 43. I think it would be ok to reuse invoke now -- maybe with a not in the documentation that it used to have a different signature. https://docs.rs/datafusion/latest/datafusion/logical_expr/trait.ScalarUDFImpl.html#method.invoke So I propose we change the API "one last time". Note if we are going to do this I would like to also change the function to get owned arguments (so long term we can potentially do optimizations like reusing the underlying buffers with kernels like [unary_mut](https://docs.rs/arrow/latest/arrow/compute/fn.unary_mut.html) So something like ```rust struct ScalarFunctionArgs<'a> { pub args: Vec<ColumnarValue>, pun num_rows: usize, pub return_type: &'a DataType, } ``` Thank you for bearing with us @joseph-isaacs -- 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: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org