internal override SqlRow VisitRow(SqlRow row) { foreach (SqlColumn column in row.Columns) { column.Alias = this.alias; } return(base.VisitRow(row)); }
internal override SqlRow VisitRow(SqlRow row) { SqlRow row2 = new SqlRow(row.SourceExpression); foreach (SqlColumn column in row.Columns) { row2.Columns.Add((SqlColumn)this.Visit(column)); } return(row2); }
internal virtual SqlRow VisitRow(SqlRow row) { int num = 0; int count = row.Columns.Count; while (num < count) { row.Columns[num].Expression = this.VisitExpression(row.Columns[num].Expression); num++; } return(row); }
private void ConvertColumnsToMax(SqlSelect select, out bool changed, out bool containsLongExpressions) { SqlRow row = select.Row; changed = false; containsLongExpressions = false; foreach (SqlColumn column in row.Columns) { bool flag; containsLongExpressions = containsLongExpressions || column.SqlType.IsLargeType; column.Expression = this.ConvertToMax(column.Expression, out flag); changed = changed || flag; } }
internal override SqlSelect VisitSelect(SqlSelect select) { SqlSource from = this.VisitSource(select.From); List <SqlExpression> collection = null; if (select.GroupBy.Count > 0) { collection = new List <SqlExpression>(select.GroupBy.Count); foreach (SqlExpression expression in select.GroupBy) { collection.Add((SqlExpression)this.Visit(expression)); } } SqlExpression expression2 = (SqlExpression)this.Visit(select.Having); List <SqlOrderExpression> list2 = null; if (select.OrderBy.Count > 0) { list2 = new List <SqlOrderExpression>(select.OrderBy.Count); foreach (SqlOrderExpression expression3 in select.OrderBy) { SqlOrderExpression item = new SqlOrderExpression(expression3.OrderType, (SqlExpression)this.Visit(expression3.Expression)); list2.Add(item); } } SqlExpression expression5 = (SqlExpression)this.Visit(select.Top); SqlExpression expression6 = (SqlExpression)this.Visit(select.Where); SqlRow row = (SqlRow)this.Visit(select.Row); SqlSelect select2 = new SqlSelect(this.VisitExpression(select.Selection), from, select.SourceExpression); if (collection != null) { select2.GroupBy.AddRange(collection); } select2.Having = expression2; if (list2 != null) { select2.OrderBy.AddRange(list2); } select2.OrderingType = select.OrderingType; select2.Row = row; select2.Top = expression5; select2.IsDistinct = select.IsDistinct; select2.IsPercent = select.IsPercent; select2.Where = expression6; select2.DoNotOutput = select.DoNotOutput; return(select2); }
// Methods internal SelectionFlattener(SqlRow row, Dictionary <SqlColumn, SqlColumn> map, bool isInput) { this.row = row; this.map = map; this.isInput = isInput; }
private SqlExpression FlattenSelection(SqlRow row, bool isInput, SqlExpression selection) { selection = this.columnizer.ColumnizeSelection(selection); return(new SelectionFlattener(row, this.map, isInput).VisitExpression(selection)); }