partition_slice_builder: add set_specific_ranges()

The builder only has a method to mutate existing specific ranges. This
patch adds one to set or overwrite it.
This commit is contained in:
Botond Dénes
2023-05-05 10:28:07 -04:00
parent 4ba7810f60
commit 71bae0c549
2 changed files with 7 additions and 0 deletions

View File

@@ -103,6 +103,12 @@ partition_slice_builder::mutate_specific_ranges(std::function<void(query::specif
return *this;
}
partition_slice_builder&
partition_slice_builder::set_specific_ranges(query::specific_ranges ranges) {
_specific_ranges = std::make_unique<query::specific_ranges>(std::move(ranges));
return *this;
}
partition_slice_builder&
partition_slice_builder::with_no_regular_columns() {
_regular_columns = query::column_id_vector();

View File

@@ -45,6 +45,7 @@ public:
partition_slice_builder& mutate_ranges(std::function<void(std::vector<query::clustering_range>&)>);
// noop if no specific ranges have been set yet
partition_slice_builder& mutate_specific_ranges(std::function<void(query::specific_ranges&)>);
partition_slice_builder& set_specific_ranges(query::specific_ranges);
partition_slice_builder& without_partition_key_columns();
partition_slice_builder& without_clustering_key_columns();
partition_slice_builder& reversed();