Maybe "sal" is NOT NULL and Calcite is smart enough to realize it can translate that to COUNT(*)?
Gian On Thu, Feb 2, 2017 at 2:29 PM, Eli Levine <[email protected]> wrote: > Greetings! I have encountered what appears to be a bug in Calcite while > working on the Pig adapter [1]. > > This query: > > select deptno + 4, sum(sal), sum(3 + sal), 2 * count(sal) > from emp > group by deptno > > produces the following plan: > > LogicalProject(EXPR$0=[+($0, 4)], EXPR$1=[$1], EXPR$2=[$2], EXPR$3=[*(2, > $3)]) > LogicalAggregate(group=[{0}], EXPR$1=[SUM($1)], EXPR$2=[SUM($2)], > agg#2=[COUNT()]) > LogicalProject(DEPTNO=[$7], SAL=[$5], $f2=[+(3, $5)]) > LogicalTableScan(table=[[CATALOG, SALES, EMP]]) > > Note that the COUNT aggregate call does not have an associated column > reference, unlike other aggregate calls. Is this expected? Poking around > SqlToRelConverter is proving fairly involved, so I would like to make sure > this is actually an issue before sinking more time into it. > > Thanks! > > Eli > > [1] https://issues.apache.org/jira/browse/CALCITE-1598 > > <https://issues.apache.org/jira/browse/CALCITE-1598> >
