[ 
https://issues.apache.org/jira/browse/CALCITE-1984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16165265#comment-16165265
 ] 

Jesus Camacho Rodriguez commented on CALCITE-1984:
--------------------------------------------------

Yes, I agree, but the rewriting is indeed incorrect.

*MV:*
{code}
select deptno, empid, salary
from emps
group by deptno, empid, salary;
{code}
*Query:*
{code}
select t1.deptno, count(distinct t1.empid)
from (
  select deptno, empid
  from emps
  group by deptno, empid) as t1
group by t1.deptno;
{code}
*Produced rewrite (currently):*
{code}
select deptno, count(empid)
from mv
group by deptno;
{code}
*Correct rewrite:*
{code}
select deptno, count(distinct empid)
from mv
group by deptno;
{code}

> MaterialView rewrite failed
> ---------------------------
>
>                 Key: CALCITE-1984
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1984
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.13.0
>            Reporter: fei.chen
>            Assignee: Jesus Camacho Rodriguez
>             Fix For: 1.15.0
>
>
> I had written a test as follows . It runs to succeed . But , the result seems 
> not right . The “count distinct” aggregation should not be changed to “count”.
> {code:java}
> @Test public void testAggregateMaterializationOnCountDistinctQuery1() {
>     checkMaterialize(
>         "select \"deptno\",  \"empid\" ,\"salary\"\n"
>             + "from \"emps\" group by \"deptno\",  \"empid\",\"salary\"",
>         "select \"deptno\", count( distinct \"empid\")" + "from (select 
> \"deptno\",  \"empid\" \n"
>             + "from \"emps\" group by \"deptno\",  \"empid\")  group by 
> \"deptno\"",
>         HR_FKUK_MODEL,
>         CalciteAssert.checkResultContains(
>             "EnumerableAggregate(group=[{0}], S=[COUNT($1)])\n" +
>                 "  EnumerableTableScan(table=[[hr, m0]]"));
>   }
> {code}
>  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to