protected override void EmitAggregateCallExpression(SQL.AggregateCallExpression expression) { base.EmitAggregateCallExpression(expression); var ace = expression as OracleAggregateCallExpression; if (ace != null && ace.OrderClause != null) { AppendFormat(" {0} {1}", Keywords.Within, SQL.Keywords.Group); Append(SQL.Keywords.BeginGroup); EmitOrderClause(ace.OrderClause); Append(SQL.Keywords.EndGroup); } }
protected virtual void EmitAggregateCallExpression(AggregateCallExpression expression) { AppendFormat("{0}{1}", expression.Identifier, Keywords.BeginGroup); if (expression.IsDistinct) { AppendFormat("{0} ", Keywords.Distinct); } for (int index = 0; index < expression.Expressions.Count; index++) { if (index > 0) { EmitListSeparator(); } EmitExpression(expression.Expressions[index]); } Append(Keywords.EndGroup); }