You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Vladimir Steshin (Jira)" <ji...@apache.org> on 2021/12/16 12:07:00 UTC

[jira] [Created] (CALCITE-4943) Type conversin in Project / HepPlaner: INTEGER to JavaType(int)

Vladimir Steshin created CALCITE-4943:
-----------------------------------------

             Summary: Type conversin in Project / HepPlaner: INTEGER to JavaType(int)
                 Key: CALCITE-4943
                 URL: https://issues.apache.org/jira/browse/CALCITE-4943
             Project: Calcite
          Issue Type: Bug
            Reporter: Vladimir Steshin


Found by JdbcTest.

Test query:
{code:sql}
select (select (select t."empid")) from "hr"."emps" t
{code}

Error:
{code:java}
java.lang.AssertionError: type mismatch:
ref:
JavaType(int) NOT NULL
input:
INTEGER NOT NULL
{code}

Stacktrace:

{code:java}
	at org.apache.calcite.util.Litmus$1.fail(Litmus.java:32)
	at org.apache.calcite.plan.RelOptUtil.eq(RelOptUtil.java:2211)
	at org.apache.calcite.rex.RexChecker.visitInputRef(RexChecker.java:129)
	at org.apache.calcite.rex.RexChecker.visitInputRef(RexChecker.java:61)
	at org.apache.calcite.rex.RexInputRef.accept(RexInputRef.java:114)
	at org.apache.calcite.rex.RexChecker.visitCall(RexChecker.java:144)
	at org.apache.calcite.rex.RexChecker.visitCall(RexChecker.java:61)
	at org.apache.calcite.rex.RexCall.accept(RexCall.java:189)
	at org.apache.calcite.rel.core.Project.isValid(Project.java:219)
	at org.apache.calcite.rel.core.Project.<init>(Project.java:98)
	at org.apache.calcite.rel.logical.LogicalProject.<init>(LogicalProject.java:69)
	at org.apache.calcite.rel.logical.LogicalProject.create(LogicalProject.java:126)
	at org.apache.calcite.rel.logical.LogicalProject.create(LogicalProject.java:114)
	at org.apache.calcite.rel.core.RelFactories$ProjectFactoryImpl.createProject(RelFactories.java:178)
	at org.apache.calcite.tools.RelBuilder.project_(RelBuilder.java:2020)
	at org.apache.calcite.tools.RelBuilder.project(RelBuilder.java:1792)
	at org.apache.calcite.tools.RelBuilder.projectNamed(RelBuilder.java:2083)
	at org.apache.calcite.sql2rel.RelDecorrelator.projectJoinOutputWithNullability(RelDecorrelator.java:1445)
	at org.apache.calcite.sql2rel.RelDecorrelator.access$900(RelDecorrelator.java:147)
	at org.apache.calcite.sql2rel.RelDecorrelator$RemoveCorrelationForScalarProjectRule.onMatch(RelDecorrelator.java:2149)
	at org.apache.calcite.plan.AbstractRelOptPlanner.fireRule(AbstractRelOptPlanner.java:343)
	at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:565)
	at org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:428)
	at org.apache.calcite.plan.hep.HepPlanner.executeInstruction(HepPlanner.java:251)
	at org.apache.calcite.plan.hep.HepInstruction$RuleInstance.execute(HepInstruction.java:130)
	at org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:208)
	at org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:195)
	at org.apache.calcite.sql2rel.RelDecorrelator.removeCorrelationViaRule(RelDecorrelator.java:378)
	at org.apache.calcite.sql2rel.RelDecorrelator.decorrelateQuery(RelDecorrelator.java:221)
	at org.apache.calcite.tools.Programs$DecorrelateProgram.run(Programs.java:361)
	at org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:336)
	at org.apache.calcite.prepare.Prepare.optimize(Prepare.java:177)
	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:312)
	at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:220)
	at org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:647)
	at org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:513)
	at org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:483)
{code}





--
This message was sent by Atlassian Jira
(v8.20.1#820001)