Module mz_expr::relation::canonicalize
source ยท Expand description
Utility functions to transform parts of a single MirRelationExpr
into canonical form.
Functionsยง
- Canonicalize only the equivalence classes of a join.
- Canonicalize equivalence classes of a join and expressions contained in them.
- 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. - 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. - Whether the given predicate evaluates to NULL when the given operand expression is NULL.
- rank_
complexity ๐Gives a relative complexity ranking for an expression. Higher numbers mean greater complexity. - Replace any matching subexpressions in
predicate
, and ifpredicate
has changed, reduce it. Return whetherpredicate
has changed.