[MDEV-15478] Explicit column name error in CTE of UNION Created: 2018-03-06  Updated: 2021-01-15  Resolved: 2018-04-12

Status: Closed
Project: MariaDB Server
Component/s: Optimizer - CTE, Parser
Affects Version/s: 10.3.5, 10.2, 10.3
Fix Version/s: 10.2.14

Type: Bug Priority: Major
Reporter: Aleksey Midenkov Assignee: Galina Shalygina (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-24597 Explicit column name error in CTE of ... Closed

 Description   

Reproduce

WITH cte (col1) AS
(
  SELECT 1
  UNION
  SELECT 2
)
SELECT col1 FROM cte;

Result

ERROR 1054 (42S22): Unknown column 'col1' in 'field list'

Expected

Query succeeds.

Notes

It works without UNION:

WITH cte (col1) AS
(
  SELECT 1
)
SELECT col1 FROM cte;
+------+
| col1 |
+------+
|    1 |
+------+



 Comments   
Comment by Alice Sherepa [ 2018-03-12 ]

Probably the same, imported from mysql 8.0 CTE tests:

CREATE TABLE t1(a int, b int, c int);
INSERT INTO t1 VALUES(NULL,NULL,NULL),(2,3,4);
WITH qn (foo, bar) AS (SELECT 1 AS col, 2 AS coll UNION
                       SELECT a,b FROM t1) 
SELECT qn1.bar FROM qn qn1;

ERROR 1054 (42S22): Unknown column 'qn1.bar' in 'field list'

Comment by Galina Shalygina (Inactive) [ 2018-04-12 ]

Pushed in 10.2

Generated at Thu Feb 08 08:21:37 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.