cynos_query/optimizer/pass.rs
1//! Optimizer pass trait.
2
3use crate::planner::LogicalPlan;
4
5/// An optimization pass that transforms a logical plan.
6pub trait OptimizerPass {
7 /// Optimizes the given logical plan.
8 fn optimize(&self, plan: LogicalPlan) -> LogicalPlan;
9
10 /// Returns the name of this pass.
11 fn name(&self) -> &'static str {
12 "unnamed"
13 }
14}