alamb commented on code in PR #22415: URL: https://github.com/apache/datafusion/pull/22415#discussion_r3281217269
########## docs/source/library-user-guide/upgrading/54.0.0.md: ########## @@ -171,7 +171,9 @@ where string types are preferred (`UNION`, `CASE THEN/ELSE`, `NVL2`). ### `ExecutionPlan::apply_expressions` is now a required method -`apply_expressions` has been added as a **required** method on the `ExecutionPlan` trait (no default implementation). The same applies to the `FileSource` and `DataSource` traits. Any custom implementation of these traits must now implement `apply_expressions`. +`apply_expressions` is now **required** on the `ExecutionPlan`, `FileSource`, +and `DataSource` traits. It visits every `PhysicalExpr` owned by the node so +callers can analyze or rewrite them (e.g. to discover dynamic filters). Review Comment: I think it would be very helpful if we can explain to an end user **when** they should include their nodes expressions in `apply_expressions` (or alternately when it is safe to NOT include expressions) I double checked the docs on apply_expressions and it implies to me (though does not explicitly say) that all the expressions in a node should be included. https://github.com/apache/datafusion/blob/dd8760d5a958d1b58b969d22ae634f98d51caef9/datafusion/physical-plan/src/execution_plan.rs#L205-L217 -- 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]
