alamb commented on issue #12819:
URL: https://github.com/apache/datafusion/issues/12819#issuecomment-2473177932

   > As a side note, all this annoyance ultimately comes from nullability 
living inside a Field instead of inside a DataType. But this is an Arrow 
decision we have to live with 🤷 ([or do 
we...?](https://github.com/apache/datafusion/issues/12622))
   
   Yes I agree. 
   
   > 
   > I'm not quite sure why adding a new `prepare` function would be less 
disruptive to the API than passing in the return_type to invoke? Perhaps making 
it `invoke(args: InvokeArgs)` would protect against future unforeseen API 
breaks?
   
   One reason we are likely a bit worried about changing the API again is that 
we are in the process of changing invoke already:
   - https://github.com/apache/datafusion/issues/13238
   
   So churning it again will be annoying downstream. That being said, I think 
it may be worth it if we follow your suggestion to make it `args: InvokeArgs`. 
This helps to:
   1. to protect against other API changes
   2. Is consistent with 
[`AccumulatorArgs`](https://docs.rs/datafusion/latest/datafusion/logical_expr/function/struct.AccumulatorArgs.html)
   
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to