Trait Optimizer

Source
pub trait Optimizer<T: NodeType> {
    // Required methods
    fn optimize(&mut self, root_rel: ArcPlanNode<T>) -> Result<ArcPlanNode<T>>;
    fn get_property<P: PropertyBuilder<T>>(
        &self,
        root_rel: PlanNodeOrGroup<T>,
        idx: usize,
    ) -> P::Prop;
}

Required Methods§

Source

fn optimize(&mut self, root_rel: ArcPlanNode<T>) -> Result<ArcPlanNode<T>>

Source

fn get_property<P: PropertyBuilder<T>>( &self, root_rel: PlanNodeOrGroup<T>, idx: usize, ) -> P::Prop

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.

Implementors§