changeset 22533:062f94c547ce

cassandra: Timestamp should be in microseconds, not milliseconds
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Tue, 19 Sep 2017 14:48:54 +0300
parents 10d5c2886b60
children 30549d635210
files src/lib-sql/driver-cassandra.c
diffstat 1 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-sql/driver-cassandra.c	Wed Sep 13 15:16:59 2017 +0300
+++ b/src/lib-sql/driver-cassandra.c	Tue Sep 19 14:48:54 2017 +0300
@@ -1889,14 +1889,14 @@
 {
 	struct cassandra_sql_statement *stmt =
 		(struct cassandra_sql_statement *)_stmt;
-	cass_int64_t ts_msecs =
-		(cass_int64_t)ts->tv_sec * 1000 +
-		ts->tv_nsec / 1000000;
+	cass_int64_t ts_usecs =
+		(cass_int64_t)ts->tv_sec * 1000000ULL +
+		ts->tv_nsec / 1000;
 
 	if (stmt->cass_stmt != NULL)
-		cass_statement_set_timestamp(stmt->cass_stmt, ts_msecs);
+		cass_statement_set_timestamp(stmt->cass_stmt, ts_usecs);
 	else
-		stmt->pending_timestamp = ts_msecs;
+		stmt->pending_timestamp = ts_usecs;
 }
 
 static struct cassandra_sql_arg *