cql3: add maybe_set_paging_state function

set_paging_state is split into its unconditional variant and a maybe_
one in order to avoid double checks.
This commit is contained in:
Piotr Sarna
2018-09-20 17:00:49 +02:00
parent 744ac3bf7b
commit c1be660c3a
2 changed files with 8 additions and 4 deletions

View File

@@ -75,14 +75,17 @@ bool metadata::all_in_same_cf() const {
}
void metadata::set_paging_state(::shared_ptr<const service::pager::paging_state> paging_state) {
if (!paging_state) {
return;
}
_flags.set<flag::HAS_MORE_PAGES>();
_paging_state = std::move(paging_state);
}
void metadata::maybe_set_paging_state(::shared_ptr<const service::pager::paging_state> paging_state) {
assert(paging_state);
if (paging_state->get_remaining() > 0) {
set_paging_state(std::move(paging_state));
}
}
void metadata::set_skip_metadata() {
_flags.set<flag::NO_METADATA>();
}

View File

@@ -111,6 +111,7 @@ private:
public:
void set_paging_state(::shared_ptr<const service::pager::paging_state> paging_state);
void maybe_set_paging_state(::shared_ptr<const service::pager::paging_state> paging_state);
void set_skip_metadata();