mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
bug fixed for mysql sql parameterized.
This commit is contained in:
@@ -479,7 +479,7 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter implements Paramet
|
||||
SQLExpr left = binaryItem.getLeft();
|
||||
SQLExpr right = binaryItem.getRight();
|
||||
|
||||
if (right instanceof SQLLiteralExpr) {
|
||||
if (right instanceof SQLLiteralExpr && !(right instanceof SQLNullExpr)) {
|
||||
if (left instanceof SQLLiteralExpr) {
|
||||
if (literalItems == null) {
|
||||
literalItems = new ArrayList<SQLBinaryOpExpr>();
|
||||
|
||||
+4
-1
@@ -2,6 +2,7 @@ package com.alibaba.druid.bvt.sql.mysql.param;
|
||||
|
||||
import com.alibaba.druid.sql.SQLUtils;
|
||||
import com.alibaba.druid.sql.ast.SQLStatement;
|
||||
import com.alibaba.druid.sql.parser.SQLParserFeature;
|
||||
import com.alibaba.druid.sql.parser.SQLParserUtils;
|
||||
import com.alibaba.druid.sql.parser.SQLStatementParser;
|
||||
import com.alibaba.druid.sql.visitor.SQLASTOutputVisitor;
|
||||
@@ -28,7 +29,7 @@ public class MySqlParameterizedOutputVisitorTest_57 extends TestCase {
|
||||
" OR (`ktv_resource`.`AVAILABLE_COUNT` = -1))" +
|
||||
") limit 0,20";
|
||||
|
||||
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, dbType);
|
||||
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, dbType, SQLParserFeature.EnableSQLBinaryOpExprGroup);
|
||||
List<SQLStatement> stmtList = parser.parseStatementList();
|
||||
SQLStatement stmt = stmtList.get(0);
|
||||
|
||||
@@ -50,6 +51,8 @@ public class MySqlParameterizedOutputVisitorTest_57 extends TestCase {
|
||||
System.out.println(psql);
|
||||
|
||||
|
||||
|
||||
|
||||
assertEquals("SELECT `ktv_resource`.`VERSION`\n" +
|
||||
"FROM ktv_resource `ktv_resource`\n" +
|
||||
"WHERE `ktv_resource`.`BUYER_ID` = ?\n" +
|
||||
|
||||
Reference in New Issue
Block a user