AggregateFunction 
This represents the interface for an aggregate function.

ArrayAgg 

Avg 
Accumulates (per tuple) and calculates the average of the values
of a column.

ConstantFunction 

Count 
Just a simple COUNT() implementation that counts every nonnull row it sees.

CountBig 
Just a simple COUNT() implementation that counts every nonnull row it sees.

FirstLastValue 
Just a simple First/Last_value() implementation

JSONArrayAgg 
Aggregates Json entries

LeadLagValue 
We store up to three values related to the lead/lag per row

Max 

Min 

NthValue 

Ntile 
Captures the row number and number of tiles for a given row
post processing logic uses the row count over the window
to calculate the final output

RankingFunction 
computes rank/dense_rank

RankingFunctionBig 
computes rank/dense_rank

SingleArgumentAggregateFunction 

StatsFunction 

StringAgg 
Aggregates binary and character strings

Sum 
Accumulates (per tuple) and calculates the sum of the values
of a column.

TextAgg 
Aggregates Text entries

UserDefined 

XMLAgg 
Aggregates XML entries
