...
Frame_Bound ::= UNBOUNDED PRECEEDINGPRECEDING | expr PRECEEDINGPRECEDING | CURRENT ROW | UNBOUNDED FOLLOWING | expr FOLLOWING
...
- Running aggregate function: row-number(), rank(), dense_rank(), pecentpercent_rank(), ntile()
- SQL aggregate function: count(), sum(), avg(), min(), max(), etc
- SQL++ aggregate function: array_count(), array_sum(), strict_count(), strict_sum(), etc
frame_var is a variable which is bound to the frame contents and will be in-scope for function arguments. It contains an array (or multiset multi-set if there’s no order by) of objects where each object has the same structure as the GROUP AS variable object (one field for each variable in the current scope).
...
WindowSimplePushRuntime – used for row_number(), rank(), dense_rank() – running aggregates that do not require information about partition length
WindowMaterializingPushRuntime – used for percenpercent_rank(), ntile() – running aggregates that require information about partition length
WindowNestedPlansPushRuntime – used for regular aggregates – this is the only implementation that supports frame computation
...