Mercurial > dovecot > core-2.2
changeset 22728:3970c1d61616
cassandra: Include the used timestamp in logged queries
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Sat, 04 Nov 2017 14:33:52 +0200 |
parents | 37d5a5c7a7b7 |
children | b50c55023f08 |
files | src/lib-sql/driver-cassandra.c |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-sql/driver-cassandra.c Mon Nov 06 11:00:06 2017 +0200 +++ b/src/lib-sql/driver-cassandra.c Sat Nov 04 14:33:52 2017 +0200 @@ -130,6 +130,7 @@ enum cassandra_query_type query_type; struct timeval page0_start_time, start_time, finish_time; unsigned int row_count, total_row_count, page_num; + cass_int64_t timestamp; pool_t row_pool; ARRAY_TYPE(const_string) fields; @@ -777,6 +778,8 @@ string_t *str = t_str_new(128); str_printfa(str, "cassandra: Finished %squery '%s' (", result->is_prepared ? "prepared " : "", result->query); + if (result->timestamp != 0) + str_printfa(str, "timestamp=%"PRId64", ", result->timestamp); if (all_pages) { str_printfa(str, "%u pages in total, ", result->page_num); row_count = result->total_row_count; @@ -1728,6 +1731,7 @@ } if (stmt->result != NULL) { stmt->result->statement = stmt->cass_stmt; + stmt->result->timestamp = stmt->timestamp; (void)driver_cassandra_send_query(stmt->result); pool_unref(&stmt->stmt.pool); } @@ -1883,10 +1887,11 @@ (cass_int64_t)ts->tv_sec * 1000000ULL + ts->tv_nsec / 1000; + i_assert(stmt->result == NULL); + if (stmt->cass_stmt != NULL) cass_statement_set_timestamp(stmt->cass_stmt, ts_usecs); - else - stmt->timestamp = ts_usecs; + stmt->timestamp = ts_usecs; } static struct cassandra_sql_arg * @@ -1974,6 +1979,7 @@ return; } else { stmt->result->statement = cass_statement_new(query, 0); + stmt->result->timestamp = stmt->timestamp; if (stmt->timestamp != 0) { cass_statement_set_timestamp(stmt->result->statement, stmt->timestamp);