From f1dd6c7eb94024990f822302e61d07fbc4080953 Mon Sep 17 00:00:00 2001 From: wenshao Date: Sun, 11 Feb 2018 16:42:28 +0800 Subject: [PATCH] refactor for pull request #2224 --- .../druid/sql/visitor/SQLASTOutputVisitor.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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 57a59a9641..b39f7b9d7d 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java @@ -18,6 +18,8 @@ package com.alibaba.druid.sql.visitor; import java.io.IOException; import java.io.InputStream; import java.io.Reader; +import java.math.BigDecimal; +import java.math.BigInteger; import java.sql.Blob; import java.sql.Clob; import java.sql.NClob; @@ -1327,9 +1329,9 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Paramet } protected void printInteger(SQLIntegerExpr x, boolean parameterized) { - String val = x.getNumber().toString(); + Number number = x.getNumber(); - if ("1".equals(val)) { + if (number.equals(Integer.valueOf(1))) { if (JdbcConstants.ORACLE.equals(dbType)) { SQLObject parent = x.getParent(); if (parent instanceof SQLBinaryOpExpr) { @@ -1357,7 +1359,11 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Paramet return; } - print(val); + if (number instanceof BigDecimal || number instanceof BigInteger) { + print(number.toString()); + } else { + print(number.longValue()); + } } public boolean visit(SQLMethodInvokeExpr x) {