public virtual void TestDdlStmt()
{
var sql = "alTer ignore table tb_name";
var lexer = new MySqlLexer(sql);
var parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
var dst = parser.DdlStmt();
sql = "alTeR table tb_name";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
sql = "crEate temporary tabLe if not exists tb_name";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
sql = "crEate tabLe if not exists tb_name";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
sql = "crEate temporary tabLe tb_name";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
sql = "crEate unique index index_name on tb(col(id)) desc";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
sql = "crEate fulltext index index_name on tb(col(id))";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
sql = "crEate spatial index index_name on tb(col(id))";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
sql = "crEate index index_name using hash on tb(col(id))";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
sql = "drop index index_name on tb1";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
var output = Output2MySql(dst, sql);
Assert.AreEqual("DROP INDEX index_name ON tb1", output);
sql = "drop temporary tabLe if exists tb1,tb2,tb3 restrict";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
output = Output2MySql(dst, sql);
Assert.AreEqual("DROP TEMPORARY TABLE IF EXISTS tb1, tb2, tb3 RESTRICT", output);
sql = "drop temporary tabLe if exists tb1,tb2,tb3 cascade";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
output = Output2MySql(dst, sql);
Assert.AreEqual("DROP TEMPORARY TABLE IF EXISTS tb1, tb2, tb3 CASCADE", output);
sql = "drop temporary tabLe if exists tb1 cascade";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
output = Output2MySql(dst, sql);
Assert.AreEqual("DROP TEMPORARY TABLE IF EXISTS tb1 CASCADE", output);
sql = "drop tabLe if exists tb1 cascade";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
output = Output2MySql(dst, sql);
Assert.AreEqual("DROP TABLE IF EXISTS tb1 CASCADE", output);
sql = "drop temporary tabLe tb1 cascade";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
output = Output2MySql(dst, sql);
Assert.AreEqual("DROP TEMPORARY TABLE tb1 CASCADE", output);
sql = "rename table tb1 to ntb1,tb2 to ntb2";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
output = Output2MySql(dst, sql);
Assert.AreEqual("RENAME TABLE tb1 TO ntb1, tb2 TO ntb2", output);
sql = "rename table tb1 to ntb1";
lexer = new MySqlLexer(sql);
parser = new MySqlDdlParser(lexer, new MySqlExprParser(lexer));
dst = parser.DdlStmt();
output = Output2MySql(dst, sql);
Assert.AreEqual("RENAME TABLE tb1 TO ntb1", output);
}