Module datafusion::optimizer::utils [−][src]
Expand description
Collection of utility functions that are leveraged by the query optimizer rules
Functions
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)
Recursively walk an expression tree, collecting the unique set of columns referenced in the expression
Recursively walk a list of expression trees, collecting the unique set of columns referenced in the expression
Returns a new logical plan based on the original one with inputs and expressions replaced
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.