.window("row_number", BIGINT, ImmutableList.<Type>of(), RowNumberFunction.class)
.window("rank", BIGINT, ImmutableList.<Type>of(), RankFunction.class)
.window("dense_rank", BIGINT, ImmutableList.<Type>of(), DenseRankFunction.class)
.window("percent_rank", DOUBLE, ImmutableList.<Type>of(), PercentRankFunction.class)
.window("cume_dist", DOUBLE, ImmutableList.<Type>of(), CumulativeDistributionFunction.class)
.window("ntile", BIGINT, ImmutableList.<Type>of(BIGINT), NTileFunction.class)
.window("first_value", FirstValueFunction.class, "T", "T")
.window("last_value", LastValueFunction.class, "T", "T")
.window("nth_value", NthValueFunction.class, "T", "T", "bigint")
.window("lag", LagFunction.class, "T", "T")
.window("lag", LagFunction.class, "T", "T", "bigint")
.window("lag", LagFunction.class, "T", "T", "bigint", "T")
.window("lead", LeadFunction.class, "T", "T")
.window("lead", LeadFunction.class, "T", "T", "bigint")
.window("lead", LeadFunction.class, "T", "T", "bigint", "T")
.aggregate(CountAggregation.class)
.aggregate(VarianceAggregation.class)