[ 
https://issues.apache.org/jira/browse/CALCITE-4126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17163167#comment-17163167
 ] 

Liya Fan commented on CALCITE-4126:
-----------------------------------

[~hyuan] Thanks for your kind reply. I would like to take a look. 

> 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)

Reply via email to