Expand description
Utility functions to transform parts of a single MirRelationExpr
into canonical form.
Functions§
- canonicalize_
equivalence_ classes - Canonicalize only the equivalence classes of a join.
- canonicalize_
equivalences - Canonicalize equivalence classes of a join and expressions contained in them.
- canonicalize_
predicates - Canonicalize predicates of a filter.
- compare_
predicates 🔒 - Comparison method for sorting predicates by their complexity, measured by the total number of non-literal expression nodes within the expression.
- flat_
map_ 🔒modify - Applies a flat_map on a Vec, and overwrites the vec with the result.
- get_
canonicalizer_ map - For each equivalence class, it finds the simplest expression, which will be the canonical one. Returns a Map that maps from each expression in each equivalence class to the canonical expression in the same equivalence class.
- is_
not_ 🔒null - Returns the inner operand if the given predicate is an IS NOT NULL expression.
- is_
null_ 🔒rejecting_ predicate - Whether the given predicate evaluates to NULL when the given operand expression is NULL.
- propagates_
null_ 🔒from_ subexpression - rank_
complexity 🔒 - Gives a relative complexity ranking for an expression. Higher numbers mean greater complexity.
- replace_
subexpr_ 🔒and_ reduce - Replace any matching subexpressions in
predicate
, and ifpredicate
has changed, reduce it. Return whetherpredicate
has changed.