gatesn commented on issue #12819: URL: https://github.com/apache/datafusion/issues/12819#issuecomment-2468845521
Yes that makes sense. Perhaps some of the conflict comes from the fact that we're using DataFusions expression library _without_ the LogicalPlan or any of the relational algebra. It is mostly working OK, we have found a few structs that could do with being made public! Is this use-case intended to be supported by DataFusion? Or should we be wrapping everything up in a LogicalPlan for execution? I mention this, because if we are expected to go via LogicalPlans for execution, then I would think that simplification is far more guaranteed to run than if we construct and evaluate the expressions ourselves. 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)) 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? -- 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