Expand description
An analysis that reports all known-equivalent expressions for each relation.
Expressions are equivalent at a relation if they are certain to evaluate to
the same Datum
for all records in the relation.
Equivalences are recorded in an EquivalenceClasses
, which lists all known
equivalences classes, each a list of equivalent expressions.
Structs§
- EQLattice 🔒
- Equivalence
Classes - A compact representation of classes of expressions that must be equivalent.
- Equivalence
Classes Withholding Errors - A wrapper struct for equivalence classes that witholds errors from the underlying equivalence classes, reintroducing them when extracting equivalences.
- Equivalences
- Pulls up and pushes down predicate information represented as equivalences
- Humanized
Equivalence Classes - Wrapper struct for human-readable printing of expressions inside
EquivalenceClasses
. (Similar toHumanizedExpr
. Unfortunately, we can’t just useHumanizedExpr
here, because we’d need toimpl Display for HumanizedExpr<'a, EquivalenceClasses, M>
, but neitherDisplay
norHumanizedExpr
is defined in this crate.)
Enums§
- EqClasses
Impl - An enum that can represent either a standard
EquivalenceClasses
or aEquivalenceClassesWithholdingErrors
.
Traits§
- Expression
Reducer - A type capable of simplifying
MirScalarExpr
s.
Functions§
- aggregate_
is_ 🔒input - True iff the aggregate function returns an input datum.