From f220b0887d4c185edffbf56699311d6927be5dae Mon Sep 17 00:00:00 2001 From: wenshao Date: Tue, 16 Aug 2016 17:14:57 +0800 Subject: [PATCH] improved SchemaStatVisitor, support aggregateFunctions --- .../com/alibaba/druid/sql/visitor/SchemaStatVisitor.java | 7 +++++++ 1 file changed, 7 insertions(+) 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());