Structs§

  • An EquivalenceClass is a set of Arc<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 of EquivalenceClasses 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 to Column indices inside expr. This function is generally used during the update of the right table schema in join operations.
  • 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 to vec![a Some(ASC)].
  • Calculate ordering equivalence properties for the given join operation.