[
https://issues.apache.org/jira/browse/CASSANDRA-7095?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Spitzer updated CASSANDRA-7095:
--------------------------------------
Description:
I found that on Cqlsh v. 4.1.1 and Cassandra 2.0.6.28 when I inserted value
into float or double column, "select" returned a slightly different value
If cqlsh returns with only a low level precision, this does not show:
{code}
cqlsh> create KEYSPACE test WITH replication = {'class': 'SimpleStrategy',
'replication_factor':1};
cqlsh> use test ;
cqlsh:test> create table testing (a int PRIMARY KEY , b float);
cqlsh:test> INSERT INTO testing (a, b ) VALUES ( 1, 2.0002);
cqlsh:test> select * FROM testing ;
a | b
---+--------
1 | 2.0002
{code}
But if precision is increased, for example, 20 digits:
{code}
cqlsh> SELECT * FROM test.testing ;
a | b
---+-----------------------
1 | 2.0002000331878662109
{code}
Using sstable2json, one sees that this issue is with cqlsh, the actual data is
the value inserted:
{code}
sstable2json /var/lib/cassandra/data/test/testing/test-testing-jb-1-Data.db
[
{"key": "00000001","columns": [["","",1398459775180000],
["b","2.0002",1398459775180000]]}
]
{code}
was:
I found that on Cqlsh v. 4.1.1 and Cassandra 2.0.6.28 when I inserted value
into float or double column, "select" returned a slightly different value
If cqlsh returns with only a low level precision this does not show
{code}
cqlsh> create KEYSPACE test WITH replication = {'class': 'SimpleStrategy',
'replication_factor':1};
cqlsh> use test ;
cqlsh:test> create table testing (a int PRIMARY KEY , b float);
cqlsh:test> INSERT INTO testing (a, b ) VALUES ( 1, 2.0002);
cqlsh:test> select * FROM testing ;
a | b
---+--------
1 | 2.0002
{code}
But if precision is increased, for example, 20 digits:
{code}
cqlsh> SELECT * FROM test.testing ;
a | b
---+-----------------------
1 | 2.0002000331878662109
{code}
Using sstable2json, one sees that this issue is with cqlsh, the actual data is
the value inserted:
{code}
sstable2json /var/lib/cassandra/data/test/testing/test-testing-jb-1-Data.db
[
{"key": "00000001","columns": [["","",1398459775180000],
["b","2.0002",1398459775180000]]}
]
{code}
> Cqlsh reads floats and doubles with added non-trivial precision
> ---------------------------------------------------------------
>
> Key: CASSANDRA-7095
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7095
> Project: Cassandra
> Issue Type: Bug
> Components: Tools
> Environment: Ubuntu 12.04.3
> Python 2.7.3
> Reporter: Andrew Spitzer
>
> I found that on Cqlsh v. 4.1.1 and Cassandra 2.0.6.28 when I inserted value
> into float or double column, "select" returned a slightly different value
> If cqlsh returns with only a low level precision, this does not show:
> {code}
> cqlsh> create KEYSPACE test WITH replication = {'class': 'SimpleStrategy',
> 'replication_factor':1};
> cqlsh> use test ;
> cqlsh:test> create table testing (a int PRIMARY KEY , b float);
> cqlsh:test> INSERT INTO testing (a, b ) VALUES ( 1, 2.0002);
> cqlsh:test> select * FROM testing ;
> a | b
> ---+--------
> 1 | 2.0002
> {code}
> But if precision is increased, for example, 20 digits:
> {code}
> cqlsh> SELECT * FROM test.testing ;
> a | b
> ---+-----------------------
> 1 | 2.0002000331878662109
> {code}
> Using sstable2json, one sees that this issue is with cqlsh, the actual data
> is the value inserted:
> {code}
> sstable2json /var/lib/cassandra/data/test/testing/test-testing-jb-1-Data.db
> [
> {"key": "00000001","columns": [["","",1398459775180000],
> ["b","2.0002",1398459775180000]]}
> ]
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)