Piotr Bojko created CALCITE-2511:
------------------------------------

             Summary: Possible bug in parsing implementation of rown_num select
                 Key: CALCITE-2511
                 URL: https://issues.apache.org/jira/browse/CALCITE-2511
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.17.0, 1.18.0
            Reporter: Piotr Bojko
            Assignee: Julian Hyde
         Attachments: implementation.java

I've found a possible bug.

With following view:

{code:json}
                                {
                                        "name": "STEPS",
                                        "type": "view",
                                        "sql": [
                                                "WITH ALLROWS AS ( ",
                                                " SELECT ",
                                                "   ROW_NUMBER() OVER W AS IDX, 
I.ID ISSUE, COALESCE(CG.AUTHOR, I.REPORTER) AS AUTHOR, COALESCE(CI.OLDVALUE, 
I.STATUS) AS STATUS, I.CREATED AS STARTDATE, CG.CREATED AS ENDDATE ",
                                                " FROM ISSUES AS I ",
                                                " JOIN INTERNAL.CHANGEGROUP AS 
CG ON CG.ISSUEID = I.ID ",
                                                " JOIN INTERNAL.CHANGEITEM AS 
CI ON CI.GROUPID = CG.ID ",
                                                " WHERE CI.FIELDTYPE = 'jira' 
AND CI.FIELD = 'status' ",
                                                " WINDOW w AS (PARTITION BY 
i.id ORDER BY CG.CREATED) ",
                                                ") ",
                                                "SELECT ISSUE, AUTHOR, STATUS, 
STARTDATE, ENDDATE ",
                                                "FROM ALLROWS WHERE ALLROWS.IDX 
<= 1 ",
                                                "UNION ALL ",
                                                "SELECT I.ID AS ISSUE, 
CG.AUTHOR, CI.NEWVALUE AS STATUS, CG.CREATED AS STARTDATE, LEAD(CG.CREATED, 1) 
OVER W AS ENDDATE ",
                                                "FROM ISSUES i ",
                                                "JOIN INTERNAL.CHANGEGROUP AS 
CG ON CG.ISSUEID = I.ID ",
                                                "JOIN INTERNAL.CHANGEITEM AS CI 
ON CI.GROUPID = CG.ID ",
                                                "WHERE CI.FIELDTYPE = 'jira' 
AND CI.FIELD = 'status' ",
                                                "WINDOW W AS (PARTITION BY I.ID 
ORDER BY CG.CREATED) "
                                        ]
                                },
{code}

When performig
{code:sql}
SELECT * FROM STEPS
{code}

The result is

{noformat}
Line 1556, Column 0: Java$AmbiguousName is not allowed as an expression 
statement. Expressions statements must be one of assignments, method 
invocations, or object allocations..
{noformat}

As an attachment, I've attached implementation. Clearly the line 1555/1556 is 
wrong...




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to