diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_TABLES_Syntax_Test.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_TABLES_Syntax_Test.java index 675ad2542a..613aabbed0 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_TABLES_Syntax_Test.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_TABLES_Syntax_Test.java @@ -26,17 +26,62 @@ import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; +import org.junit.Test; public class SHOW_TABLES_Syntax_Test extends TestCase { - public void test_0() throws Exception { - String sql = "SHOW TABLES;"; + public void test_() throws Exception { + String sql = "SHOW TABLES FROM SUNTEST "; SQLStatementParser parser = new MySqlStatementParser(sql); List stmtList = parser.parseStatementList(); - String text = SQLUtils.toSQLString(stmtList, JdbcConstants.MYSQL); + Assert.assertEquals("SHOW TABLES FROM SUNTEST", text); + + sql = "SHOW FULL TABLES FROM SUNTEST "; + parser = new MySqlStatementParser(sql); + stmtList = parser.parseStatementList(); + text = SQLUtils.toSQLString(stmtList, JdbcConstants.MYSQL); + Assert.assertEquals("SHOW FULL TABLES FROM SUNTEST", text); + + sql = "SHOW TABLES IN SUNTEST "; + parser = new MySqlStatementParser(sql); + stmtList = parser.parseStatementList(); + text = SQLUtils.toSQLString(stmtList, JdbcConstants.MYSQL); + Assert.assertEquals("SHOW TABLES FROM SUNTEST", text); + + sql = "SHOW FULL TABLES IN SUNTEST "; + parser = new MySqlStatementParser(sql); + stmtList = parser.parseStatementList(); + text = SQLUtils.toSQLString(stmtList, JdbcConstants.MYSQL); + Assert.assertEquals("SHOW FULL TABLES FROM SUNTEST", text); + + + sql = "SHOW FULL TABLES IN SUNTEST LIKE '%DDD%' "; + parser = new MySqlStatementParser(sql); + stmtList = parser.parseStatementList(); + text = SQLUtils.toSQLString(stmtList, JdbcConstants.MYSQL); + Assert.assertEquals("SHOW FULL TABLES FROM SUNTEST LIKE '%DDD%'", text); + + sql = "SHOW FULL TABLES FROM SUNTEST LIKE '%DDD%' "; + parser = new MySqlStatementParser(sql); + stmtList = parser.parseStatementList(); + text = SQLUtils.toSQLString(stmtList, JdbcConstants.MYSQL); + Assert.assertEquals("SHOW FULL TABLES FROM SUNTEST LIKE '%DDD%'", text); + + sql = "SHOW FULL TABLES IN SUNTEST WHERE NAME = 'DDD' "; + parser = new MySqlStatementParser(sql); + stmtList = parser.parseStatementList(); + text = SQLUtils.toSQLString(stmtList, JdbcConstants.MYSQL); + Assert.assertEquals("SHOW FULL TABLES FROM SUNTEST WHERE NAME = 'DDD'", text); + + + sql = "SHOW FULL TABLES FROM SUNTEST WHERE NAME = 'DDD' "; + parser = new MySqlStatementParser(sql); + stmtList = parser.parseStatementList(); + text = SQLUtils.toSQLString(stmtList, JdbcConstants.MYSQL); + Assert.assertEquals("SHOW FULL TABLES FROM SUNTEST WHERE NAME = 'DDD'", text); - Assert.assertEquals("SHOW TABLES;", text); } + }