risingwave_frontend::optimizer::plan_node

Trait VisitPlan

source
pub trait VisitPlan: Visit<PlanRef> {
    // Required method
    fn visited<F>(&mut self, plan: &PlanRef, f: F)
       where F: FnMut(&mut Self);

    // Provided method
    fn dag_visit(&mut self, plan: &PlanRef) { ... }
}
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§

source

fn visited<F>(&mut self, plan: &PlanRef, f: F)
where F: FnMut(&mut Self),

Provided Methods§

source

fn dag_visit(&mut self, plan: &PlanRef)

Object Safety§

This trait is not object safe.

Implementors§