[
https://issues.apache.org/jira/browse/IGNITE-19947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17750153#comment-17750153
]
Evgeny Stanilovsky commented on IGNITE-19947:
---------------------------------------------
let`s fill appropriate issue into Calcite after and fix it too.
> Sql. Fix CAST(n AS DECIMAL(precision, scale) behaviour for scale > precision.
> -----------------------------------------------------------------------------
>
> Key: IGNITE-19947
> URL: https://issues.apache.org/jira/browse/IGNITE-19947
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Affects Versions: 3.0.0-beta1
> Reporter: Maksim Zhuravkov
> Assignee: Evgeny Stanilovsky
> Priority: Minor
> Labels: ignite-3
>
> CAST(n AS DECIMAL(p, s) always returns `numeric field overflow` error when s
> > p which is not correct, in such case we should also check `n`.
> Example:
> {code:java}
> SELECT CAST (? AS DECIMAL(1,4)) ? = 0.0001
> # PG returns 0.0001
> # Ignite 3 returns numeric field overflow
> {code}
> Query with a literal works because calcite performs constant folding and
> removes a CAST call:
> {code:java}
> SELECT CAST (0.0001 AS DECIMAL(1,4))
> # Plan
> IgniteValues(tuples=[[{ 0.0001 }]]), id = 8
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)