[ https://issues.apache.org/jira/browse/FLINK-5144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15815208#comment-15815208 ]
ASF GitHub Bot commented on FLINK-5144: --------------------------------------- Github user twalthr commented on a diff in the pull request: https://github.com/apache/flink/pull/3062#discussion_r95381307 --- Diff: flink-libraries/flink-table/src/test/scala/org/apache/flink/table/api/scala/batch/sql/CorrelateITCase.scala --- @@ -0,0 +1,68 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.flink.table.api.scala.batch.sql + +import org.apache.flink.api.scala._ +import org.apache.flink.api.scala.ExecutionEnvironment +import org.apache.flink.api.scala.util.CollectionDataSets +import org.apache.flink.table.api.TableEnvironment +import org.apache.flink.table.api.scala._ +import org.apache.flink.table.api.scala.batch.utils.TableProgramsTestBase +import org.apache.flink.table.api.scala.batch.utils.TableProgramsTestBase.TableConfigMode +import org.apache.flink.test.util.MultipleProgramsTestBase.TestExecutionMode +import org.apache.flink.test.util.TestBaseUtils +import org.apache.flink.types.Row +import org.junit._ +import org.junit.runner.RunWith +import org.junit.runners.Parameterized + +import scala.collection.JavaConverters._ + +@RunWith(classOf[Parameterized]) +class CorrelateITCase(mode: TestExecutionMode, configMode: TableConfigMode) --- End diff -- Yes, you are right. Query decorrelation has to be tested well, but everything happens logically. ITCases are basically only necessary to test the translation of FlinkRels such as `DataSetJoin`, `DataStreamUnion`, etc. > 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 > Assignee: Kurt Young > > 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)