diff options
Diffstat (limited to 'mysql-test/main/parser.test')
-rw-r--r-- | mysql-test/main/parser.test | 55 |
1 files changed, 29 insertions, 26 deletions
diff --git a/mysql-test/main/parser.test b/mysql-test/main/parser.test index 1f176c6afc5..e9c10159260 100644 --- a/mysql-test/main/parser.test +++ b/mysql-test/main/parser.test @@ -826,13 +826,16 @@ SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 --error ER_ORDER_WITH_PROC SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 + PROCEDURE ANALYSE(); +--error ER_ORDER_WITH_PROC +SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 PROCEDURE ANALYSE() FOR UPDATE; SELECT 1 FROM (SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 FOR UPDATE) a; ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE SELECT 1 FROM (SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 PROCEDURE ANALYSE() FOR UPDATE) a; @@ -841,7 +844,7 @@ SELECT 1 FROM t1 WHERE EXISTS(SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 FOR UPDATE); ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE SELECT 1 FROM t1 WHERE EXISTS(SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 PROCEDURE ANALYSE() FOR UPDATE); @@ -851,7 +854,7 @@ UNION SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 FOR UPDATE; ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE SELECT 1 FROM t1 UNION SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 @@ -867,7 +870,7 @@ UNION (SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 FOR UPDATE); ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE (SELECT 1 FROM t1) UNION (SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 @@ -876,7 +879,7 @@ UNION --echo # "FOR UPDATE" tests SELECT 1 FROM t1 UNION SELECT 1 FROM t1 ORDER BY 1 LIMIT 1; -SELECT 1 FROM t1 FOR UPDATE UNION SELECT 1 FROM t1 ORDER BY 1 LIMIT 1; +(SELECT 1 FROM t1 FOR UPDATE) UNION SELECT 1 FROM t1 ORDER BY 1 LIMIT 1; SELECT 1 FROM t1 UNION SELECT 1 FROM t1 ORDER BY 1 LIMIT 1 FOR UPDATE; @@ -889,10 +892,10 @@ SELECT 1 INTO @var17727401; SELECT 1 INTO @var17727401 FROM t1; SELECT 1 INTO @var17727401 FROM DUAL; ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE SELECT 1 INTO @var17727401_1 FROM t1 INTO @var17727401_2; ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE SELECT 1 INTO @var17727401_1 FROM DUAL INTO @var17727401_2; @@ -902,45 +905,45 @@ SELECT 1 FROM t1 WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 LIMIT 1 INTO @var1772740 --error ER_PARSE_ERROR SELECT 1 FROM t1 WHERE 1 INTO @var17727401 GROUP BY 1 HAVING 1 ORDER BY 1 LIMIT 1; ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE SELECT 1 INTO @var17727401_1 FROM t1 WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1 LIMIT 1 INTO @var17727401_2; ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE SELECT (SELECT 1 FROM t1 INTO @var17727401); ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE SELECT 1 FROM (SELECT 1 FROM t1 INTO @var17727401) a; ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE SELECT EXISTS(SELECT 1 FROM t1 INTO @var17727401); --error ER_PARSE_ERROR SELECT 1 FROM t1 INTO @var17727401 UNION SELECT 1 FROM t1 INTO t1; ---error ER_WRONG_USAGE +--error ER_SP_UNDECLARED_VAR (SELECT 1 FROM t1 INTO @var17727401) UNION (SELECT 1 FROM t1 INTO t1); SELECT 1 FROM t1 UNION SELECT 1 FROM t1 INTO @var17727401; ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE SELECT 1 INTO @var17727401 FROM t1 PROCEDURE ANALYSE(); ---error ER_PARSE_ERROR +--error ER_CANT_USE_OPTION_HERE SELECT 1 FROM t1 PROCEDURE ANALYSE() INTO @var17727401; --echo # ORDER and LIMIT clause combinations # Limited support for (SELECT ...) ORDER/LIMIT: -(SELECT 1 FROM t1 ORDER BY 1) ORDER BY 1; -(SELECT 1 FROM t1 LIMIT 1) LIMIT 1; +# (SELECT 1 FROM t1 ORDER BY 1) ORDER BY 1; +# (SELECT 1 FROM t1 LIMIT 1) LIMIT 1; ---error ER_PARSE_ERROR -((SELECT 1 FROM t1 ORDER BY 1) ORDER BY 1) ORDER BY 1; ---error ER_PARSE_ERROR -((SELECT 1 FROM t1 LIMIT 1) LIMIT 1) LIMIT 1; +#--error ER_PARSE_ERROR +# ((SELECT 1 FROM t1 ORDER BY 1) ORDER BY 1) ORDER BY 1; +#--error ER_PARSE_ERROR +# ((SELECT 1 FROM t1 LIMIT 1) LIMIT 1) LIMIT 1; -(SELECT 1 FROM t1 ORDER BY 1) LIMIT 1; -(SELECT 1 FROM t1 LIMIT 1) ORDER BY 1; +# (SELECT 1 FROM t1 ORDER BY 1) LIMIT 1; +# (SELECT 1 FROM t1 LIMIT 1) ORDER BY 1; --error ER_PARSE_ERROR ((SELECT 1 FROM t1 ORDER BY 1) LIMIT 1) ORDER BY 1); @@ -1276,22 +1279,22 @@ DROP TABLE t1; --echo # CREATE TABLE t1 (i INT); ---error ER_WRONG_USAGE +--error ER_CANT_USE_OPTION_HERE (SELECT * FROM t1 PROCEDURE ANALYSE(10, 10)) UNION (SELECT * FROM t1 PROCEDURE ANALYSE(10, 10)); ---error ER_WRONG_USAGE +--error ER_CANT_USE_OPTION_HERE (SELECT * FROM t1 PROCEDURE ANALYSE(10, 10)) UNION SELECT * FROM t1 PROCEDURE ANALYSE(10, 10); ---error ER_WRONG_USAGE +--error ER_CANT_USE_OPTION_HERE (SELECT * FROM t1 PROCEDURE ANALYSE(10, 10)) UNION (SELECT 1); ---error ER_WRONG_USAGE +--error ER_CANT_USE_OPTION_HERE (SELECT * FROM t1 PROCEDURE ANALYSE(10, 10)) UNION SELECT 1; |