Alex Ott created CASSANDRA-14853:
------------------------------------
Summary: Change default timestamp format to output only
milliseconds, not microseconds
Key: CASSANDRA-14853
URL: https://issues.apache.org/jira/browse/CASSANDRA-14853
Project: Cassandra
Issue Type: Improvement
Components: Libraries
Environment: Reproduced in trunk
Reporter: Alex Ott
By default cqlsh outputs the timestamp column with microseconds precision, like
this:
{noformat}
cqlsh:test> create table t1(tm timestamp primary key, t text);
cqlsh:test> insert into t1(tm, t) values(toTimestamp(now()), 't');
cqlsh:test> insert into t1(tm, t) values(toTimestamp(now()), 't2');
cqlsh:test> SELECT * from t1;
tm | t
---------------------------------+----
2018-10-27 18:01:54.738000+0000 | t2
2018-10-27 18:01:52.599000+0000 | t
(2 rows)
{noformat}
But if I want to use the value that is output on the screen in my query, I get
an error:
{noformat}
cqlsh:test> select * from t1 where tm = '2018-10-27 18:01:54.738000+0000';
InvalidRequest: Error from server: code=2200 [Invalid query] message="Unable to
coerce '2018-10-27 18:01:54.738000+0000' to a formatted date (long)"
{noformat}
But if I manually round it to milliseconds, then everything works:
{noformat}
cqlsh:test> select * from t1 where tm = '2018-10-27 18:01:54.738+0000';
tm | t
---------------------------------+----
2018-10-27 18:01:54.738000+0000 | t2
(1 rows)
{noformat}
It would be much easier user's experience if we use the same format for output
& input data, because right now this leads to errors, that often not really
understandable by novice users.
P.S. I know about cqlshrc, but not every user has it configured.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]