[ 
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)

Reply via email to