pub trait ExprRewriter<E = Expr>where
    E: ExprRewritable,
{ fn mutate(&mut self, expr: E) -> Result<E, DataFusionError>; fn pre_visit(
        &mut self,
        _expr: &E
    ) -> Result<RewriteRecursion, DataFusionError> { ... } }
Expand description

Trait for potentially recursively rewriting an Expr expression tree. When passed to Expr::rewrite, ExpressionVisitor::mutate is invoked recursively on all nodes of an expression tree. See the comments on Expr::rewrite for details on its use

Required Methods

Invoked after all children of expr have been mutated and returns a potentially modified expr.

Provided Methods

Invoked before any children of expr are rewritten / visited. Default implementation returns Ok(RewriteRecursion::Continue)

Implementations on Foreign Types

Implementors