public virtual void TestAnyAll()
{
var sql = "1 >= any (select id from t1 limit 1)";
var parser = new MySqlExprParser(new MySqlLexer(sql));
var expr = parser.Expression();
var output = Output2MySql(expr, sql);
Assert.AreEqual("1 >= ANY (SELECT id FROM t1 LIMIT 0, 1)", output);
Assert.AreEqual(typeof (ComparisionGreaterThanOrEqualsExpression),
expr.GetType());
sql =
"1 >= any (select id from t1 limit 1) > aLl(select tb1.id from tb1 t1,tb2 as t2 where t1.id=t2.id limit 1)";
parser = new MySqlExprParser(new MySqlLexer(sql));
expr = parser.Expression();
output = Output2MySql(expr, sql);
Assert.AreEqual(
"1 >= ANY (SELECT id FROM t1 LIMIT 0, 1) > ALL (SELECT tb1.id FROM tb1 AS T1, tb2 AS T2 WHERE t1.id = t2.id LIMIT 0, 1)",
output);
var gt = (ComparisionGreaterThanExpression)expr;
var ge = (ComparisionGreaterThanOrEqualsExpression)gt.LeftOprand;
Assert.AreEqual(typeof (LiteralNumber), ge.LeftOprand.GetType());
sql = "1 >= any + any";
parser = new MySqlExprParser(new MySqlLexer(sql));
expr = parser.Expression();
output = Output2MySql(expr, sql);
Assert.AreEqual("1 >= any + any", output);
}