cql3/query_options: make_temporary() helper
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
This commit is contained in:
@@ -107,6 +107,16 @@ size_t query_options::get_values_count() const
|
||||
return _value_views.size();
|
||||
}
|
||||
|
||||
bytes_view_opt query_options::make_temporary(bytes_opt value) const
|
||||
{
|
||||
if (value) {
|
||||
_temporaries.emplace_back(value->begin(), value->end());
|
||||
auto& temporary = _temporaries.back();
|
||||
return bytes_view{temporary.data(), temporary.size()};
|
||||
}
|
||||
return std::experimental::nullopt;
|
||||
}
|
||||
|
||||
bool query_options::skip_metadata() const
|
||||
{
|
||||
return _skip_metadata;
|
||||
|
||||
@@ -54,6 +54,7 @@ private:
|
||||
const std::experimental::optional<std::vector<sstring>> _names;
|
||||
std::vector<bytes_opt> _values;
|
||||
std::vector<bytes_view_opt> _value_views;
|
||||
mutable std::vector<std::vector<int8_t>> _temporaries;
|
||||
const bool _skip_metadata;
|
||||
const specific_options _options;
|
||||
const int32_t _protocol_version; // transient
|
||||
@@ -84,6 +85,7 @@ public:
|
||||
|
||||
db::consistency_level get_consistency() const;
|
||||
bytes_view_opt get_value_at(size_t idx) const;
|
||||
bytes_view_opt make_temporary(bytes_opt value) const;
|
||||
size_t get_values_count() const;
|
||||
bool skip_metadata() const;
|
||||
/** The pageSize for this query. Will be <= 0 if not relevant for the query. */
|
||||
|
||||
Reference in New Issue
Block a user