alamb commented on code in PR #20337:
URL: https://github.com/apache/datafusion/pull/20337#discussion_r2849340132


##########
datafusion/physical-plan/src/execution_plan.rs:
##########
@@ -204,6 +206,74 @@ pub trait ExecutionPlan: Debug + DisplayAs + Send + Sync {
     /// joins).
     fn children(&self) -> Vec<&Arc<dyn ExecutionPlan>>;
 
+    /// Apply a closure `f` to each expression (non-recursively) in the current
+    /// physical plan node. This does not include expressions in any children.
+    ///
+    /// The closure `f` is applied to expressions in the order they appear in 
the plan.
+    /// The closure can return `TreeNodeRecursion::Continue` to continue 
visiting,
+    /// `TreeNodeRecursion::Stop` to stop visiting immediately, or 
`TreeNodeRecursion::Jump`
+    /// to skip any remaining expressions (though typically all expressions 
are visited).
+    ///
+    /// The expressions visited do not necessarily represent or even contribute

Review Comment:
   Many of the implementations added to this PR also visit the expressions in 
the output ordering. Is that something else we should mention in this 
documentation and example?



-- 
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]

Reply via email to