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

Reply via email to