@Override
 public String getSQL() {
   StatementBuilder buff = new StatementBuilder();
   buff.append(Parser.quoteIdentifier(userAggregate.getName())).append('(');
   for (Expression e : args) {
     buff.appendExceptFirst(", ");
     buff.append(e.getSQL());
   }
   return buff.append(')').toString();
 }
 // 调用了两次,一次在optimize,另一次在updateAggregate
 private Aggregate getInstance() throws SQLException {
   Aggregate agg = userAggregate.getInstance();
   agg.init(userConnection);
   return agg;
 }