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