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

Oleg Zinoviev updated DRILL-7050:
---------------------------------
    Description: 
If the query contains a subquery whose filters are associated with the main 
query, an error occurs: *PLAN ERROR: Cannot convert RexNode to equivalent Drill 
expression. RexNode Class: org.apache.calcite.rex.RexCorrelVariable*

Steps to reproduce:
1) Create source table (or view, doesn't matter)
{code:sql}
create table dfs.root.source as  (
    select 1 as id union all select 2 as id
)
{code}
2) Execute query
{code:sql}
select t1.id,
        (select count(t2.id) 
        from storage.datasets.source t2 where t2.id = t1.id)
from storage.datasets.source t1
{code}

Reason: 

Method 
{code:java}org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard.lookupExp{code}
  call {code:java}RexBuilder.makeCorrel{code} in some cases


  was:
If the query contains a subquery whose filters are associated with the main 
query, an error occurs: ```PLAN ERROR: Cannot convert RexNode to equivalent 
Drill expression. RexNode Class: org.apache.calcite.rex.RexCorrelVariable```

Steps to reproduce:
1) Create source table (or view, doesn't matter)
{code:sql}
create table dfs.root.source as  (
    select 1 as id union all select 2 as id
)
{code}
2) Execute query
{code:sql}
select t1.id,
        (select count(t2.id) 
        from storage.datasets.source t2 where t2.id = t1.id)
from storage.datasets.source t1
{code}

Reason: 

Method 
{code:java}org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard.lookupExp{code}
  call {code:java}RexBuilder.makeCorrel{code} in some cases



> RexNode convert exception in subquery
> -------------------------------------
>
>                 Key: DRILL-7050
>                 URL: https://issues.apache.org/jira/browse/DRILL-7050
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.14.0, 1.15.0
>            Reporter: Oleg Zinoviev
>            Priority: Major
>
> If the query contains a subquery whose filters are associated with the main 
> query, an error occurs: *PLAN ERROR: Cannot convert RexNode to equivalent 
> Drill expression. RexNode Class: org.apache.calcite.rex.RexCorrelVariable*
> Steps to reproduce:
> 1) Create source table (or view, doesn't matter)
> {code:sql}
> create table dfs.root.source as  (
>     select 1 as id union all select 2 as id
> )
> {code}
> 2) Execute query
> {code:sql}
> select t1.id,
>       (select count(t2.id) 
>       from storage.datasets.source t2 where t2.id = t1.id)
> from storage.datasets.source t1
> {code}
> Reason: 
> Method 
> {code:java}org.apache.calcite.sql2rel.SqlToRelConverter.Blackboard.lookupExp{code}
>   call {code:java}RexBuilder.makeCorrel{code} in some cases



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

Reply via email to