Trait datafusion_optimizer::analyzer::AnalyzerRule
source · pub trait AnalyzerRule {
// Required methods
fn analyze(
&self,
plan: LogicalPlan,
config: &ConfigOptions
) -> Result<LogicalPlan>;
fn name(&self) -> &str;
}
Expand description
AnalyzerRule
s transform LogicalPlan
s in some way to make
the plan valid prior to the rest of the DataFusion optimization process.
For example, it may resolve Expr
s 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§
sourcefn analyze(
&self,
plan: LogicalPlan,
config: &ConfigOptions
) -> Result<LogicalPlan>
fn analyze( &self, plan: LogicalPlan, config: &ConfigOptions ) -> Result<LogicalPlan>
Rewrite plan