pub trait AnalyzerRule {
    // Required methods
    fn analyze(
        &self,
        plan: LogicalPlan,
        config: &ConfigOptions
    ) -> Result<LogicalPlan>;
    fn name(&self) -> &str;
}
Expand description

AnalyzerRules transform LogicalPlans in some way to make the plan valid prior to the rest of the DataFusion optimization process.

For example, it may resolve `Exprs into more specific forms such as a subquery reference, to do type coercion to ensure the types of operands are correct.

This is different than an OptimizerRule which should preserve the semantics of the LogicalPlan but compute it the same result in some more optimal way.

Required Methods§

source

fn analyze( &self, plan: LogicalPlan, config: &ConfigOptions ) -> Result<LogicalPlan>

Rewrite plan

source

fn name(&self) -> &str

A human readable name for this analyzer rule

Implementors§