From 4ba511d2a931f0af85a033e18e1e272c8c213fae Mon Sep 17 00:00:00 2001 From: wenshao Date: Sun, 25 Sep 2016 07:10:59 +0800 Subject: [PATCH] refactor sql parser. --- .../visitor/ParameterizedOutputVisitorUtils.java | 13 ------------- .../druid/sql/visitor/SQLASTOutputVisitor.java | 8 +++++++- 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/alibaba/druid/sql/visitor/ParameterizedOutputVisitorUtils.java b/src/main/java/com/alibaba/druid/sql/visitor/ParameterizedOutputVisitorUtils.java index 4873e544cc..9beb00d7e8 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/ParameterizedOutputVisitorUtils.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/ParameterizedOutputVisitorUtils.java @@ -144,19 +144,6 @@ public class ParameterizedOutputVisitorUtils { return false; } - public static boolean visit(ParameterizedVisitor v, SQLNumberExpr x) { - if (!checkParameterize(x)) { - return SQLASTOutputVisitorUtils.visit(v, x); - } - - v.print('?'); - v.incrementReplaceCunt(); - if( v instanceof ExportParameterVisitor){ - ExportParameterVisitorUtils.exportParameter(((ExportParameterVisitor)v).getParameters(), x); - } - return false; - } - public static boolean visit(ParameterizedVisitor v, SQLCharExpr x) { v.print('?'); v.incrementReplaceCunt(); diff --git a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java index d05294cf3f..05325e0896 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java @@ -639,7 +639,13 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Paramet public boolean visit(SQLNumberExpr x) { if (this.parameterized && ParameterizedOutputVisitorUtils.checkParameterize(x)) { - return ParameterizedOutputVisitorUtils.visit(this, x); + print('?'); + incrementReplaceCunt(); + + if(this instanceof ExportParameterVisitor) { + ExportParameterVisitorUtils.exportParameter((this).getParameters(), x); + } + return false; } return SQLASTOutputVisitorUtils.visit(this, x);