Module datafusion_optimizer::utils
source · [−]Expand description
Collection of utility functions that are leveraged by the query optimizer rules
Functions
returns a new LogicalPlan that wraps plan
in a LogicalPlan::Filter with
its predicate be all predicates
ANDed.
Returns all direct children Expression
s of expr
.
E.g. if the expression is “(a + 1) + 1”, it returns [“a + 1”, “1”] (as Expr objects)
Convenience rule for writing optimizers: recursively invoke
optimize on plan’s children and then return a node of the same
type. Useful for optimizer rules which want to leave the type
of plan unchanged but still apply to the children.
This also handles the case when the plan
is a LogicalPlan::Explain
.
returns a new expression where the expressions in expr
are replaced by the ones in
expressions
.
This is used in conjunction with expr_expressions
to re-write expressions.
converts “A AND B AND C” => [A, B, C]