public override void Visit(SqlGroupByClause sqlGroupByClause) { this.writer.Write("GROUP BY "); sqlGroupByClause.Expressions[0].Accept(this); for (int i = 1; i < sqlGroupByClause.Expressions.Length; i++) { this.writer.Write(", "); sqlGroupByClause.Expressions[i].Accept(this); } }
public override SqlObject Visit(SqlGroupByClause sqlGroupByClause) { SqlScalarExpression[] expressions = new SqlScalarExpression[sqlGroupByClause.Expressions.Length]; for (int i = 0; i < sqlGroupByClause.Expressions.Length; i++) { expressions[i] = sqlGroupByClause.Expressions[i].Accept(this) as SqlScalarExpression; } return(SqlGroupByClause.Create(expressions)); }
public override int Visit(SqlGroupByClause sqlGroupByClause) { int hashCode = SqlGroupByClauseHashCode; for (int i = 0; i < sqlGroupByClause.Expressions.Length; i++) { hashCode = CombineHashes(hashCode, sqlGroupByClause.Expressions[i].Accept(this)); } return(hashCode); }
public SqlSelectQuery <T> GroupBy(Expression <Func <T, object> > columns) { if (columns == null) { return(this); } var clause = new SqlGroupByClause(columns); Clauses.Add(clause); return(this); }
public SqlSelectQuery <T> GroupBy(string columns) { if (columns == null) { return(this); } var exp = Expression.Constant(columns); var clause = new SqlGroupByClause(exp); Clauses.Add(clause); return(this); }
private static IEnumerable <IGrouping <GroupByKey, CosmosElement> > ExecuteGroupByClause( IEnumerable <CosmosElement> dataSource, SqlGroupByClause sqlGroupByClause) { return(dataSource.GroupBy( keySelector: (document) => { return GetGroupByKey( document, sqlGroupByClause.Expressions); }, comparer: GroupByKeyEqualityComparer.Singleton)); }
public override SqlObject VisitGroup_by_clause([NotNull] sqlParser.Group_by_clauseContext context) { Contract.Requires(context != null); List <SqlScalarExpression> groupByColumns = new List <SqlScalarExpression>(); foreach (sqlParser.Scalar_expressionContext scalarExpressionContext in context.scalar_expression_list().scalar_expression()) { groupByColumns.Add((SqlScalarExpression)this.Visit(scalarExpressionContext)); } return(SqlGroupByClause.Create(groupByColumns.ToImmutableArray())); }
public override bool Visit(SqlGroupByClause first, SqlObject secondAsObject) { if (!(secondAsObject is SqlGroupByClause second)) { return(false); } if (!SequenceEquals(first.Expressions, second.Expressions)) { return(false); } return(true); }
public void AddGroupByClause(SqlGroupByClause groupByClause) { foreach (var item in groupByClause.Items) { switch (item) { case SqlSimpleGroupByItem simpleItem: var tableColumn = Helper.GetTableColumn(( SqlColumnRefExpression )simpleItem.Expression, this); GroupByFields.Add(tableColumn); break; default: throw new NotImplementedException(); } } }
private void SetupClauses() { this.sqlSelectClause = new SqlSelectClause(this); this.sqlIntoClause = new SqlIntoClause(this); this.sqlFromClause = new SqlFromClause(this); this.sqlWhereClause = new SqlWhereClause(this); this.sqlGroupByClause = new SqlGroupByClause(this); this.sqlHavingClause = new SqlHavingClause(this); this.sqlOrderByClause = new SqlOrderByClause(this); }
public abstract void Visit(SqlGroupByClause sqlObject);
public virtual void Visited(SqlGroupByClause groupByClause) { // }
public virtual void Visiting(SqlGroupByClause groupByClause) { //sqlBuilder.Append("GroupBy "); }
public abstract TOutput Visit(SqlGroupByClause sqlObject, TArg input);
public virtual void Visiting(SqlGroupByClause groupByClause) { //sqlBuilder.Append("GroupBy "); }
public override void Visit(SqlGroupByClause codeObject) { }
public virtual void Visited(SqlGroupByClause groupByClause) { // }
public abstract TResult Visit(SqlGroupByClause sqlObject);