[
https://issues.apache.org/jira/browse/CALCITE-4126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17162608#comment-17162608
]
Liya Fan commented on CALCITE-4126:
-----------------------------------
[~hyuan] Is this issue intended for pick-up?
> Stackoverflow error when applying JoinCommuteRule
> -------------------------------------------------
>
> Key: CALCITE-4126
> URL: https://issues.apache.org/jira/browse/CALCITE-4126
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Haisheng Yuan
> Priority: Major
>
> Add the test case to RelOptRulesTest.java
> {code:java}
> @Test void testJoinCommute() {
> final HepProgram program = HepProgram.builder()
> .addRuleInstance(JoinCommuteRule.INSTANCE)
> .build();
> final String sql = "select * \n"
> + "from sales.emp e join sales.dept d on e.empno > d.deptno";
> sql(sql).with(program).check();
> }
> {code}
> Stacktrace:
> {code:java}
> java.lang.StackOverflowError
> at org.apache.calcite.rex.RexInputRef.accept(RexInputRef.java:112)
> at org.apache.calcite.rel.core.Project.isValid(Project.java:210)
> at org.apache.calcite.rel.core.Project.<init>(Project.java:90)
> at
> org.apache.calcite.rel.logical.LogicalProject.<init>(LogicalProject.java:67)
> at
> org.apache.calcite.rel.logical.LogicalProject.copy(LogicalProject.java:128)
> at
> org.apache.calcite.rel.logical.LogicalProject.copy(LogicalProject.java:45)
> at org.apache.calcite.rel.core.Project.copy(Project.java:122)
> at
> org.apache.calcite.plan.hep.HepPlanner.addRelToGraph(HepPlanner.java:803)
> at
> org.apache.calcite.plan.hep.HepPlanner.applyTransformationResults(HepPlanner.java:732)
> at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:543)
> at
> org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:360)
> at
> org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:372)
> at
> org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:372)
> at
> org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:372)
> at
> org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:372)
> at
> org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:372)
> at
> org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:372)
> at
> org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:372)
> at
> org.apache.calcite.plan.hep.HepPlanner.depthFirstApply(HepPlanner.java:372)
> {code}
> I check master branch and 1.23.0, both throw StackOverflowError.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)