DdlStmt() публичный Метод

nothing has been pre-consumed
public DdlStmt ( ) : IDdlStatement
Результат IDdlStatement
Пример #1
0
 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);
 }