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]
