diff options
author | Igor Babaev <igor@askmonty.org> | 2018-11-06 09:40:07 -0800 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2018-11-06 12:07:49 -0800 |
commit | 41e68e8e5b3ce89c61f19bf072b59cf13a6fdc16 (patch) | |
tree | a6140d27a41dd30096d5ea495326e39b3adb3979 /mysql-test/main | |
parent | 074c68409921032f8a64416cc4d5ebc35d95dca9 (diff) | |
download | mariadb-git-41e68e8e5b3ce89c61f19bf072b59cf13a6fdc16.tar.gz |
MDEV-16357 LIMIT and ORDER BY clause is ignored on a query with UNION
when using brackets
Do not create master unit for select if it has already one.
Diffstat (limited to 'mysql-test/main')
-rw-r--r-- | mysql-test/main/brackets.result | 24 | ||||
-rw-r--r-- | mysql-test/main/brackets.test | 18 |
2 files changed, 42 insertions, 0 deletions
diff --git a/mysql-test/main/brackets.result b/mysql-test/main/brackets.result index 479b74b69e4..e789cdeff76 100644 --- a/mysql-test/main/brackets.result +++ b/mysql-test/main/brackets.result @@ -219,4 +219,28 @@ select 1 union select 1 union select 1; ((select 1) union (select 1) union (select 1)); 1 1 +# +# MDEV-16357: union in brackets with tail +# union with tail in brackets +# +CREATE TABLE t1 (a int); +INSERT INTO t1 VALUES(1),(2),(3),(4); +CREATE TABLE t2 (a int); +INSERT INTO t2 VALUES (4),(5),(6),(7); +(SELECT a FROM t1 UNION SELECT a FROM t2) LIMIT 1; +a +1 +(SELECT a FROM t1 UNION SELECT a FROM t2) ORDER BY a DESC; +a +7 +6 +5 +4 +3 +2 +1 +(SELECT a FROM t1 UNION SELECT a FROM t2 LIMIT 1); +a +1 +DROP TABLE t1,t2; # End of 10.4 tests diff --git a/mysql-test/main/brackets.test b/mysql-test/main/brackets.test index 699c70a900f..0eaa3bfc0a2 100644 --- a/mysql-test/main/brackets.test +++ b/mysql-test/main/brackets.test @@ -88,5 +88,23 @@ select 1 union select 1 union select 1; (select 1 union select 1 union select 1); ((select 1) union (select 1) union (select 1)); +--echo # +--echo # MDEV-16357: union in brackets with tail +--echo # union with tail in brackets +--echo # + +CREATE TABLE t1 (a int); +INSERT INTO t1 VALUES(1),(2),(3),(4); + +CREATE TABLE t2 (a int); +INSERT INTO t2 VALUES (4),(5),(6),(7); + +(SELECT a FROM t1 UNION SELECT a FROM t2) LIMIT 1; +(SELECT a FROM t1 UNION SELECT a FROM t2) ORDER BY a DESC; + +(SELECT a FROM t1 UNION SELECT a FROM t2 LIMIT 1); + +DROP TABLE t1,t2; + --echo # End of 10.4 tests |