mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
refactor
This commit is contained in:
@@ -46,12 +46,12 @@ public class MappingEngine {
|
||||
return provider.createOutputVisitor(this, out);
|
||||
}
|
||||
|
||||
public SQLSelectQueryBlock explainToSQLObject(String sql) {
|
||||
return provider.explainToSQLObject(this, sql);
|
||||
public SQLSelectQueryBlock explainToSelectSQLObject(String sql) {
|
||||
return provider.explainToSelectSQLObject(this, sql);
|
||||
}
|
||||
|
||||
public String explainToSQL(String sql) {
|
||||
SQLSelectQueryBlock query = explainToSQLObject(sql);
|
||||
public String explainToSelectSQL(String sql) {
|
||||
SQLSelectQueryBlock query = explainToSelectSQLObject(sql);
|
||||
|
||||
query.accept(this.createMappingVisitor());
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ public class MSSQLServerMappingProvider implements MappingProvider {
|
||||
return new SQLServerOutputVisitor(out);
|
||||
}
|
||||
|
||||
public SQLSelectQueryBlock explainToSQLObject(MappingEngine engine, String sql) {
|
||||
public SQLSelectQueryBlock explainToSelectSQLObject(MappingEngine engine, String sql) {
|
||||
SQLServerSelectParser selectParser = new SQLServerSelectParser(sql);
|
||||
SQLServerSelectQueryBlock query = (SQLServerSelectQueryBlock) selectParser.query();
|
||||
|
||||
|
||||
@@ -10,5 +10,5 @@ public interface MappingProvider {
|
||||
|
||||
SQLASTOutputVisitor createOutputVisitor(MappingEngine engine, Appendable out);
|
||||
|
||||
SQLSelectQueryBlock explainToSQLObject(MappingEngine engine, String sql);
|
||||
SQLSelectQueryBlock explainToSelectSQLObject(MappingEngine engine, String sql);
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ public class MySqlMappingProvider implements MappingProvider {
|
||||
return new MySqlOutputVisitor(out);
|
||||
}
|
||||
|
||||
public SQLSelectQueryBlock explainToSQLObject(MappingEngine engine, String sql) {
|
||||
public SQLSelectQueryBlock explainToSelectSQLObject(MappingEngine engine, String sql) {
|
||||
MySqlSelectParser selectParser = new MySqlSelectParser(sql);
|
||||
MySqlSelectQueryBlock query = (MySqlSelectQueryBlock) selectParser.query();
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ public class OracleMappingProvider implements MappingProvider {
|
||||
return new OracleOutputVisitor(out);
|
||||
}
|
||||
|
||||
public SQLSelectQueryBlock explainToSQLObject(MappingEngine engine, String sql) {
|
||||
public SQLSelectQueryBlock explainToSelectSQLObject(MappingEngine engine, String sql) {
|
||||
OracleSelectParser selectParser = new OracleSelectParser(sql);
|
||||
OracleSelectQueryBlock query = (OracleSelectQueryBlock) selectParser.query();
|
||||
|
||||
|
||||
@@ -26,18 +26,18 @@ public class MappingVisitorTest extends TestCase {
|
||||
|
||||
public void test_0() throws Exception {
|
||||
|
||||
Assert.assertEquals("SELECT serviceTag AS \"编号\", ip AS \"IP地址\"\nFROM device", engine.explainToSQL("select *"));
|
||||
Assert.assertEquals("SELECT serviceTag AS \"编号\", ip AS \"IP地址\"\nFROM device", engine.explainToSelectSQL("select *"));
|
||||
Assert.assertEquals("SELECT serviceTag AS \"编号\", ip AS \"IP地址\"\nFROM device\nWHERE ip = '127.0.0.1'",
|
||||
engine.explainToSQL("select 编号, IP地址 WHERE IP地址 = '127.0.0.1'"));
|
||||
engine.explainToSelectSQL("select 编号, IP地址 WHERE IP地址 = '127.0.0.1'"));
|
||||
|
||||
}
|
||||
|
||||
public void test_1() throws Exception {
|
||||
engine.setMaxLimit(10);
|
||||
|
||||
Assert.assertEquals("SELECT serviceTag AS \"编号\", ip AS \"IP地址\"\nFROM device\nLIMIT 10", engine.explainToSQL("select *"));
|
||||
Assert.assertEquals("SELECT serviceTag AS \"编号\", ip AS \"IP地址\"\nFROM device\nLIMIT 10", engine.explainToSelectSQL("select *"));
|
||||
Assert.assertEquals("SELECT serviceTag AS \"编号\", ip AS \"IP地址\"\nFROM device\nWHERE ip = '127.0.0.1'\nLIMIT 10",
|
||||
engine.explainToSQL("select 编号, IP地址 WHERE IP地址 = '127.0.0.1'"));
|
||||
engine.explainToSelectSQL("select 编号, IP地址 WHERE IP地址 = '127.0.0.1'"));
|
||||
|
||||
engine.setMaxLimit(null);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user