public Replace ( ) : DmlReplaceStatement
return
Tup.Cobar4Net.Parser.Ast.Stmt.Dml.DmlReplaceStatement
public virtual void TestReplace()
{
var sql = "ReplaCe LOW_PRIORITY intO test.t1 seT t1.id1:=?, id2='123'";
var lexer = new MySqlLexer(sql);
var parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
var replace = parser.Replace();
parser.Match(MySqlToken.Eof);
Assert.IsNotNull(replace);
var output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO test.t1 (t1.id1, id2) VALUES (?, '123')", output);
sql = "ReplaCe test.t1 seT t1.id1:=? ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE INTO test.t1 (t1.id1) VALUES (?)", output);
sql = "ReplaCe t1 value (123,?) ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE INTO t1 VALUES (123, ?)", output);
sql = "ReplaCe LOW_PRIORITY t1 valueS (12e-2), (?)";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 VALUES (0.12), (?)", output);
sql = "ReplaCe LOW_PRIORITY t1 select id from t1";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 SELECT id FROM t1",
output);
sql = "ReplaCe delayed t1 select id from t1";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE DELAYED INTO t1 SELECT id FROM t1", output);
sql = "ReplaCe LOW_PRIORITY t1 (select id from t1) ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 SELECT id FROM t1",
output);
sql = "ReplaCe LOW_PRIORITY t1 (t1.col1) valueS (123),('12''34')";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 (t1.col1) VALUES (123), ('12\\'34')", output);
sql = "ReplaCe LOW_PRIORITY t1 (col1, t1.col2) VALUE (123,'123\\'4') ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 (col1, t1.col2) VALUES (123, '123\\'4')", output);
sql = "REPLACE LOW_PRIORITY t1 (col1, t1.col2) select id from t3 ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 (col1, t1.col2) SELECT id FROM t3", output);
sql = "replace LOW_PRIORITY intO t1 (col1) ( select id from t3) ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 (col1) SELECT id FROM t3", output);
}
File:
MySQLDMLReplaceParserTest.cs
Progetto:
tupunco/Tup.Cobar4Net
public virtual void TestReplace()
{
var sql = "ReplaCe LOW_PRIORITY intO test.t1 seT t1.id1:=?, id2='123'";
var lexer = new MySqlLexer(sql);
var parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
var replace = parser.Replace();
parser.Match(MySqlToken.Eof);
Assert.IsNotNull(replace);
var output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO test.t1 (t1.id1, id2) VALUES (?, '123')", output);
sql = "ReplaCe test.t1 seT t1.id1:=? ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE INTO test.t1 (t1.id1) VALUES (?)", output);
sql = "ReplaCe t1 value (123,?) ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE INTO t1 VALUES (123, ?)", output);
sql = "ReplaCe LOW_PRIORITY t1 valueS (12e-2), (?)";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 VALUES (0.12), (?)", output);
sql = "ReplaCe LOW_PRIORITY t1 select id from t1";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 SELECT id FROM t1",
output);
sql = "ReplaCe delayed t1 select id from t1";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE DELAYED INTO t1 SELECT id FROM t1", output);
sql = "ReplaCe LOW_PRIORITY t1 (select id from t1) ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 SELECT id FROM t1",
output);
sql = "ReplaCe LOW_PRIORITY t1 (t1.col1) valueS (123),('12''34')";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 (t1.col1) VALUES (123), ('12\\'34')", output);
sql = "ReplaCe LOW_PRIORITY t1 (col1, t1.col2) VALUE (123,'123\\'4') ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 (col1, t1.col2) VALUES (123, '123\\'4')", output);
sql = "REPLACE LOW_PRIORITY t1 (col1, t1.col2) select id from t3 ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 (col1, t1.col2) SELECT id FROM t3", output);
sql = "replace LOW_PRIORITY intO t1 (col1) ( select id from t3) ";
lexer = new MySqlLexer(sql);
parser = new MySqlDmlReplaceParser(lexer, new MySqlExprParser(lexer));
replace = parser.Replace();
parser.Match(MySqlToken.Eof);
output = Output2MySql(replace, sql);
Assert.AreEqual("REPLACE LOW_PRIORITY INTO t1 (col1) SELECT id FROM t3", output);
}