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: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org