Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

...