You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (Jira)" <ji...@apache.org> on 2022/03/14 19:38:00 UTC

[jira] [Resolved] (CALCITE-5042) Incorrect syntax in sub-query

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

Julian Hyde resolved CALCITE-5042.
----------------------------------
    Resolution: Duplicate

Looks like a duplicate of CALCITE-35. We don't support parentheses to group JOIN expressions.

> 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: 
> {{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'}}
> {{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" }}
> which seem like have incorrect sub-query, 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" ...
> {{ }}
>  



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