Timo Walther created FLINK-5144:
-----------------------------------

             Summary: Error while applying rule AggregateJoinTransposeRule
                 Key: FLINK-5144
                 URL: https://issues.apache.org/jira/browse/FLINK-5144
             Project: Flink
          Issue Type: Bug
          Components: Table API & SQL
            Reporter: Timo Walther


AggregateJoinTransposeRule seems to cause errors. We have to investigate if 
this is a Flink or Calcite error. Here a simplified example:

{code}
select
  sum(l_extendedprice)
from
  lineitem,
  part
where
  p_partkey = l_partkey
  and l_quantity < (
    select
      avg(l_quantity)
    from
      lineitem
    where
      l_partkey = p_partkey
  )
{code}

Exception:
{code}
Exception in thread "main" java.lang.AssertionError: Internal error: Error 
occurred while applying rule AggregateJoinTransposeRule
        at org.apache.calcite.util.Util.newInternal(Util.java:792)
        at 
org.apache.calcite.plan.volcano.VolcanoRuleCall.transformTo(VolcanoRuleCall.java:148)
        at 
org.apache.calcite.plan.RelOptRuleCall.transformTo(RelOptRuleCall.java:225)
        at 
org.apache.calcite.rel.rules.AggregateJoinTransposeRule.onMatch(AggregateJoinTransposeRule.java:342)
        at 
org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:213)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:819)
        at 
org.apache.calcite.tools.Programs$RuleSetProgram.run(Programs.java:334)
        at 
org.apache.flink.api.table.BatchTableEnvironment.optimize(BatchTableEnvironment.scala:251)
        at 
org.apache.flink.api.table.BatchTableEnvironment.translate(BatchTableEnvironment.scala:286)
        at 
org.apache.flink.api.scala.table.BatchTableEnvironment.toDataSet(BatchTableEnvironment.scala:139)
        at 
org.apache.flink.api.scala.table.package$.table2RowDataSet(package.scala:77)
        at 
org.apache.flink.api.scala.sql.tpch.TPCHQueries$.runQ17(TPCHQueries.scala:826)
        at 
org.apache.flink.api.scala.sql.tpch.TPCHQueries$.main(TPCHQueries.scala:57)
        at 
org.apache.flink.api.scala.sql.tpch.TPCHQueries.main(TPCHQueries.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.AssertionError: Type mismatch:
rowtype of new rel:
RecordType(BIGINT l_partkey, BIGINT p_partkey) NOT NULL
rowtype of set:
RecordType(BIGINT p_partkey) NOT NULL
        at org.apache.calcite.util.Litmus$1.fail(Litmus.java:31)
        at org.apache.calcite.plan.RelOptUtil.equal(RelOptUtil.java:1838)
        at org.apache.calcite.plan.volcano.RelSubset.add(RelSubset.java:273)
        at org.apache.calcite.plan.volcano.RelSet.add(RelSet.java:148)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.addRelToSet(VolcanoPlanner.java:1820)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1766)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:1032)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:1052)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:1942)
        at 
org.apache.calcite.plan.volcano.VolcanoRuleCall.transformTo(VolcanoRuleCall.java:136)
        ... 17 more

{code}



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

Reply via email to