jayzhan211 commented on issue #10773: URL: https://github.com/apache/datafusion/issues/10773#issuecomment-2147301957
> Thank you @lewiszlw > > I agree that your design with an additional `InvokeInfo` is more elegant / easier to use and if we were starting today without any existing code / user defined functions it would likely be the best solution > > If we had an additional usecase for more information to pass to `invoke` (e.g. the `//we could add more info in the future`) I think that would make the argument for adding `info` more compelling. But the no rows case is so special it is hard to justify a large API churn in my opinion > > We have a large number of existing functions (not just in DataFusion itself but many other places) so I think changing the API would require substantial downstream changes. > > Given how specialized the usecase is ([159 `invoke`](https://github.com/search?q=repo%3Aapache%2Fdatafusion%20invoke&type=code), [7 `invoke_no_args`](https://github.com/search?q=repo%3Aapache%2Fdatafusion+invoke_no_args&type=code) I personally think adding `InvokeInfo` would be a larger cost than it would benefit. > > cc @jayzhan211 for your thoughts Totally agree, this is the reason why it is designed like this. If a situation arises where a function needs both arguments and row information, we can reconsider whether we need the `InvokeInfo` -- 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