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

Bad code generated when argument to COUNT(DISTINCT) is a GROUP BY column

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.13.0
    • None
    • None

    Description

      There is a code generation error when argument to COUNT(DISTINCT ...) is a column in the GROUP BY clause. For example,

      select count(distinct deptno) as cdd, count(*) as c
      from emp
      group by deptno
      

      generates code that is invalid (! operator applied to a long value):

                public Object current() {
                  final Object[] current = (Object[]) inputEnumerator.current();
                  return new Object[] {
                      current[0],
                      current[1],
                      !org.apache.calcite.runtime.SqlFunctions.toLong(current[1])};
                }
      

      Attachments

        Activity

          People

            julianhyde Julian Hyde
            julianhyde Julian Hyde
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: