diff --git a/partition_version.cc b/partition_version.cc index 3141cf742c..b72052cd59 100644 --- a/partition_version.cc +++ b/partition_version.cc @@ -566,11 +566,17 @@ lw_shared_ptr partition_entry::read(logalloc::region& r, std::vector partition_snapshot::range_tombstones(const ::schema& s, position_in_partition_view start, position_in_partition_view end) { + partition_version* v = &*version(); + if (!v->next()) { + return boost::copy_range>( + v->partition().row_tombstones().slice(s, start, end)); + } range_tombstone_list list(s); - for (auto&& v : versions()) { - for (auto&& rt : v.partition().row_tombstones().slice(s, start, end)) { + while (v) { + for (auto&& rt : v->partition().row_tombstones().slice(s, start, end)) { list.apply(s, rt); } + v = v->next(); } return boost::copy_range>(list.slice(s, start, end)); }