mysql parser

This commit is contained in:
温少
2012-05-15 21:27:46 +08:00
8 changed files with 172 additions and 17 deletions
@@ -22,6 +22,8 @@ import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowContributorsSt
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowCreateDatabaseStatement;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowCreateEventStatement;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowCreateFunctionStatement;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowCreateProcedureStatement;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowCreateTableStatement;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlShowMasterLogsStatement;
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
import com.alibaba.druid.sql.parser.Token;
@@ -367,26 +369,27 @@ public class DALParserTest extends TestCase {
Assert.assertEquals("SHOW CREATE FUNCTION x", output);
}
public void test_show_create_PROCEDURE() throws Exception {
String sql = "SHOW CREATE PROCEDURE x";
MySqlStatementParser parser = new MySqlStatementParser(sql);
MySqlShowCreateProcedureStatement show = (MySqlShowCreateProcedureStatement) parser.parseStatementList().get(0);
parser.match(Token.EOF);
String output = SQLUtils.toMySqlString(show);
Assert.assertEquals("SHOW CREATE PROCEDURE x", output);
}
public void test_show_create_table() throws Exception {
String sql = "SHOW CREATE table x";
MySqlStatementParser parser = new MySqlStatementParser(sql);
MySqlShowCreateTableStatement show = (MySqlShowCreateTableStatement) parser.parseStatementList().get(0);
parser.match(Token.EOF);
String output = SQLUtils.toMySqlString(show);
Assert.assertEquals("SHOW CREATE TABLE x", output);
}
//
// public void testShow() throws Exception {
//
//
// sql = "SHOW create procedure pro ";
// lexer = new SQLLexer(sql);
// parser = new DALParser(lexer, new SQLExprParser(lexer));
// show = (DALShowStatement) parser.show();
// parser.match(Token.EOF);
// output = output2MySQL(show, sql);
// Assert.assertEquals("SHOW CREATE PROCEDURE pro", output);
//
// sql = "SHOW create table tb ";
// lexer = new SQLLexer(sql);
// parser = new DALParser(lexer, new SQLExprParser(lexer));
// show = (DALShowStatement) parser.show();
// parser.match(Token.EOF);
// output = output2MySQL(show, sql);
// Assert.assertEquals("SHOW CREATE TABLE tb", output);
//
// sql = "SHOW create trigger tri ";
// lexer = new SQLLexer(sql);
// parser = new DALParser(lexer, new SQLExprParser(lexer));