Expand description
Window Function Evaluator
This module implements the core window function evaluation engine that:
- Partitions rows by PARTITION BY expressions
- Sorts partitions by ORDER BY clauses
- Calculates frame boundaries (ROWS mode)
- Evaluates window functions over frames
§Module Organization
The window function evaluator is split into logical modules:
partitioning- Partition management and row groupingsorting- Partition sorting and value comparisonframes- Frame boundary calculation (ROWS mode)ranking- Ranking functions (ROW_NUMBER, RANK, DENSE_RANK, NTILE)aggregates- Aggregate window functions (COUNT, SUM, AVG, MIN, MAX)value- Value access functions (LAG, LEAD, FIRST_VALUE, LAST_VALUE)utils- Shared utility functions
Structs§
- Frame
Result - Result of frame calculation including exclusion information
- Partition
- A partition of rows for window function evaluation
Functions§
- calculate_
frame - Calculate frame boundaries for a given row in a partition
- calculate_
frame_ with_ exclusion - Calculate frame with exclusion information
- compare_
values - Compare two SQL values for ordering
- evaluate_
avg_ window - Evaluate AVG aggregate window function over a frame
- evaluate_
count_ window - Evaluate COUNT aggregate window function over a frame
- evaluate_
cume_ dist - Evaluate CUME_DIST() window function
- evaluate_
dense_ rank - Evaluate DENSE_RANK() window function
- evaluate_
first_ value - Evaluate FIRST_VALUE() value window function
- evaluate_
group_ concat_ window - Evaluate GROUP_CONCAT aggregate window function over a frame
- evaluate_
lag - Evaluate LAG() value window function
- evaluate_
last_ value - Evaluate LAST_VALUE() value window function
- evaluate_
lead - Evaluate LEAD() value window function
- evaluate_
max_ window - Evaluate MAX aggregate window function over a frame
- evaluate_
min_ window - Evaluate MIN aggregate window function over a frame
- evaluate_
nth_ value - Evaluate NTH_VALUE() value window function
- evaluate_
ntile - Evaluate NTILE(n) window function
- evaluate_
percent_ rank - Evaluate PERCENT_RANK() window function
- evaluate_
rank - Evaluate RANK() window function
- evaluate_
row_ number - Evaluate ROW_NUMBER() window function
- evaluate_
sum_ window - Evaluate SUM aggregate window function over a frame
- partition_
rows - Partition rows by PARTITION BY expressions
- sort_
partition - Sort a partition by ORDER BY clauses
- validate_
frame - Validate a window frame specification, returning an error if invalid.