public override void Accept(TSqlFragmentVisitor visitor) { visitor.ExplicitVisit(this); TopRowFilter?.Accept(visitor); foreach (var element in SelectElements) { element.Accept(visitor); } FromClause?.Accept(visitor); OffsetClause?.Accept(visitor); WhereClause?.Accept(visitor); GroupByClause?.Accept(visitor); OrderByClause?.Accept(visitor); }
public override void ToString(StringBuilder buf, int indent) { buf.Append(' ', indent); var longestClause = "SELECT"; if (GroupByClause != null) { longestClause = "GROUP BY"; } else if (OrderByClause != null) { longestClause = "ORDER BY"; } buf.Append("SELECT"); buf.Append(' ', longestClause.Length - "SELECT".Length + 1); if (UniqueRowFilter == UniqueRowFilter.Distinct) { buf.Append("DISTINCT "); } TopRowFilter?.ToString(buf, indent); var selectIndent = Sql150ScriptGenerator.GetCurrentIndent(buf); for (var i = 0; i < SelectElements.Count; i++) { if (i > 0) { buf.Append(",\r\n"); buf.Append(' ', selectIndent); } SelectElements[i].ToString(buf, selectIndent); } buf.Append("\r\n"); FromClause?.ToString(buf, indent, longestClause.Length); WhereClause?.ToString(buf, indent, longestClause.Length); GroupByClause?.ToString(buf, indent, longestClause.Length); OrderByClause?.ToString(buf, indent, longestClause.Length); OffsetClause?.ToString(buf, indent, longestClause.Length); }
public TopRowFilter(ScriptDom.TopRowFilter src) : base(src) { this.Expression = Copier.Copy <ScalarExpression>(src.Expression); this.Percent = src.Percent; this.WithTies = src.WithTies; }
public virtual void ExplicitVisit(TopRowFilter topRowFilter) { }