[
https://issues.apache.org/jira/browse/CALCITE-6706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17901181#comment-17901181
]
xiong duan commented on CALCITE-6706:
-------------------------------------
The following three SQL statements will all throw exceptions:
{code:java}
SELECT -CAST(-32768 AS SMALLINT);
SELECT CAST(32768 AS SMALLINT);
SELECT -CAST(32768 AS SMALLINT); {code}
Therefore, we should first check if the parameters are out of bounds, and then
check if the results are out of bounds
> Explicit cast to numeric type doesn't check overflow
> ----------------------------------------------------
>
> Key: CALCITE-6706
> URL: https://issues.apache.org/jira/browse/CALCITE-6706
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.38.0
> Reporter: Evgeny Stanilovsky
> Priority: Major
>
> Seems this issue need to be continuation of [1] issue
> This test (placed into SqlOperatorTest) need to be failed but it passed:
> {noformat}
> @Test void testCast0() {
> final SqlOperatorFixture f = fixture();
> f.checkFails("SELECT -CAST(-32768 AS SMALLINT)",
> ".*Value 32768 out of range", true);
> }
> {noformat}
> [1] https://issues.apache.org/jira/browse/CALCITE-5990
--
This message was sent by Atlassian Jira
(v8.20.10#820010)