query: add latest modification timestamp to result structure
This commit is contained in:
@@ -28,6 +28,7 @@ class result_digest final {
|
||||
class result {
|
||||
bytes_ostream buf();
|
||||
std::experimental::optional<query::result_digest> digest();
|
||||
api::timestamp_type last_modified() [ [version 1.2] ] = api::missing_timestamp;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -156,10 +156,10 @@ public:
|
||||
case result_request::only_digest: {
|
||||
bytes_ostream buf;
|
||||
ser::writer_of_query_result(buf).start_partitions().end_partitions().end_query_result();
|
||||
return result(std::move(buf), result_digest(_digest.finalize_array()));
|
||||
return result(std::move(buf), result_digest(_digest.finalize_array()), _last_modified);
|
||||
}
|
||||
case result_request::result_and_digest:
|
||||
return result(std::move(_out), result_digest(_digest.finalize_array()), _row_count);
|
||||
return result(std::move(_out), result_digest(_digest.finalize_array()), _last_modified, _row_count);
|
||||
}
|
||||
abort();
|
||||
}
|
||||
|
||||
@@ -97,6 +97,7 @@ class result {
|
||||
bytes_ostream _w;
|
||||
stdx::optional<result_digest> _digest;
|
||||
stdx::optional<uint32_t> _row_count;
|
||||
api::timestamp_type _last_modified = api::missing_timestamp;
|
||||
|
||||
public:
|
||||
class builder;
|
||||
@@ -105,7 +106,7 @@ public:
|
||||
|
||||
result();
|
||||
result(bytes_ostream&& w, stdx::optional<uint32_t> c = {}) : _w(std::move(w)), _row_count(c) {}
|
||||
result(bytes_ostream&& w, stdx::optional<result_digest> d, stdx::optional<uint32_t> c = {}) : _w(std::move(w)), _digest(d), _row_count(c) {}
|
||||
result(bytes_ostream&& w, stdx::optional<result_digest> d, api::timestamp_type last_modified, stdx::optional<uint32_t> c = {}) : _w(std::move(w)), _digest(d), _row_count(c), _last_modified(last_modified) {}
|
||||
result(result&&) = default;
|
||||
result(const result&) = default;
|
||||
result& operator=(result&&) = default;
|
||||
@@ -123,6 +124,10 @@ public:
|
||||
return _row_count;
|
||||
}
|
||||
|
||||
const api::timestamp_type last_modified() const {
|
||||
return _last_modified;
|
||||
}
|
||||
|
||||
uint32_t calculate_row_count(const query::partition_slice&);
|
||||
|
||||
struct printer {
|
||||
|
||||
Reference in New Issue
Block a user