mysql parser show

This commit is contained in:
温少
2012-05-16 13:14:38 +08:00
parent 2c97e4b300
commit 029ec5f034
7 changed files with 158 additions and 0 deletions
@@ -49,6 +49,8 @@ import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowProfilesStatem
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowRelayLogEventsStatement;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowSlaveHostsStatement;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowSlaveStatusStatement;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowStatusStatement;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowTableStatusStatement;
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
import com.alibaba.druid.sql.parser.Token;
@@ -899,6 +901,24 @@ public class DALParserTest extends TestCase {
Assert.assertEquals("SHOW SLAVE STATUS", output);
}
public void test_show_status() throws Exception {
String sql = "SHOW STATUS LIKE 'Key%'";
MySqlStatementParser parser = new MySqlStatementParser(sql);
MySqlShowStatusStatement show = (MySqlShowStatusStatement) parser.parseStatementList().get(0);
parser.match(Token.EOF);
String output = SQLUtils.toMySqlString(show);
Assert.assertEquals("SHOW STATUS LIKE 'Key%'", output);
}
public void test_show_table_status() throws Exception {
String sql = "SHOW TABLE STATUS FROM mysql";
MySqlStatementParser parser = new MySqlStatementParser(sql);
MySqlShowTableStatusStatement show = (MySqlShowTableStatusStatement) parser.parseStatementList().get(0);
parser.match(Token.EOF);
String output = SQLUtils.toMySqlString(show);
Assert.assertEquals("SHOW TABLE STATUS FROM mysql", output);
}
//
// public void testShow() throws Exception {
//