treewide: switch to native reversed format for reverse reads
We define the native reverse format as a reversed mutation fragment stream that is identical to one that would be emitted by a table with the same schema but with reversed clustering order. The main difference to the current format is how range tombstones are handled: instead of looking at their start or end bound depending on the order, we always use them as-usual and the reversing reader swaps their bounds to facilitate this. This allows us to treat reversed streams completely transparently: just pass along them a reversed schema and all the reader, compacting and result building code is happily ignorant about the fact that it is a reversed stream.
This commit is contained in:
@@ -128,6 +128,13 @@ constexpr auto max_rows_if_set = std::numeric_limits<uint32_t>::max();
|
||||
// Specifies subset of rows, columns and cell attributes to be returned in a query.
|
||||
// Can be accessed across cores.
|
||||
// Schema-dependent.
|
||||
//
|
||||
// COMPATIBILITY NOTE: the partition-slice for reverse queries has two different
|
||||
// format:
|
||||
// * legacy format
|
||||
// * native format
|
||||
// The wire format uses the legacy format. See docs/design-notes/reverse-reads.md
|
||||
// for more details on the formats.
|
||||
class partition_slice {
|
||||
friend class ::partition_slice_builder;
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user