Jefffrey commented on issue #18150: URL: https://github.com/apache/datafusion/issues/18150#issuecomment-3760260627
> [@Jefffrey](https://github.com/Jefffrey) I was thinking of going in the direction of adding an extract_async_exprs() method to the ExecutionPlan trait, which would be similar pattern of `gather_filters_for_pushdown()`, where each operator implements its own async expression extraction. A simple physical optimizer rule (ExtractAsyncFuncs) would then call this method on each node and insert AsyncFuncExec where needed. > > This would be the logic per-operator, will alos fixe the [#18149](https://github.com/apache/datafusion/issues/18149) schema mismatch bug (by properly reconstructing aggregates), and removes async handling complexity from the physical planner. > > Did you give this any thought? I can explore further if you have any feedback on this. That does sound like a potential avenue to explore; my only concern is it would be a physical optimizer rule that would become essential. I don't know what the stance is on physical optimizer rules, if they should stick purely to optimizing or if its fine that they act as rewriting into valid plans 🤔 -- 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]
