[
https://issues.apache.org/jira/browse/IGNITE-22444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17860072#comment-17860072
]
Evgeny Stanilovsky commented on IGNITE-22444:
---------------------------------------------
Seems need to fix it here : IgniteTypeCoercion#doBinaryComparisonCoercion,
IgniteTypeCoercion#commonTypeForBinaryComparison and return more wide numeric
type.
> Sql. Assign CHARACTER or CHARACTER VARYING to the other type.
> -------------------------------------------------------------
>
> Key: IGNITE-22444
> URL: https://issues.apache.org/jira/browse/IGNITE-22444
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Affects Versions: 3.0.0-beta1
> Reporter: Evgeny Stanilovsky
> Priority: Major
> Labels: ignite-3
>
> According to standard:
> {noformat}
> Values of either the CHARACTER or CHARACTER VARYING data type can be assigned
> to the other type, subject to truncation conditions
> {noformat}
> Thus i expect such expressions need to be processed correctly, but it fails:
> {noformat}
> create table tiny(v TINYINT);
> insert into tiny values(127);
> SELECT * FROM tiny WHERE v < '300';
> {noformat}
> {noformat}
> Caused by: org.apache.ignite.sql.SqlException: IGN-SQL-5
> TraceId:cfce3f69-606e-482b-b267-260f8569df62 Value '300' out of range for
> type TINYINT
> at
> org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.literalCanFitType(IgniteSqlValidator.java:714)
> at
> org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.checkTypesInteroperability(IgniteSqlValidator.java:680)
> at
> org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.deriveType(IgniteSqlValidator.java:550)
> {noformat}
> Seems such a problem was introduced here [1]
> [1] IGNITE-18662
--
This message was sent by Atlassian Jira
(v8.20.10#820010)