From 8f44fb09b48e57b9861352d70e2268c1f28be11a Mon Sep 17 00:00:00 2001 From: wenshao Date: Mon, 9 Oct 2017 20:48:21 +0800 Subject: [PATCH] DB2SelectQueryBlock add toString support. for issue #2034 --- .../druid/sql/dialect/db2/ast/stmt/DB2SelectQueryBlock.java | 6 ++++++ .../alibaba/druid/bvt/sql/db2/DB2SelectTest_25_concat.java | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alibaba/druid/sql/dialect/db2/ast/stmt/DB2SelectQueryBlock.java b/src/main/java/com/alibaba/druid/sql/dialect/db2/ast/stmt/DB2SelectQueryBlock.java index 1bb0e151ec..2b30ca562c 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/db2/ast/stmt/DB2SelectQueryBlock.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/db2/ast/stmt/DB2SelectQueryBlock.java @@ -20,6 +20,7 @@ import com.alibaba.druid.sql.ast.expr.SQLIntegerExpr; import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock; import com.alibaba.druid.sql.dialect.db2.ast.DB2Object; import com.alibaba.druid.sql.dialect.db2.visitor.DB2ASTVisitor; +import com.alibaba.druid.sql.dialect.db2.visitor.DB2OutputVisitor; import com.alibaba.druid.sql.visitor.SQLASTVisitor; import com.alibaba.druid.util.JdbcConstants; @@ -91,4 +92,9 @@ public class DB2SelectQueryBlock extends SQLSelectQueryBlock implements DB2Objec throw new UnsupportedOperationException("not support offset"); } } + + public void output(StringBuffer buf) { + DB2OutputVisitor visitor = new DB2OutputVisitor(buf); + this.accept(visitor); + } } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/db2/DB2SelectTest_25_concat.java b/src/test/java/com/alibaba/druid/bvt/sql/db2/DB2SelectTest_25_concat.java index b1fe7d43b3..098df73aa3 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/db2/DB2SelectTest_25_concat.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/db2/DB2SelectTest_25_concat.java @@ -18,6 +18,7 @@ package com.alibaba.druid.bvt.sql.db2; import com.alibaba.druid.sql.DB2Test; import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; +import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.db2.parser.DB2StatementParser; import com.alibaba.druid.sql.dialect.db2.visitor.DB2SchemaStatVisitor; import com.alibaba.druid.stat.TableStat; @@ -33,8 +34,8 @@ public class DB2SelectTest_25_concat extends DB2Test { DB2StatementParser parser = new DB2StatementParser(sql); List statementList = parser.parseStatementList(); - SQLStatement stmt = statementList.get(0); - System.out.println(SQLUtils.toDB2String(stmt)); + SQLSelectStatement stmt = (SQLSelectStatement) statementList.get(0); + System.out.println(stmt.getSelect().getQuery()); Assert.assertEquals(1, statementList.size());