You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Victoria Markman (JIRA)" <ji...@apache.org> on 2015/01/06 01:40:36 UTC

[jira] [Created] (DRILL-1934) Failure to plan queries containing subqueries without correlation

Victoria Markman created DRILL-1934:
---------------------------------------

             Summary: Failure to plan queries containing subqueries without correlation
                 Key: DRILL-1934
                 URL: https://issues.apache.org/jira/browse/DRILL-1934
             Project: Apache Drill
          Issue Type: Bug
          Components: Query Planning & Optimization
    Affects Versions: 0.8.0
            Reporter: Victoria Markman
            Assignee: Jinfeng Ni


{code}
#Fri Jan 02 21:20:47 EST 2015
git.commit.id.abbrev=b491cdb
{code}

-- Failing queries
{code}
select * from cp.`tpch/nation.parquet` where n_regionkey > ( select r_regionkey from cp.`tpch/region.parquet`);

select * from cp.`tpch/nation.parquet` where n_regionkey < ( select min(r_regionkey) from cp.`tpch/region.parquet`);

select * from cp.`tpch/nation.parquet` where n_regionkey = ( select avg(r_regionkey) from cp.`tpch/region.parquet`);
{code}

-- Works with correlation
{code}
select * from cp.`tpch/nation.parquet` n where n.n_regionkey = ( select min(r.r_regionkey) from cp.`tpch/region.parquet` r where n.n_regionkey = r.r_regionkey);
{code}

All three queries above have the very similar logical planis produced by Calcite:

{code}
Query failed: Query failed: Unexpected exception during fragment initialization: Node [rel#14825:Subset#6.LOGICAL.ANY([]).[]] could not be implemented; planner state:

Root: rel#14825:Subset#6.LOGICAL.ANY([]).[]
Original rel:
AbstractConverter(subset=[rel#14825:Subset#6.LOGICAL.ANY([]).[]], convention=[LOGICAL], DrillDistributionTraitDef=[ANY([])], sort=[[]]): rowcount = 1.7976931348623157E308, cumulative cost = {inf}, id = 14826
  ProjectRel(subset=[rel#14824:Subset#6.NONE.ANY([]).[]], *=[$0]): rowcount = 1.7976931348623157E308, cumulative cost = {1.7976931348623157E308 rows, 1.7976931348623157E308 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 14823
    FilterRel(subset=[rel#14822:Subset#5.NONE.ANY([]).[]], condition=[=($1, $2)]): rowcount = 2.6965397022934733E307, cumulative cost = {2.6965397022934733E307 rows, 1.7976931348623157E308 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 14821
      JoinRel(subset=[rel#14820:Subset#4.NONE.ANY([]).[]], condition=[true], joinType=[left]): rowcount = 1.7976931348623157E308, cumulative cost = {1.7976931348623157E308 rows, 0.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 14819
        EnumerableTableAccessRel(subset=[rel#14813:Subset#0.ENUMERABLE.ANY([]).[]], table=[[cp, tpch/nation.parquet]]): rowcount = 100.0, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 14794
        AggregateRel(subset=[rel#14818:Subset#3.NONE.ANY([]).[]], group=[{}], EXPR$0=[AVG($0)]): rowcount = 1.7976931348623158E307, cumulative cost = {1.7976931348623158E307 rows, 0.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 14817
          ProjectRel(subset=[rel#14816:Subset#2.NONE.ANY([]).[]], r_regionkey=[$1]): rowcount = 100.0, cumulative cost = {100.0 rows, 100.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 14815
            EnumerableTableAccessRel(subset=[rel#14814:Subset#1.ENUMERABLE.ANY([]).[]], table=[[cp, tpch/region.parquet]]): rowcount = 100.0, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io, 0.0 network, 0.0 memory}, id = 14795
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)