return syntax error when order by or limit before union in mysql mode

This commit is contained in:
obdev
2023-09-01 07:10:52 +00:00
committed by ob-robot
parent bf0272041a
commit 6d8fedae8b
11 changed files with 25 additions and 40 deletions

View File

@ -1735,7 +1735,7 @@ CREATE TABLE T1 (PK INT PRIMARY KEY, C1 INT, C2 INT);
CREATE TABLE T2 (PK INT PRIMARY KEY, C1 INT, C2 INT);
CREATE TABLE T3 (PK INT PRIMARY KEY, C1 INT, C2 INT);
EXPLAIN SELECT C1, C2, PK FROM T1 ORDER BY PK DESC LIMIT 1 UNION (SELECT C1, C2, PK FROM T2 UNION SELECT C1, C2 ,PK FROM T3);
EXPLAIN (SELECT C1, C2, PK FROM T1 ORDER BY PK DESC LIMIT 1) UNION (SELECT C1, C2, PK FROM T2 UNION SELECT C1, C2 ,PK FROM T3);
Query Plan
==========================================================
|ID|OPERATOR |NAME |EST.ROWS|EST.TIME(us)|
@ -1763,7 +1763,7 @@ Outputs & filters:
access([t3.PK], [t3.C1], [t3.C2]), partitions(p0)
is_index_back=false, is_global_index=false,
range_key([t3.PK]), range(MIN ; MAX)always true
SELECT C1, C2, PK FROM T1 ORDER BY PK DESC LIMIT 1 UNION (SELECT C1, C2, PK FROM T2 UNION SELECT C1, C2 ,PK FROM T3);
(SELECT C1, C2, PK FROM T1 ORDER BY PK DESC LIMIT 1) UNION (SELECT C1, C2, PK FROM T2 UNION SELECT C1, C2 ,PK FROM T3);
+------+------+----+
| C1 | C2 | PK |
+------+------+----+

View File

@ -227,7 +227,8 @@ INSERT/**/ INTO T3 VALUES (1, 1, 1);
INSERT/**/ INTO T3 VALUES (2, 1, 1);
--enable_query_log
SELECT C1, C2, PK FROM T1 ORDER BY PK DESC LIMIT 1 UNION (SELECT C1, C2, PK FROM T2 UNION SELECT C1, C2 ,PK FROM T3);
EXPLAIN (SELECT C1, C2, PK FROM T1 ORDER BY PK DESC LIMIT 1) UNION (SELECT C1, C2, PK FROM T2 UNION SELECT C1, C2 ,PK FROM T3);
(SELECT C1, C2, PK FROM T1 ORDER BY PK DESC LIMIT 1) UNION (SELECT C1, C2, PK FROM T2 UNION SELECT C1, C2 ,PK FROM T3);
CREATE TABLE table2_bigint (
col_decimal_20_0_signed decimal(20,0) signed,