public AstNullaryWindowExpression Update(AstNullaryWindowOperator @operator, AstWindow window)
        {
            if (@operator == _operator && window == _window)
            {
                return(this);
            }

            return(new AstNullaryWindowExpression(@operator, window));
        }
 public static string Render(this AstNullaryWindowOperator @operator)
 {
     return(@operator switch
     {
         AstNullaryWindowOperator.Count => "$count",
         AstNullaryWindowOperator.DenseRank => "$denseRank",
         AstNullaryWindowOperator.DocumentNumber => "$documentNumber",
         AstNullaryWindowOperator.Rank => "$rank",
         _ => throw new InvalidOperationException($"Unexpected nullary window operator: {@operator}.")
     });
 public AstNullaryWindowExpression(AstNullaryWindowOperator @operator, AstWindow window)
 {
     _operator = @operator;
     _window   = window;
 }