mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
refactor sql parser.
This commit is contained in:
@@ -38,7 +38,7 @@ public class MySqlParameterizedBenchmark extends TestCase {
|
||||
// perf_parse(sql3); // 9174 5875 5805 5536 5717
|
||||
// perf_parse(sql4); // 2953 2502
|
||||
|
||||
perf_stat(sql); // 11793 13628 13561 13259
|
||||
perf_stat(sql); // 11793 13628 13561 13259 9909
|
||||
|
||||
// perf_resolve(sql); // 4970 4586
|
||||
}
|
||||
|
||||
@@ -65,6 +65,8 @@ public class MySqlCreateProcedureTest8 extends MysqlTest {
|
||||
// print(statementList);
|
||||
assertEquals(1, statementList.size());
|
||||
|
||||
System.out.println(stmt);
|
||||
|
||||
SchemaStatVisitor visitor = SQLUtils.createSchemaStatVisitor(JdbcConstants.MYSQL);
|
||||
stmt.accept(visitor);
|
||||
|
||||
|
||||
@@ -38,15 +38,17 @@ public class MySqlSelectTest_29 extends MysqlTest {
|
||||
SQLStatement stmt = statementList.get(0);
|
||||
// print(statementList);
|
||||
|
||||
System.out.println(stmt);
|
||||
|
||||
Assert.assertEquals(1, statementList.size());
|
||||
|
||||
MySqlSchemaStatVisitor visitor = new MySqlSchemaStatVisitor();
|
||||
stmt.accept(visitor);
|
||||
|
||||
// System.out.println("Tables : " + visitor.getTables());
|
||||
// System.out.println("fields : " + visitor.getColumns());
|
||||
// System.out.println("coditions : " + visitor.getConditions());
|
||||
// System.out.println("orderBy : " + visitor.getOrderByColumns());
|
||||
System.out.println("Tables : " + visitor.getTables());
|
||||
System.out.println("fields : " + visitor.getColumns());
|
||||
System.out.println("coditions : " + visitor.getConditions());
|
||||
System.out.println("orderBy : " + visitor.getOrderByColumns());
|
||||
|
||||
Assert.assertEquals(2, visitor.getTables().size());
|
||||
Assert.assertEquals(6, visitor.getColumns().size());
|
||||
|
||||
@@ -31,13 +31,14 @@ public class OracleBlockTest1 extends OracleTest {
|
||||
|
||||
OracleStatementParser parser = new OracleStatementParser(sql);
|
||||
List<SQLStatement> statementList = parser.parseStatementList();
|
||||
SQLStatement statemen = statementList.get(0);
|
||||
print(statementList);
|
||||
SQLStatement stmt = statementList.get(0);
|
||||
|
||||
Assert.assertEquals(1, statementList.size());
|
||||
|
||||
System.out.println(stmt);
|
||||
|
||||
OracleSchemaStatVisitor visitor = new OracleSchemaStatVisitor();
|
||||
statemen.accept(visitor);
|
||||
stmt.accept(visitor);
|
||||
|
||||
System.out.println("Tables : " + visitor.getTables());
|
||||
System.out.println("fields : " + visitor.getColumns());
|
||||
|
||||
@@ -123,7 +123,7 @@ public class Demo1 extends TestCase {
|
||||
String tableName = identExpr.getName();
|
||||
|
||||
if (tableName.equals("user")) {
|
||||
identExpr.setName(this.tableName);
|
||||
x.setExpr(this.tableName);
|
||||
}
|
||||
} else if (expr instanceof SQLPropertyExpr) {
|
||||
SQLPropertyExpr proExpr = (SQLPropertyExpr) expr;
|
||||
@@ -144,7 +144,7 @@ public class Demo1 extends TestCase {
|
||||
String tableName = identExpr.getName();
|
||||
|
||||
if (tableName.equals("user")) {
|
||||
identExpr.setName(this.tableName);
|
||||
x.setExpr(this.tableName);
|
||||
}
|
||||
} else if (expr instanceof SQLPropertyExpr) {
|
||||
SQLPropertyExpr proExpr = (SQLPropertyExpr) expr;
|
||||
|
||||
@@ -74,7 +74,7 @@ public class Demo2 extends TestCase {
|
||||
String ident = identExpr.getName();
|
||||
|
||||
if (ident.equals("user")) {
|
||||
identExpr.setName(tableName);
|
||||
tableSource.setExpr(tableName);
|
||||
}
|
||||
} else if (expr instanceof SQLPropertyExpr) {
|
||||
SQLPropertyExpr proExpr = (SQLPropertyExpr) expr;
|
||||
|
||||
@@ -113,7 +113,7 @@ public class Demo3 extends TestCase {
|
||||
String ident = identExpr.getName();
|
||||
|
||||
if (ident.equals("user")) {
|
||||
identExpr.setName(tableName);
|
||||
tableSource.setExpr(new SQLIdentifierExpr(tableName));
|
||||
}
|
||||
} else if (expr instanceof SQLPropertyExpr) {
|
||||
SQLPropertyExpr proExpr = (SQLPropertyExpr) expr;
|
||||
|
||||
Reference in New Issue
Block a user