[ 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 dfs.root.source t2 where t2.id = t1.id) from dfs.root.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 dfs.root.source t2 where t2.id = t1.id) > from dfs.root.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)