Commit Graph

3 Commits

Author SHA1 Message Date
Michał Chojnowski
463ec1b082 cql3: values: make raw_value fragmented
As a part of the effort of removing big, contiguous buffers from the codebase,
cql3::raw_value should be made fragmented. Unfortunately the change involves
some nontrivial work, because raw_value must be viewable with raw_value_view,
and raw_value_view must accomodate both raw_value (that's where we store
values in prepared queries) and fragmented_temporary_buffer::view
(because that's the type of values coming from the wire).

This patch makes raw_value fragmented, by changing the backing type from
bytes to managed_bytes. raw_value_view is modified accordingly by changing
the backing type from fragmented_temporary_buffer::view to a variant of
fragmented_temporary_buffer::view and managed_bytes_view.

We have prepared the users of raw_value{_view} for this change in preceding
commits.
2021-04-01 10:42:07 +02:00
Piotr Sarna
ddd36de0ff cql3: add temporary_value to value view
When a value_view needs to store a temporarily instantiated object,
it can use the new variant field. The temporary value will live
only as long as the view itself.
2020-08-26 09:45:48 +02:00
Piotr Sarna
a4b07955c5 cql3: split values.hh into a .cc file
Some bigger functions are moved out-of-line. The .cc file
is going to be needed in next patches, which allow creating
a temporary value for a view.
2020-08-26 09:29:07 +02:00