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

Reply via email to