StructsΒ§
- Parent
Requirements - This is a βdata classβ we use within the
EnforceSortingrule to push downSortExecin the plan. In some cases, we can reduce the total computational cost by pushing downSortExecs through some executors. The object carries the parent required ordering and the (optional)fetchvalue of the parent node as its data.
EnumsΒ§
- Requirements
Compatibility π - Define the Requirements Compatibility
FunctionsΒ§
- assign_
initial_ requirements - Assigns the ordering requirement of the root node to the its children.
- build_
join_ πcolumn_ index - determine_
children_ πrequirement - Determine children requirements:
- expr_
source_ πside - handle_
custom_ πpushdown - Handles the custom pushdown of parent-required sorting requirements down to the child execution plans, considering whether the input order is maintained.
- handle_
hash_ πjoin - min_
fetch π - pushdown_
requirement_ πto_ children - Calculate the pushdown ordering requirements for children. If sort cannot be pushed down, return None.
- pushdown_
sorts - Tries to push down the sort requirements as far as possible, if decides a
SortExecis unnecessary removes it. - pushdown_
sorts_ πhelper - pushdown_
would_ πviolate_ requirements - Return true if pushing the sort requirements through a node would violate the input sorting requirements for the plan
- try_
pushdown_ πrequirements_ to_ join