1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

MDEV-10101 Wrong error message of SELECT 1 UNION (SELECT 1 FROM t1 GROUP BY 1 WITH ROLLUP)

This commit is contained in:
Alexander Barkov
2016-06-01 15:31:26 +04:00
parent caee832df1
commit 286416404a
3 changed files with 97 additions and 17 deletions

View File

@ -930,17 +930,27 @@ ERROR HY000: Invalid use of group function
SELECT 1 AS a UNION (SELECT a FROM t1 GROUP BY a ORDER BY GROUP_CONCAT(a)) ORDER BY a LIMIT 1;
ERROR HY000: Invalid use of group function
DROP TABLE t1;
# UNION with a parethesized term with ROLLUP
# UNION with a parenthesized term with ROLLUP
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (10),(20),(30);
SELECT 1 AS a UNION (SELECT a FROM t1 GROUP BY a WITH ROLLUP);
ERROR HY000: Incorrect usage of CUBE/ROLLUP and ORDER BY
a
1
10
20
30
NULL
SELECT 1 AS a UNION (SELECT a FROM t1 GROUP BY a WITH ROLLUP) LIMIT 1;
ERROR HY000: Incorrect usage of CUBE/ROLLUP and ORDER BY
a
1
SELECT 1 AS a UNION (SELECT a FROM t1 GROUP BY a WITH ROLLUP) ORDER BY a LIMIT 1;
ERROR HY000: Incorrect usage of CUBE/ROLLUP and ORDER BY
a
NULL
SELECT 1 AS a UNION (SELECT a FROM t1 GROUP BY a WITH ROLLUP LIMIT 2);
ERROR HY000: Incorrect usage of CUBE/ROLLUP and ORDER BY
a
1
10
20
SELECT 1 AS a UNION (SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY a);
ERROR HY000: Incorrect usage of CUBE/ROLLUP and ORDER BY
SELECT 1 AS a UNION (SELECT a FROM t1 GROUP BY a WITH ROLLUP ORDER BY GROUP_CONCAT(a));
@ -1154,3 +1164,58 @@ ERROR HY000: Incorrect usage of CUBE/ROLLUP and ORDER BY
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP ORDER BY a LIMIT 1) AS a FROM t1;
ERROR HY000: Incorrect usage of CUBE/ROLLUP and ORDER BY
DROP TABLE t1;
MDEV-10101 Wrong error message of SELECT 1 UNION (SELECT 1 FROM t1 GROUP BY 1 WITH ROLLUP)
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (10),(20),(30);
SELECT 1 AS a UNION (SELECT a FROM t1 GROUP BY a WITH ROLLUP);
a
1
10
20
30
NULL
(SELECT a FROM t1 GROUP BY a WITH ROLLUP) UNION SELECT 1;
a
10
20
30
NULL
1
SELECT a FROM t1 GROUP BY a WITH ROLLUP UNION SELECT 1;
a
10
20
30
NULL
1
SELECT 1 AS a UNION (SELECT a FROM t1 GROUP BY a WITH ROLLUP) LIMIT 1;
a
1
(SELECT a FROM t1 GROUP BY a WITH ROLLUP) UNION SELECT 1 LIMIT 1;
a
10
SELECT a FROM t1 GROUP BY a WITH ROLLUP UNION SELECT 1 LIMIT 1;
a
10
SELECT 1 AS a UNION (SELECT a FROM t1 GROUP BY a WITH ROLLUP) ORDER BY a LIMIT 1;
a
NULL
(SELECT a FROM t1 GROUP BY a WITH ROLLUP) UNION SELECT 1 ORDER BY a LIMIT 1;
a
NULL
SELECT a FROM t1 GROUP BY a WITH ROLLUP UNION SELECT 1 ORDER BY a LIMIT 1;
a
NULL
SELECT 1 AS a UNION (SELECT a FROM t1 GROUP BY a WITH ROLLUP LIMIT 2);
a
1
10
20
(SELECT a FROM t1 GROUP BY a WITH ROLLUP LIMIT 2) UNION SELECT 1;
a
10
20
1
DROP TABLE t1;