From 3fe5ed3cd955a075d7900a50493cd120edbc9b92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Dziepak?= Date: Wed, 17 Aug 2016 17:05:46 +0100 Subject: [PATCH] query: use result_view::consume() where appropriate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Paweł Dziepak --- query-result-set.cc | 17 +++-------------- query.cc | 13 +------------ 2 files changed, 4 insertions(+), 26 deletions(-) diff --git a/query-result-set.cc b/query-result-set.cc index f940b976b5..f849230d6d 100644 --- a/query-result-set.cc +++ b/query-result-set.cc @@ -186,20 +186,9 @@ result_set_builder::deserialize(const result_row_view& row, bool is_static) result_set result_set::from_raw_result(schema_ptr s, const partition_slice& slice, const result& r) { - auto make = [&slice, s = std::move(s)] (bytes_view v) mutable { - result_set_builder builder{std::move(s), slice}; - result_view view(v); - view.consume(slice, builder); - return builder.build(); - }; - - if (r.buf().is_linearized()) { - return make(r.buf().view()); - } else { - // FIXME: make result_view::consume() work on fragments to avoid linearization. - bytes_ostream w(r.buf()); - return make(w.linearize()); - } + result_set_builder builder{std::move(s), slice}; + result_view::consume(r, slice, builder); + return builder.build(); } result_set::result_set(const mutation& m) : result_set([&m] { diff --git a/query.cc b/query.cc index ccbe83fd25..afcb443596 100644 --- a/query.cc +++ b/query.cc @@ -170,18 +170,7 @@ uint32_t result::calculate_row_count(const query::partition_slice& slice) { } } counter; - bytes_view v; - - if (buf().is_linearized()) { - v = buf().view(); - } else { - // FIXME: make result_view::consume() work on fragments to avoid linearization. - bytes_ostream w(buf()); - v = w.linearize(); - } - - query::result_view view(v); - view.consume(slice, counter); + result_view::consume(*this, slice, counter); return counter.total_count; }