[
https://issues.apache.org/jira/browse/CALCITE-4861?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17520253#comment-17520253
]
Benchao Li commented on CALCITE-4861:
-------------------------------------
[~sbroeder] Are you still woking on this? I noticed that your pr has been
closed.
If not, I would like to take this, and propose a solution later.
> Optimisation of chained cast calls can lead to unexpected behaviour
> -------------------------------------------------------------------
>
> Key: CALCITE-4861
> URL: https://issues.apache.org/jira/browse/CALCITE-4861
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Marios Trivyzas
> Priority: Minor
> Labels: pull-request-available
> Time Spent: 50m
> Remaining Estimate: 0h
>
> Simplification of Cast chained calls can lead to unexpected behaviour:
> {code}CAST(CAST(CAST(123456 AS TINYINT) AS INT) AS BIGINT){code}
> is simplified to
> {code}
> CAST(123456 AS BIGINT){code}
> and returns *123456* with *BIGINT* data type, where the first inner cast as
> TINYINT should already fail because the value is out of range.
> For example, for PostgreSQL:
> {noformat}
> postgres=# select 123456::smallint::int::bigint;
> ERROR: smallint out of range{noformat}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)