You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Vladimir Steshin (Jira)" <ji...@apache.org> on 2021/12/16 13:22:00 UTC
[jira] [Updated] (CALCITE-4943) Type mismatch in Project / HepPlaner: INTEGER to JavaType(int)
[ https://issues.apache.org/jira/browse/CALCITE-4943?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Steshin updated CALCITE-4943:
--------------------------------------
Description:
Found by JdbcTest.
Test query:
{code:sql}
CalciteAssert.hr()
.query("select (select (select t.\"empid\")) from \"hr\".\"emps\" t")
.returnsCount(4);
{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}
was:
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}
Summary: Type mismatch in Project / HepPlaner: INTEGER to JavaType(int) (was: Type conversin in Project / HepPlaner: INTEGER to JavaType(int))
> Type mismatch 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
> Priority: Minor
>
> Found by JdbcTest.
> Test query:
> {code:sql}
> CalciteAssert.hr()
> .query("select (select (select t.\"empid\")) from \"hr\".\"emps\" t")
> .returnsCount(4);
> {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)