[
https://issues.apache.org/jira/browse/IGNITE-22965?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ivan Zlenko updated IGNITE-22965:
---------------------------------
Labels: MakeTeamcityGreenAgain ignite-3 (was: ignite-3)
> Decimal type precision is ignored by client kv/record APIs
> ----------------------------------------------------------
>
> Key: IGNITE-22965
> URL: https://issues.apache.org/jira/browse/IGNITE-22965
> Project: Ignite
> Issue Type: Bug
> Reporter: Maksim Zhuravkov
> Priority: Major
> Labels: MakeTeamcityGreenAgain, ignite-3
>
> Example:
> {noformat}
> @Test
> public void testDec() {
> sql("CREATE TABLE t(k INT PRIMARY KEY, v DECIMAL(3,1))");
> RuntimeException err1 = assertThrows(RuntimeException.class, () ->
> sql("INSERT INTO t(k, v) VALUES (1, 300.1)"));
> assertEquals("Numeric field overflow", err1.getMessage());
> RuntimeException err2 = assertThrows(RuntimeException.class, () -> {
> IgniteImpl ignite = CLUSTER.aliveNode();
> KeyValueView<Tuple, Tuple> kv =
> ignite.tables().table("t").keyValueView();
> kv.put(null, Tuple.create().set("k", 1), Tuple.create().set("v",
> new BigDecimal("300.1")));
> });
> assertEquals("Numeric field overflow in column 'V'",
> err2.getMessage());
> // This assertion fails and a record is successfully added.
> RuntimeException err3 = assertThrows(RuntimeException.class, () -> {
> KeyValueView<Tuple, Tuple> kv =
> client.tables().table("t").keyValueView();
> kv.put(null, Tuple.create().set("k", 1), Tuple.create().set("v",
> new BigDecimal("300.1")));
> });
> assertEquals(err3.getMessage(), "Numeric field overflow in column
> 'V'");
> }
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)