[ 
https://issues.apache.org/jira/browse/CALCITE-1540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

hongbin ma updated CALCITE-1540:
--------------------------------
    Attachment: 0001-CALCITE-1540-window-function-does-not-support-multip.patch

patch attached. Since only no-parameter constructor exists for 
SyntheticRecordType:

{quote}
org.apache.calcite.adapter.enumerable.EnumerableRelImplementor#implementRoot

   // Here a constructor without parameter is used because the generated
    // code could cause error if number of fields is too large.
{quote}

I have to manually assign each field value.

Had little experience on modifying Calcite's source code, please help to review.
BTW, where should I add more test case queries? I assume there should be a list 
of test queries to run on both Calcite and another DB, so that execution 
correctness can be ensured via comparing.

> window function does not support multiple partition columns
> -----------------------------------------------------------
>
>                 Key: CALCITE-1540
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1540
>             Project: Calcite
>          Issue Type: Bug
>    Affects Versions: 1.10.0
>            Reporter: hongbin ma
>            Assignee: Julian Hyde
>         Attachments: 
> 0001-CALCITE-1540-window-function-does-not-support-multip.patch
>
>
> When I add multiple partition columns to a window function:
> {code:xml}
>   @Test public void testSelect() throws SQLException {
>     checkSql("model", "select NAME,DEPTNO,count(*) over (partition by 
> NAME,DEPTNO) from EMPS");
>   }
> {code}
> Following exception is thrown:
> java.sql.SQLException: Error while executing SQL "select NAME,DEPTNO,count(*) 
> over (partition by NAME,DEPTNO) from EMPS": Error while compiling generated 
> Java code:
> However the document from calcite.apache.org/docs/reference.html states 
> multiple partition columns should be allowed:
> {code}
> windowSpec:
>       [ windowName ]
>       '('
>       [ ORDER BY orderItem [, orderItem ]* ]
>       [ PARTITION BY expression [, expression ]* ]
>       [
>           RANGE numericOrIntervalExpression { PRECEDING | FOLLOWING }
>       |   ROWS numericExpression { PRECEDING | FOLLOWING }
>       ]
>       ')'
> {code}
> After searching it seems no one is reporting the same issue. I'm opening this 
> JIAR as a placeholder, will try to fix this issue



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to