[
https://issues.apache.org/jira/browse/CALCITE-827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14652226#comment-14652226
]
Sean Hsuan-Yi Chu commented on CALCITE-827:
-------------------------------------------
[~julianhyde] In LogicalWindow, Line 241, there is a comment:
{code}
// TODO: The order that the "over" calls occur in the groups and
// partitions may not match the order in which they occurred in the
// original expression. We should add a project to permute them.
{code}
This sounds like the root cause of this issue? So I will just work along that
direction?
> ProjectToWindowRule leads to Assertion Error when multiple windows are used
> in a specific way
> ---------------------------------------------------------------------------------------------
>
> Key: CALCITE-827
> URL: https://issues.apache.org/jira/browse/CALCITE-827
> Project: Calcite
> Issue Type: Bug
> Reporter: Sean Hsuan-Yi Chu
> Assignee: Sean Hsuan-Yi Chu
>
> To reproduce this issue, add ProjectToWindowRule to the Hep Planner.
> Then, a query below would fail with an Assertion Error (type mis-match)
> {code}
> select count(*) over(partition by empno order by sal) as count1,
> count(*) over(partition by deptno order by sal) as count2,
> sum(deptno) over(partition by empno order by sal) as sum1
> from emp
> {code}
> However, if the second and third columns are swapped, then it works:
> {code}
> select count(*) over(partition by empno order by sal) as count1,
> sum(deptno) over(partition by empno order by sal) as sum1,
> count(*) over(partition by deptno order by sal) as count2
> from emp
> {code}
> Essentially, the window functions which "share the same window definition"
> should be placed consecutively in the select-list; Otherwise, the current
> linking mechanism seems having some difficulty.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)