Ejemplo n.º 1
0
 public static string Render(this AstSetWindowFieldsOperator @operator)
 {
     return(@operator switch
     {
         AstSetWindowFieldsOperator.AddToSet => "$addToSet",
         AstSetWindowFieldsOperator.Average => "$avg",
         AstSetWindowFieldsOperator.Count => "$count",
         AstSetWindowFieldsOperator.CovariancePop => "$covariancePop",
         AstSetWindowFieldsOperator.CovarianceSamp => "$covarianceSamp",
         AstSetWindowFieldsOperator.DenseRank => "$denseRank",
         AstSetWindowFieldsOperator.Derivative => "$derivative",
         AstSetWindowFieldsOperator.DocumentNumber => "$documentNumber",
         AstSetWindowFieldsOperator.ExpMovingAvgWithAlphaWeighting => "$expMovingAvg",
         AstSetWindowFieldsOperator.ExpMovingAvgWithPositionalWeighting => "$expMovingAvg",
         AstSetWindowFieldsOperator.First => "$first",
         AstSetWindowFieldsOperator.Integral => "$integral",
         AstSetWindowFieldsOperator.Last => "$last",
         AstSetWindowFieldsOperator.Max => "$max",
         AstSetWindowFieldsOperator.Min => "$min",
         AstSetWindowFieldsOperator.Push => "$push",
         AstSetWindowFieldsOperator.Rank => "$rank",
         AstSetWindowFieldsOperator.Shift => "$shift",
         AstSetWindowFieldsOperator.StdDevPop => "$stdDevPop",
         AstSetWindowFieldsOperator.StdDevSamp => "$stdDevSamp",
         AstSetWindowFieldsOperator.Sum => "$sum",
         _ => throw new InvalidOperationException($"Unexpected SetWindowFields operator: {@operator}.")
     });
 public AstSetWindowFieldsWindowExpression(AstSetWindowFieldsOperator @operator, IEnumerable <AstExpression> args, AstSetWindowFieldsWindow window)
 {
     _operator = @operator;
     _args     = Ensure.IsNotNull(args, nameof(args)).AsReadOnlyList();
     _window   = window; // optional
 }