[ https://issues.apache.org/jira/browse/CASSANDRA-14170?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrés de la Peña updated CASSANDRA-14170: ------------------------------------------ Reviewer: Andrés de la Peña > Loss of digits when doing CAST from varint/bigint to decimal > ------------------------------------------------------------ > > Key: CASSANDRA-14170 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14170 > Project: Cassandra > Issue Type: Bug > Environment: Tested with Cassandra 3.11.1 but this issue is present > since the implementation of cast functions. > Reporter: Daniel Fiala > Assignee: Benjamin Lerer > Priority: Minor > > Cast functions from numeric types to decimal type are implemented as > conversion to double first and then from double to decimal: > [https://github.com/apache/cassandra/compare/trunk...blerer:10310-3.0#diff-6aa4a8f76df6c30c5bb4026b8c9251eeR80]. > This can cause loss of digits for big values stored in varint or bigint. It > is probably unexpected because decimal can store such values precisely. > Examples: > {{cqlsh> CREATE TABLE cast_bigint_test(k int PRIMARY KEY, bigint_clmn > bigint);}} > {{cqlsh> INSERT INTO cast_bigint_test(k, decimal_clmn) VALUES(2, > 9223372036854775807);}} > {{cqlsh> SELECT CAST(bigint_clmn AS decimal) FROM cast_bigint_test;}} > {{cast(bigint_clmn as decimal)}} > {{------------------------------}} > {{9.223372036854776E+18}} > {{(1 rows)}} > {{cqlsh> CREATE TABLE cast_varint_test (k int PRIMARY KEY, varint_clmn > varint);}} > {{cqlsh> INSERT INTO cast_varint_test(k, varint_clmn) values(2, > 1234567890123456789);}} > {{cqlsh> SELECT CAST(varint_clmn AS decimal) FROM cast_varint_test;}} > {{cast(varint_clmn as decimal)}} > {{------------------------------}} > 1.23456789012345677E+18 > {{(1 rows)}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org