Cascading / lingual

Stand-alone ANSI SQL for Cascading on Apache Hadoop
http://www.cascading.org/lingual/
48 stars 17 forks source link

Planner throws exception about Node ARRAY that could not be implemented #2

Open rdelbru opened 11 years ago

rdelbru commented 11 years ago

A second issue I have encountered. This one seems to come from the eigenbase RelOptPlanner (see part of the stack trace below). Attached a unit test that exposes the problem (the SQL query in the test does not have much sense per se, but it demonstrates the problem).

org.eigenbase.relopt.RelOptPlanner$CannotPlanException: Node [rel#54:Subset#4.ARRAY] could not be implemented; planner state:

Root: rel#54:Subset#4.ARRAY
Original rel:
AbstractConverter(subset=[rel#54:Subset#4.ARRAY], convention=[ARRAY])
  ProjectRel(subset=[rel#49:Subset#4.NONE], CITY=[$4], CITY0=[$14], EMPNO=[$10], EMPNO0=[$0])
    FilterRel(subset=[rel#47:Subset#3.NONE], condition=[AND(=($3, CAST('M'):JavaType(class java.lang.String) NOT NULL), IS NULL($24))])
      JoinRel(subset=[rel#45:Subset#2.NONE], condition=[AND(AND(=($23, CAST('M'):JavaType(class java.lang.String) NOT NULL), =($20, $10)), NOT(CASE(OR(IS NOT NULL($6), IS NOT NULL($26)), AND(AND(AND(IS NOT NULL($6), IS NOT NULL($26)), =($6, $26)), =($4, $24)), AND(OR(IS NULL($1), =($1, CAST('Bob'):JavaType(class java.lang.String) NOT NULL)), OR(IS NULL($21), =($21, CAST('Bob'):JavaType(class java.lang.String) NOT NULL))), =($4, $24), AND(=($1, $21), =($4, $24)), CAST(=(1, 1)):BOOLEAN, null)))], joinType=[left])
        JoinRel(subset=[rel#43:Subset#1.NONE], condition=[=($13, CAST('M'):JavaType(class java.lang.String) NOT NULL)], joinType=[inner])
          CascadingTableAccessRel(subset=[rel#41:Subset#0.CASCADING], table=[[SALES, EMPS]])
          CascadingTableAccessRel(subset=[rel#41:Subset#0.CASCADING], table=[[SALES, EMPS]])
        CascadingTableAccessRel(subset=[rel#41:Subset#0.CASCADING], table=[[SALES, EMPS]])
cwensel commented 11 years ago

ok, as of the current wip this still throws a

org.eigenbase.relopt.RelOptPlanner$CannotPlanException: Node [rel#54:Subset#4.ENUMERABLE.[]] could not be implemented; planner