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.