Marios Trivyzas created CALCITE-4861:
----------------------------------------
Summary: 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
Simplification of Cast chained calls can lead to unexpected behaviour:
CAST(CAST(CAST(123456 AS TINYINT) AS INT) AS BIGINT)
is simplified to
{noformat}
CAST(123456 AS BIGINT){noformat}
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.3.4#803005)