Structs

  • The ExprOrdering struct is designed to aid in the determination of ordering (represented by SortProperties) for a given PhysicalExpr. When analyzing the orderings of a PhysicalExpr, the process begins by assigning the ordering of its leaf nodes. By propagating these leaf node orderings upwards in the expression tree, the overall ordering of the entire PhysicalExpr can be derived.

Enums

  • To propagate SortOptions across the PhysicalExpr, it is insufficient to simply use Option<SortOptions>: There must be a differentiation between unordered columns and literal values, since literals may not break the ordering when they are used as a child of some binary expression when the other child has some ordering. On the other hand, unordered columns cannot maintain ordering when they take part in such operations.

Functions