diff --git a/src/main/java/com/alibaba/druid/sql/visitor/SchemaStatVisitor.java b/src/main/java/com/alibaba/druid/sql/visitor/SchemaStatVisitor.java index 5f04e268a2..4a44523836 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/SchemaStatVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/SchemaStatVisitor.java @@ -136,6 +136,7 @@ public class SchemaStatVisitor extends SQLASTVisitorAdapter { protected final Set relationships = new LinkedHashSet(); protected final List orderByColumns = new ArrayList(); protected final Set groupByColumns = new LinkedHashSet(); + protected final List aggregateFunctions = new ArrayList(); protected final Map subQueryMap = new LinkedHashMap(); @@ -400,6 +401,10 @@ public class SchemaStatVisitor extends SQLASTVisitorAdapter { public List getConditions() { return conditions; } + + public List getAggregateFunctions() { + return aggregateFunctions; + } public boolean visit(SQLBinaryOpExpr x) { x.getLeft().setParent(x); @@ -1176,6 +1181,8 @@ public class SchemaStatVisitor extends SQLASTVisitorAdapter { } public boolean visit(SQLAggregateExpr x) { + this.aggregateFunctions.add(x); + accept(x.getArguments()); accept(x.getWithinGroup()); accept(x.getOver());