Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-1781

Allow expression in CUBE and ROLLUP

Rank to TopRank to BottomVotersWatch issueWatchersConvert to sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.13.0
    • Component/s: None
    • Labels:
      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

          Activity

          $i18n.getText('security.level.explanation', $currentSelection) Viewable by All Users
          Cancel

            People

            • Assignee:
              julianhyde Julian Hyde
              Reporter:
              julianhyde Julian Hyde

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment