Stefan Miklosovic created CASSANDRA-19546:
---------------------------------------------

             Summary: Add to_data function
                 Key: CASSANDRA-19546
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19546
             Project: Cassandra
          Issue Type: New Feature
          Components: Legacy/CQL
            Reporter: Stefan Miklosovic


There are cases (e.g in our system_views tables for might be applicable for 
user tables as well) when a column is of a type which represent number of 
bytes. However, it is quite hard to parse a value for a human to have some 
estimation what that value is.

I propose this:
{code:java}
cqlsh> select * from myks.mytb ;

 id | col1 | col2 | col3 | col4     
----+------+------+------+----------
  1 |  100 |  200 |  300 | 32432423 

(1 rows)
cqlsh> select to_data(col4) from myks.mytb where id = 1;

 system.to_data(col4)
----------------------
            30.93 MiB

(1 rows)
cqlsh> select to_data(col4,0) from myks.mytb where id = 1;

 system.to_data(col4, 0)
-------------------------
                  31 MiB

(1 rows)
cqlsh> select to_data(col4,1) from myks.mytb where id = 1;

 system.to_data(col4, 1)
-------------------------
                30.9 MiB

(1 rows)

{code}
The second argument is optional and represents the number of decimal places (at 
most) to use. Without the second argument, it will default to FileUtils.df 
which is "#.##" format.

{code}
cqlsh> DESCRIBE myks.mytb ;

CREATE TABLE myks.mytb (
id int PRIMARY KEY,
col1 int,
col2 smallint,
col3 bigint,
col4 varint,
)
{code}

I also propose that this to_data function (name of it might be indeed discussed 
and it is just a suggestion) should be only applicable for int, smallint, 
bigint and varint types. I am not sure how to apply this to e.g. "float" or 
similar. As I mentioned, it is meant to convert just number of bytes, which is 
just some number, to a string representation of that and I do not think that 
applying that function to anything else but these types makes sense.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to