[ https://issues.apache.org/jira/browse/CALCITE-777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14604842#comment-14604842 ]
Aman Sinha commented on CALCITE-777: ------------------------------------ It seems a more generic issue with nullability. Even without aggregation or window function, the following subquery's column x is nullable, so we cannot drop the IS NOT NULL filter in the outer query block. {code} select x from (select sal as x from emp where sal is null) where x is not null; {code} {code} LogicalProject(X=[$0]) LogicalProject(X=[$5]) LogicalFilter(condition=[IS NULL($5)]) LogicalTableScan(table=[[CATALOG, SALES, EMP]]) {code} > IS NOT NULL filter is incorrectly dropped for aggregates and window functions > ----------------------------------------------------------------------------- > > Key: CALCITE-777 > URL: https://issues.apache.org/jira/browse/CALCITE-777 > Project: Calcite > Issue Type: Bug > Affects Versions: 1.3.0-incubating > Reporter: Aman Sinha > Assignee: Julian Hyde > > The below plans show the IS NOT NULL filter is incorrectly dropped. > {code} > select wsum from (select sum(sal) over (partition by deptno) as wsum from > emp) where wsum is not null; > LogicalProject(WSUM=[$0]) > LogicalProject(WSUM=[SUM($5) OVER (PARTITION BY $7 RANGE BETWEEN UNBOUNDED > PRECEDING AND UNBOUNDED FOLLOWING)]) > LogicalTableScan(table=[[CATALOG, SALES, EMP]]) > {code} > {code} > select wsum from (select sum(sal) as wsum from emp group by deptno) where > wsum is not null; > LogicalProject(WSUM=[$0]) > LogicalProject(WSUM=[$1]) > LogicalAggregate(group=[{0}], WSUM=[SUM($1)]) > LogicalProject(DEPTNO=[$7], SAL=[$5]) > LogicalTableScan(table=[[CATALOG, SALES, EMP]]) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)