Right now the single AstSetWindowFieldsWindowExpression class represents all possible SetWindowFields accumulators.
It does this by using an operator and a variable number of arguments.
But this can be error prone because the caller of the constructor needs to make sure to pass the arguments in the right order, with no parameter names to provide clues.
It also makes the Render methods overly complicated, because the variable number of arguments are rendered differently depending on the operator.
It would probably be helpful to have a class hierarchy instead of a single class for the SetWindowField accumulators.
- is depended on by
-
CSHARP-3529 Support $topN and similar accumulators in $group
- Closed