pub trait VisitPlan: Visit<LogicalPlanRef> {
// Required method
fn visited<F>(&mut self, plan: &LogicalPlanRef, f: F)
where F: FnMut(&mut Self);
// Provided method
fn dag_visit(&mut self, plan: &LogicalPlanRef) { ... }
}Expand description
A more sophisticated Visit taking into account of the DAG structure of PlanRef.
In addition to Visit, one have to specify visited
to store and report visited LogicalShare nodes,
and the dag_visit function will take care to only visit every LogicalShare nodes once.
See also EndoPlan.
Required Methods§
fn visited<F>(&mut self, plan: &LogicalPlanRef, f: F)where
F: FnMut(&mut Self),
Provided Methods§
fn dag_visit(&mut self, plan: &LogicalPlanRef)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.