[ https://issues.apache.org/jira/browse/DRILL-6703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Volodymyr Vysotskyi updated DRILL-6703: --------------------------------------- Labels: ready-to-commit (was: ) > Query with complex expressions in lateral and unnest fails with > CannotPlanException > ----------------------------------------------------------------------------------- > > Key: DRILL-6703 > URL: https://issues.apache.org/jira/browse/DRILL-6703 > Project: Apache Drill > Issue Type: Bug > Components: Query Planning & Optimization > Affects Versions: 1.14.0 > Reporter: Volodymyr Vysotskyi > Assignee: Volodymyr Vysotskyi > Priority: Major > Labels: ready-to-commit > Fix For: 1.15.0 > > > Queries like this: > {code:sql} > select l.name from cp.`lateraljoin/nested-customer.parquet` c, > lateral (select u.item.i_name as name from unnest(c.orders[0].items) as > u(item)) l limit 1 > {code} > fail with {{CannotPlanException}}: > {noformat} > 1:07:15.750 [2482e64c-9c2c-70b6-324e-848de16cb4c3:foreman] ERROR > o.a.d.e.p.s.h.DefaultSqlHandler - Node [rel#142:Subset#8.LOGICAL.ANY([]).[]] > could not be implemented; planner state: > Root: rel#142:Subset#8.LOGICAL.ANY([]).[] > Original rel: > LogicalSort(subset=[rel#142:Subset#8.LOGICAL.ANY([]).[]], fetch=[1]): > rowcount = 1.0, cumulative cost = {1.0 rows, 4.0 cpu, 0.0 io, 0.0 network, > 0.0 memory}, id = 140 > LogicalProject(subset=[rel#139:Subset#7.NONE.ANY([]).[]], name=[$2]): > rowcount = 1.0, cumulative cost = {1.0 rows, 1.0 cpu, 0.0 io, 0.0 network, > 0.0 memory}, id = 138 > LogicalCorrelate(subset=[rel#137:Subset#6.NONE.ANY([]).[]], > correlation=[$cor0], joinType=[inner], requiredColumns=[{1}]): rowcount = > 1.0, cumulative cost = {inf}, id = 136 > EnumerableTableScan(subset=[rel#126:Subset#0.ENUMERABLE.ANY([]).[]], > table=[[cp, lateraljoin/nested-customer.parquet]]): rowcount = 100.0, > cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, > id = 9 > LogicalProject(subset=[rel#135:Subset#5.NONE.ANY([]).[]], > name=[ITEM($0, 'i_name')]): rowcount = 1.0, cumulative cost = {1.0 rows, 1.0 > cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 134 > LogicalProject(subset=[rel#133:Subset#4.NONE.ANY([]).[]], item=[$0]): > rowcount = 1.0, cumulative cost = {1.0 rows, 1.0 cpu, 0.0 io, 0.0 network, > 0.0 memory}, id = 132 > Uncollect(subset=[rel#131:Subset#3.NONE.ANY([]).[]]): rowcount = > 1.0, cumulative cost = {1.0 rows, 1.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, > id = 130 > LogicalProject(subset=[rel#129:Subset#2.NONE.ANY([]).[]], > EXPR$0=[ITEM(ITEM($cor0.orders, 0), 'items')]): rowcount = 1.0, cumulative > cost = {1.0 rows, 1.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 128 > LogicalValues(subset=[rel#127:Subset#1.NONE.ANY([]).[0]], > tuples=[[{ 0 }]]): rowcount = 1.0, cumulative cost = {1.0 rows, 1.0 cpu, 0.0 > io, 0.0 network, 0.0 memory}, id = 10 > {noformat} > Due to the project from the right side of correlate, > {{ProjectComplexRexNodeCorrelateTransposeRule}} cannot be applied, so later > {{DrillUnnestRule}} cannot convert {{Uncollect}} with project with complex > expressions to {{DrillUnnestRel}}. -- This message was sent by Atlassian JIRA (v7.6.3#76005)