private string Base(Expression exp) { var cached = (CachedExpression)exp; if (cached.Sql != null) { return(cached.Sql); } cached.Sql = exp switch { UnionExpression e => Union(e), SelectExpression e => Select(e), WhereExpression e => Where(e), MaxExpression e => Max(e), MinExpression e => Min(e), SumExpression e => Sum(e), CountExpression e => Count(e), TakeExpression e => Take(e), SkipExpression e => Skip(e), FirstExpression e => First(e), DistinctExpression e => Distinct(e), OrderByExpression e => OrderBy(e), OrderByDescendingExpression e => OrderByDescending(e), _ => throw new InvalidEnumArgumentException() }; return(cached.Sql); }
private static Expression HandleMin(HandlerContext handlerContext) { var minExpression = new MinExpression(handlerContext.SelectExpression.Projection.Single()); handlerContext.SelectExpression.SetProjectionExpression(minExpression); return((Expression)_transformClientExpressionMethodInfo .MakeGenericMethod(minExpression.Type) .Invoke(null, new object[] { handlerContext })); }
public Completion Min(object a, object b) { ExecutionEnvironment e = new ExecutionEnvironment(); e.RegisterValue("a", a); e.RegisterValue("b", b); MinExpression abs = new MinExpression(); abs.Args[0] = new Identifier("a"); abs.Args[1] = new Identifier("b"); return(abs.Execute(e)); }
public virtual Expression VisitMinExpression(MinExpression minExpression) { Check.NotNull(minExpression, "minExpression"); _sql.Append("MIN("); VisitExpression(minExpression.ColumnExpression); _sql.Append(")"); return(minExpression); }
public virtual Expression VisitMin(MinExpression minExpression) { Check.NotNull(minExpression, nameof(minExpression)); _sql.Append("MIN("); Visit(minExpression.Expression); _sql.Append(")"); return(minExpression); }
public virtual Expression VisitMin(MinExpression minExpression) { Check.NotNull(minExpression, nameof(minExpression)); _relationalCommandBuilder.Append("MIN("); Visit(minExpression.Expression); _relationalCommandBuilder.Append(")"); return(minExpression); }
private static Expression HandleMin(HandlerContext handlerContext) { if (!handlerContext.QueryModelVisitor.RequiresClientProjection) { var minExpression = new MinExpression(handlerContext.SelectExpression.Projection.Single()); handlerContext.SelectExpression.SetProjectionExpression(minExpression); return((Expression)_transformClientExpressionMethodInfo .MakeGenericMethod(minExpression.Type) .Invoke(null, new object[] { handlerContext })); } return(handlerContext.EvalOnClient()); }
private string Min(MinExpression exp) => $"SELECT MIN({Secondary.Serialize(exp.Selector.Body)}) FROM ({Serialize(exp.Sub)}) AS this";
public override bool Equals(QueryExpression other) { if (!(other is TimeSeriesBetweenExpression be)) { return(false); } return(Source.Equals(be.Source) && MaxExpression.Equals(be.MaxExpression) && MinExpression.Equals(be.MinExpression)); }
public override string GetText(IndexQueryServerSide parent) { return(Source.GetText(parent) + " between " + MinExpression.GetText(parent) + " and " + MaxExpression.GetText(parent)); }