[
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: }}
{code:sql}
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"
{code}
though most of the databases can execute it, but Caclite itself cannot parse
and gives error like:
{noformat}
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" ...
{noformat}
{{see example [https://www.db-fiddle.com/f/oCr3VKkT2QmKgWro54Wzfc/4] }}
was:
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: }}
{code:sql}
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"
{code}
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: }}
> {code:sql}
> 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"
> {code}
> though most of the databases can execute it, but Caclite itself cannot parse
> and gives error like:
> {noformat}
> 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" ...
> {noformat}
> {{see example [https://www.db-fiddle.com/f/oCr3VKkT2QmKgWro54Wzfc/4] }}
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)