Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
datafusion_optimizer::utils - Rust
[go: Go Back, main page]

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.
Tries to convert an expression to conjunctive normal form (CNF).
Combines an array of filter expressions into a single filter expression consisting of the input filter expressions joined with logical AND.
Combines an array of filter expressions into a single filter expression consisting of the input filter expressions joined with logical OR.
Extracts correlating columns from expressions
Looks for correlating expressions: equality expressions with one field from the subquery, and one not in the subquery (closed upon from outer scope)
Merge and deduplicate two sets Column slices
Returns the first (and only) element in a slice, or an error
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.
Rewrites expr using rewriter, ensuring that the output has the same name as expr prior to rewrite, adding an alias if necessary.
Splits an binary operator tree Expr such as A <OP> B <OP> C => [A, B, C]
Splits an owned binary operator tree Expr such as A <OP> B <OP> C => [A, B, C]
Splits a conjunctive Expr such as A AND B AND C => [A, B, C]
Splits an owned conjunctive Expr such as A AND B AND C => [A, B, C]
Change the relation on a slice of Columns
Recursively un-alias an expressions
Recursively scans a slice of expressions for any Or operators