Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Currently we only allow columns as arguments to CUBE and ROLLUP operators, whereas we allow expressions in the GROUP BY clause. This change would also allow expressions as arguments to CUBE and ROLLUP. Example:
// the following are valid, and will remain valid select deptno from emp group by deptno; select deptno +1 from emp group by deptno + 1; select deptno from emp group by cube(deptno); select deptno from emp group by rollup(deptno); // the following are currently invalid, but would be valid select deptno +1 from emp group by cube(deptno + 1, empno - 1); select deptno +1 from emp group by rollup(deptno + 1, empno - 1);
Note that as of CALCITE-1306, and with SqlConformance.isGroupByOrdinal enabled, select deptno from emp group by cube(1) should be valid because 1 is interpreted as an ordinal in the SELECT clause, not an expression.
Attachments
Issue Links
- is related to
-
CALCITE-1306 Allow GROUP BY and HAVING to reference SELECT expressions by ordinal and alias
- Closed