package com.alipay.zdal.parser.druid.bvt.sql.oracle; import junit.framework.Assert; import junit.framework.TestCase; import com.alipay.zdal.parser.druid.sql.test.TestUtils; import com.alipay.zdal.parser.sql.ast.statement.SQLSelectStatement; import com.alipay.zdal.parser.sql.dialect.oracle.parser.OracleStatementParser; /** * * @author xiaoqing.zhouxq * @version $Id: OraclePriorTest.java, v 0.1 2012-5-17 ����10:19:35 xiaoqing.zhouxq Exp $ */ public class OraclePriorTest extends TestCase { public void test_oracle() throws Exception { String sql = "SELECT employee_id, last_name, manager_id FROM employees CONNECT BY PRIOR employee_id = manager_id;"; String expect = "SELECT employee_id, last_name, manager_id\n" + "FROM employees\n" + "CONNECT BY PRIOR employee_id = manager_id;\n"; OracleStatementParser parser = new OracleStatementParser(sql); SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatementList().get(0); String text = TestUtils.outputOracle(stmt); Assert.assertEquals(expect, text); System.out.println(text); } public void test_oracle_2() throws Exception { String sql = "SELECT last_name, employee_id, manager_id, LEVEL\n" + "FROM employees\n" + "START WITH employee_id = 100\n" + "CONNECT BY PRIOR employee_id = manager_id\n" + "ORDER SIBLINGS BY last_name;"; String expect = "SELECT last_name, employee_id, manager_id, LEVEL\n" + "FROM employees\n" + "START WITH employee_id = 100\n" + "CONNECT BY PRIOR employee_id = manager_id\n" + "ORDER SIBLINGS BY last_name;\n"; OracleStatementParser parser = new OracleStatementParser(sql); SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatementList().get(0); String text = TestUtils.outputOracle(stmt); Assert.assertEquals(expect, text); System.out.println(text); } }