]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
cassandra: Timestamp should be in microseconds, not milliseconds
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 19 Sep 2017 11:48:54 +0000 (14:48 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 19 Sep 2017 11:48:54 +0000 (14:48 +0300)
src/lib-sql/driver-cassandra.c

index 0cd09872c4534475c6e50484b5dcbd202c45770a..ec79fdd69ca50dbd99002a902916ef4579967ac1 100644 (file)
@@ -1895,14 +1895,14 @@ driver_cassandra_statement_set_timestamp(struct sql_statement *_stmt,
 {
        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 *