添加测试

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@176 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-05-21 09:37:22 +00:00
parent adcf463051
commit a02c964a3d
7 changed files with 75 additions and 52 deletions
@@ -16,51 +16,13 @@ import com.alibaba.druid.util.JdbcUtils;
public class OracleSQLParserResourceTest extends TestCase {
public void test_0() throws Exception {
exec_test("bvt/parser/oracle-0.txt");
exec_test("bvt/parser/oracle-1.txt");
exec_test("bvt/parser/oracle-2.txt");
exec_test("bvt/parser/oracle-3.txt");
exec_test("bvt/parser/oracle-4.txt");
exec_test("bvt/parser/oracle-5.txt");
exec_test("bvt/parser/oracle-6.txt"); // PARTITION
exec_test("bvt/parser/oracle-7.txt");
exec_test("bvt/parser/oracle-8.txt");
exec_test("bvt/parser/oracle-9.txt");
exec_test("bvt/parser/oracle-10.txt");
exec_test("bvt/parser/oracle-11.txt");
exec_test("bvt/parser/oracle-12.txt");
exec_test("bvt/parser/oracle-13.txt");
exec_test("bvt/parser/oracle-14.txt");
exec_test("bvt/parser/oracle-15.txt");
exec_test("bvt/parser/oracle-16.txt");
exec_test("bvt/parser/oracle-17.txt");
exec_test("bvt/parser/oracle-18.txt");
exec_test("bvt/parser/oracle-19.txt");
exec_test("bvt/parser/oracle-20.txt");
exec_test("bvt/parser/oracle-21.txt");
exec_test("bvt/parser/oracle-22.txt");
exec_test("bvt/parser/oracle-23.txt");
exec_test("bvt/parser/oracle-24.txt");
exec_test("bvt/parser/oracle-25.txt");
exec_test("bvt/parser/oracle-26.txt");
exec_test("bvt/parser/oracle-27.txt");
exec_test("bvt/parser/oracle-28.txt");
exec_test("bvt/parser/oracle-29.txt");
exec_test("bvt/parser/oracle-30.txt");
exec_test("bvt/parser/oracle-31.txt");
exec_test("bvt/parser/oracle-32.txt");
exec_test("bvt/parser/oracle-33.txt");
exec_test("bvt/parser/oracle-34.txt");
exec_test("bvt/parser/oracle-35.txt");
exec_test("bvt/parser/oracle-36.txt");
exec_test("bvt/parser/oracle-37.txt");
exec_test("bvt/parser/oracle-38.txt");
exec_test("bvt/parser/oracle-39.txt");
exec_test("bvt/parser/oracle-40.txt");
exec_test("bvt/parser/oracle-41.txt");
for (int i = 0; i <= 46; ++i) {
String resource = "bvt/parser/oracle-" + i + ".txt";
exec_test(resource);
}
// exec_test("bvt/parser/oracle-0.txt");
}
public void exec_test(String resource) throws Exception {
System.out.println(resource);
InputStream is = null;
@@ -72,16 +34,16 @@ public class OracleSQLParserResourceTest extends TestCase {
String[] items = input.split("---------------------------");
String sql = items[0].trim();
String expect = items[1].trim();
OracleStatementParser parser = new OracleStatementParser(sql);
List<SQLStatement> statementList = parser.parseStatementList();
Assert.assertEquals(1, statementList.size());
String text = output(statementList);
System.out.println(text);
Assert.assertEquals(expect, text.trim());
}
private String output(List<SQLStatement> stmtList) {
@@ -14,9 +14,18 @@ import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser;
public class SQLMergeTest extends TestCase {
protected String sql;
protected void setUp() throws Exception {
sql = "SELECT /*mark for picman*/ * FROM WP_ALBUM WHERE MEMBER_ID = ? AND ID IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
sql = "SELECT * FROM my_table WHERE TRUNC(SYSDATE) = DATE '2002-10-03';";
}
public void test_merge_1() throws Exception {
String result = merge();
System.out.println(result);
}
public void test_merge_2() throws Exception {
@@ -24,6 +33,12 @@ public class SQLMergeTest extends TestCase {
System.out.println(result);
}
public void test_perf() {
for (int i = 0; i < 10; ++i) {
perf();
}
}
void perf() {
long startMillis = System.currentTimeMillis();
for (int i = 0; i < 1000 * 1000; ++i) {
@@ -34,11 +49,8 @@ public class SQLMergeTest extends TestCase {
}
private String merge() {
String sql = "SELECT /*mark for picman*/ * FROM WP_ALBUM WHERE MEMBER_ID = ? AND ID IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
StringBuilder out = new StringBuilder();
OracleOutputVisitor visitor = new OracleOutputVisitor(out) {
public boolean visit(SQLInListExpr x) {
x.getExpr().accept(this);
@@ -147,7 +159,7 @@ public class SQLMergeTest extends TestCase {
statement.accept(visitor);
visitor.println();
}
return out.toString();
}
}
@@ -0,0 +1,9 @@
SELECT 3 FROM DUAL
INTERSECT
SELECT 3f FROM DUAL;
---------------------------
SELECT 3
FROM DUAL
INTERSECT
SELECT 3.0F
FROM DUAL;
@@ -0,0 +1,11 @@
SELECT location_id, department_name "Department",
TO_CHAR(NULL) "Warehouse" FROM departments
UNION
SELECT location_id, TO_CHAR(NULL) "Department", warehouse_name
FROM warehouses;
---------------------------
SELECT location_id, department_name AS "Department", TO_CHAR(NULL) AS "Warehouse"
FROM departments
UNION
SELECT location_id, TO_CHAR(NULL) AS "Department", warehouse_name
FROM warehouses;
@@ -0,0 +1,11 @@
SELECT location_id FROM locations
UNION ALL
SELECT location_id FROM departments
ORDER BY location_id;
---------------------------
SELECT location_id
FROM locations
UNION ALL
SELECT location_id
FROM departments
ORDER BY location_id;
@@ -0,0 +1,11 @@
SELECT product_id FROM inventories
MINUS
SELECT product_id FROM order_items
ORDER BY product_id;
---------------------------
SELECT product_id
FROM inventories
MINUS
SELECT product_id
FROM order_items
ORDER BY product_id;
@@ -0,0 +1,7 @@
SELECT employee_id, manager_id
FROM employees
WHERE employees.manager_id(+) = employees.employee_id;
---------------------------
SELECT employee_id, manager_id
FROM employees
WHERE manager_id(+) = employees.employee_id;