[ 
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: 

{{{{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 it 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" ...

{{ }}

 

  was:
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" 

 

{{ }}

 


> 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 it 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)

Reply via email to