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

Roman Churganov updated CALCITE-5042:
-------------------------------------
    Description: 
Execute query like: 

{code:sql}

{{SELECT f.id FROM sch1.foo as f}}
{{   JOIN sch1.foo br ON br.id = f.id  }}
{{   JOIN sch1.baz bz ON bz.id = br.id }}
{{   WHERE f.id = '0' }}

{code}

{{Calcite prepares SQL using JDBC adapter like: }}

{{SELECT "t1"."ID" FROM ( SELECT "ID" FROM "BAZ" ) AS "t"}}
   INNER JOIN ( 

{{         ( SELECT "ID" FROM "FOO" WHERE "ID" = '0') AS "t1"}}

{{             INNER JOIN (SELECT "ID" FROM "FOO") AS "t2"  }}

{{           ON "t1"."ID" = "t2"."ID"}}

{{) ON "t"."ID" = "t2"."ID" }}

though most of the databases can execute it, but Caclite itself cannot parse 
and gives error like:

Caused by: org.apache.calcite.sql.parser.impl.ParseException: Encountered "AS" 
at line 3, column 88.
Was expecting one of:
    "EXCEPT" ...
    "FETCH" ...
    "INTERSECT" ...
    "LIMIT" ...
    "OFFSET" ...
    "ORDER" ...
    "MINUS" ...
    "UNION" ...
    ")" ...
    "." ...
    "NOT" ...
    "IN" ...

{{see example [https://www.db-fiddle.com/f/oCr3VKkT2QmKgWro54Wzfc/4]  }}

 

  was:
Execute query like: 

{code}

{{SELECT f.id FROM sch1.foo as f}}
{{   JOIN sch1.foo br ON br.id = f.id  }}
{{   JOIN sch1.baz bz ON bz.id = br.id }}
{{   WHERE f.id = '0' \{code}}}

{{Calcite prepares SQL using JDBC adapter like: }}

{{SELECT "t1"."ID" FROM ( SELECT "ID" FROM "BAZ" ) AS "t"}}
   INNER JOIN ( 

{{         ( SELECT "ID" FROM "FOO" WHERE "ID" = '0') AS "t1"}}

{{             INNER JOIN (SELECT "ID" FROM "FOO") AS "t2"  }}

{{           ON "t1"."ID" = "t2"."ID"}}

{{) ON "t"."ID" = "t2"."ID" }}

though most of the databases can execute it, but Caclite itself cannot parse 
and gives error like:

Caused by: org.apache.calcite.sql.parser.impl.ParseException: Encountered "AS" 
at line 3, column 88.
Was expecting one of:
    "EXCEPT" ...
    "FETCH" ...
    "INTERSECT" ...
    "LIMIT" ...
    "OFFSET" ...
    "ORDER" ...
    "MINUS" ...
    "UNION" ...
    ")" ...
    "." ...
    "NOT" ...
    "IN" ...

{{see example [https://www.db-fiddle.com/f/oCr3VKkT2QmKgWro54Wzfc/4]  }}

 


> Incorrect syntax in sub-query
> -----------------------------
>
>                 Key: CALCITE-5042
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5042
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 1.29.0
>            Reporter: Roman Churganov
>            Priority: Blocker
>
> Execute query like: 
> {code:sql}
> {{SELECT f.id FROM sch1.foo as f}}
> {{   JOIN sch1.foo br ON br.id = f.id  }}
> {{   JOIN sch1.baz bz ON bz.id = br.id }}
> {{   WHERE f.id = '0' }}
> {code}
> {{Calcite prepares SQL using JDBC adapter like: }}
> {{SELECT "t1"."ID" FROM ( SELECT "ID" FROM "BAZ" ) AS "t"}}
>    INNER JOIN ( 
> {{         ( SELECT "ID" FROM "FOO" WHERE "ID" = '0') AS "t1"}}
> {{             INNER JOIN (SELECT "ID" FROM "FOO") AS "t2"  }}
> {{           ON "t1"."ID" = "t2"."ID"}}
> {{) ON "t"."ID" = "t2"."ID" }}
> though most of the databases can execute it, but Caclite itself cannot parse 
> and gives error like:
> Caused by: org.apache.calcite.sql.parser.impl.ParseException: Encountered 
> "AS" at line 3, column 88.
> Was expecting one of:
>     "EXCEPT" ...
>     "FETCH" ...
>     "INTERSECT" ...
>     "LIMIT" ...
>     "OFFSET" ...
>     "ORDER" ...
>     "MINUS" ...
>     "UNION" ...
>     ")" ...
>     "." ...
>     "NOT" ...
>     "IN" ...
> {{see example [https://www.db-fiddle.com/f/oCr3VKkT2QmKgWro54Wzfc/4]  }}
>  



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to