Module datafusion_physical_expr::equivalence
source · Structs§
- A structure representing a expression known to be constant in a physical execution plan.
- An
EquivalenceClass
is a set ofArc<dyn PhysicalExpr>
s that are known to have the same value for all tuples in a relation. These are generated by equality predicates (e.g.a = b
), typically equi-join conditions and equality conditions in filters. - An
EquivalenceGroup
is a collection ofEquivalenceClass
es where each class represents a distinct equivalence class in a relation. - A
EquivalenceProperties
object stores useful information related to a schema. Currently, it keeps track of: - An
OrderingEquivalenceClass
object keeps track of different alternative orderings than can describe a schema. For example, consider the following table: - Stores the mapping between source expressions and target expressions for a projection.
Functions§
- Adds the
offset
value toColumn
indices insideexpr
. This function is generally used during the update of the right table schema in join operations. - Calculates the union (in the sense of
UnionExec
)EquivalenceProperties
of the givenEquivalenceProperties
ineqps
according to the given outputschema
(which need not be the same with those oflhs
andrhs
as details such as nullability may be different). - This function constructs a duplicate-free
LexOrderingReq
by filtering out duplicate entries that have same physical expression inside. For example,vec![a Some(ASC), a Some(DESC)]
collapses tovec![a Some(ASC)]
. - Calculate ordering equivalence properties for the given join operation.