[
https://issues.apache.org/jira/browse/IGNITE-24378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17926010#comment-17926010
]
Ignite TC Bot commented on IGNITE-24378:
----------------------------------------
{panel:title=Branch: [pull/11846/head] Base: [master] : Possible Blockers
(1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Platform .NET (Windows){color} [[tests 0 TIMEOUT , Exit Code ,
[Artifacts publishing failed]
|https://ci2.ignite.apache.org/viewLog.html?buildId=8304497]]
{panel}
{panel:title=Branch: [pull/11846/head] Base: [master] : No new tests
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}{panel}
[TeamCity *--> Run :: All*
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=8303358&buildTypeId=IgniteTests24Java8_RunAll]
> Calcite. Query validation failure with a dynamic parameter.
> -----------------------------------------------------------
>
> Key: IGNITE-24378
> URL: https://issues.apache.org/jira/browse/IGNITE-24378
> Project: Ignite
> Issue Type: Bug
> Reporter: Vladimir Steshin
> Assignee: Vladimir Steshin
> Priority: Major
> Labels: calcite, ignite-2, ise
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> There is a issue with casting and inferring expression/value type with a
> dynamic parameter:
> {code:java}
> // Works
> assertQuery("select 1 + ?").withParams(1).returns(2).check();
> // Works
> assertQuery("select 1 + CAST(? AS
> INTEGER)").withParams(2L).returns(3).check();
>
> // Fails
> assertQuery("select 1 + ?").withParams(1L).returns(2L).check();
> {code}
> Error:
> {code:java}
> java.lang.AssertionError: Conversion to relational algebra failed to preserve
> datatypes:
> validated type:
> RecordType(BIGINT EXPR$0) NOT NULL
> converted type:
> RecordType(INTEGER EXPR$0) NOT NULL
> rel:
> LogicalProject(EXPR$0=[+(1, ?0)])
> LogicalValues(tuples=[[{ 0 }]])
> at
> org.apache.calcite.sql2rel.SqlToRelConverter.checkConvertedType(SqlToRelConverter.java:510)
> ~[calcite-core-1.37.0.jar:1.37.0]
> at
> org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:625)
> ~[calcite-core-1.37.0.jar:1.37.0]
> at
> org.apache.ignite.internal.processors.query.calcite.prepare.IgnitePlanner.rel(IgnitePlanner.java:340)
> ~[classes/:?]
> at
> org.apache.ignite.internal.processors.query.calcite.prepare.PlannerHelper.optimize(PlannerHelper.java:76)
> ~[classes/:?]
> at
> org.apache.ignite.internal.processors.query.calcite.prepare.PrepareServiceImpl.prepareExplain(PrepareServiceImpl.java:147)
> ~[classes/:?]
> at
> org.apache.ignite.internal.processors.query.calcite.prepare.PrepareServiceImpl.prepareSingle(PrepareServiceImpl.java:103)
> ~[classes/:?]
> at
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.lambda$parseAndProcessQuery$5(CalciteQueryProcessor.java:553)
> ~[classes/:?]
> at
> org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.lambda$queryPlan$0(QueryPlanCacheImpl.java:70)
> ~[classes/:?]
> at
> java.base/java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:330)
> ~[?:?]
> at
> org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:70)
> ~[classes/:?]
> at
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.lambda$parseAndProcessQuery$6(CalciteQueryProcessor.java:550)
> ~[classes/:?]
> at
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.processQuery(CalciteQueryProcessor.java:701)
> [classes/:?]
> at
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.parseAndProcessQuery(CalciteQueryProcessor.java:547)
> [classes/:?]
> at
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:420)
> [classes/:?]
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)