Unexpected syntax error for a query with UNION of left joins
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Fix Released
|
High
|
Igor Babaev |
Bug Description
The following sequence of commands gives us an unexpected error message in MariaDB 5.5:
CREATE TABLE t1 (a int);
CREATE TABLE t2 (b int);
CREATE TABLE t3 (c int);
SELECT a FROM t1 UNION SELECT b FROM t2 JOIN (t3) ON ( t2.b = t3.c );
MariaDB [test]> SELECT a FROM t1 UNION SELECT b FROM t2 JOIN (t3) ON ( t2.b = t3.c );
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ON ( t2.b = t3.c )' at line 1
If we exchange SELECTs in the above UNION the query will be accepted though:
MariaDB [test]> SELECT b FROM t2 JOIN (t3) ON ( t2.b = t3.c ) UNION SELECT a FROM t1;
Empty set (0.00 sec)
The versions MariaDB 5.2/5.3 are not affected, while mysql-5.5 is affected: see http://
Changed in maria: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Igor Babaev (igorb-seattle) |
milestone: | none → 5.5 |
status: | Confirmed → In Progress |
Changed in maria: | |
status: | In Progress → Fix Committed |
Fix released in 5.5.25