修正OracleExportParameterVisitor无法解析数字类型的参数值

This commit is contained in:
qxo
2017-04-27 14:52:22 +08:00
parent 1d99c00f2c
commit 126c79a8e9
2 changed files with 53 additions and 0 deletions
@@ -22,6 +22,8 @@ import com.alibaba.druid.sql.ast.expr.SQLIntegerExpr;
import com.alibaba.druid.sql.ast.expr.SQLNCharExpr;
import com.alibaba.druid.sql.ast.expr.SQLNullExpr;
import com.alibaba.druid.sql.ast.expr.SQLNumberExpr;
import com.alibaba.druid.sql.visitor.ExportParameterVisitor;
import com.alibaba.druid.sql.visitor.ExportParameterVisitorUtils;
import com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils;
import com.alibaba.druid.sql.visitor.ParameterizedVisitor;
@@ -39,6 +41,7 @@ public class OracleParameterizedOutputVisitor extends OracleOutputVisitor implem
public OracleParameterizedOutputVisitor(Appendable appender, boolean printPostSemi){
super(appender, printPostSemi);
this.parameterized = true;
}
public boolean visit(SQLBinaryOpExpr x) {
@@ -54,6 +57,10 @@ public class OracleParameterizedOutputVisitor extends OracleOutputVisitor implem
print('?');
incrementReplaceCunt();
if(this instanceof ExportParameterVisitor || this.parameters != null){
ExportParameterVisitorUtils.exportParameter((this).getParameters(), x);
}
return false;
}