From 5683a6215fb4d524e32b15a1c9a3942440cd1dab Mon Sep 17 00:00:00 2001 From: huangyangjun Date: Tue, 13 Nov 2012 23:52:34 +0800 Subject: [PATCH] add OracleOutputVisitor prettyFormat test --- .../sql/oracle/demo/OutputVisitorTest.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/test/java/com/alibaba/druid/sql/oracle/demo/OutputVisitorTest.java diff --git a/src/test/java/com/alibaba/druid/sql/oracle/demo/OutputVisitorTest.java b/src/test/java/com/alibaba/druid/sql/oracle/demo/OutputVisitorTest.java new file mode 100644 index 0000000000..21df2bcd7a --- /dev/null +++ b/src/test/java/com/alibaba/druid/sql/oracle/demo/OutputVisitorTest.java @@ -0,0 +1,46 @@ +package com.alibaba.druid.sql.oracle.demo; + +import com.alibaba.druid.sql.ast.SQLStatement; +import com.alibaba.druid.sql.dialect.oracle.visitor.OracleOutputVisitor; +import com.alibaba.druid.sql.parser.SQLParserUtils; +import com.alibaba.druid.sql.parser.SQLStatementParser; +import com.alibaba.druid.sql.visitor.SQLASTOutputVisitor; +import com.alibaba.druid.sql.visitor.SQLASTVisitor; +import com.alibaba.druid.util.JdbcUtils; +import org.junit.Test; + +import java.util.List; + +/** + * + * User: carvin + * Date: 12-11-13 + * Time: 下午7:16 + * Test OralceOutputVisitor and start with ... connect by parser. + */ +public class OutputVisitorTest { + @Test + public void testConnectByParserAndPrettyFormatOutput() { + String sql = "select * from ge_rms_company start with comcode = '00' connect by nocycle prior comcode = uppercomcode"; + SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, JdbcUtils.ORACLE); + List stmtList = parser.parseStatementList(); + StringBuilder out = new StringBuilder(); + + SQLASTOutputVisitor visitor = new OracleOutputVisitor(out); + for(SQLStatement statement : stmtList) { + statement.accept(visitor); + } + // PrettyFormat use default : true + System.out.println(out); + System.out.println("=========================================\n"); + + out.setLength(0); + visitor = new OracleOutputVisitor(out); + // setPrettyFormat : false + visitor.setPrettyFormat(false); + for(SQLStatement statement : stmtList) { + statement.accept(visitor); + } + System.out.println(out); + } +}