Details
-
Bug
-
Status: Open
-
Critical
-
Resolution: Unresolved
-
Impala 2.9.0
-
None
-
ghx-label-7
Description
To reproduce, please run below impala query:
DROP TABLE IF EXISTS test;
CREATE TABLE test (a int);
SELECT (
CASE
WHEN (1 =1)
THEN 1
ELSE a
end) AS b
FROM test
GROUP BY 1
ORDER BY (
CASE
WHEN (1 =1)
THEN 1
ELSE a
end);
It will fail with below error:
ERROR: AnalysisException: ORDER BY expression not produced by aggregation output (missing from GROUP BY clause?): (CASE WHEN TRUE THEN 1 ELSE a END)
However, if I replace column name "a" as a constant value, it works:
SELECT ( CASE WHEN (1 =1) THEN 1 ELSE 2 end) AS b FROM test GROUP BY 1 ORDER BY ( CASE WHEN (1 =1) THEN 1 ELSE 2 end);
This issue is identified in CDH5.12.x (Impala 2.9), and no issues in 5.11.x (Impala 2.8).
We know that it can be worked around by re-write as below:
SELECT ( CASE WHEN (1 =1) THEN 1 ELSE a end) AS b FROM test GROUP BY 1 ORDER BY 1;
Attachments
Issue Links
- causes
-
IMPALA-7094 Fallback to an unoptimized query if ExprRewriter fails
-
- Open
-
- is related to
-
IMPALA-7785 GROUP BY clause not analyzed prior to rewrite step
-
- Reopened
-