public class UnfilteredRowIteratorSerializer
extends java.lang.Object
<cfid><key><flags><s_header>[<partition_deletion>][<static_row>][<row_estimate>]
where:
<cfid> is the table cfid.
<key> is the partition key.
<flags> contains bit flags. Each flag is set if it's corresponding bit is set. From rightmost
bit to leftmost one, the flags are:
- is empty: whether the iterator is empty. If so, nothing follows the <flags>
- is reversed: whether the iterator is in reversed clustering order
- has partition deletion: whether or not there is a <partition_deletion> following
- has static row: whether or not there is a <static_row> following
- has row estimate: whether or not there is a <row_estimate> following
<s_header> is the {@code SerializationHeader}. It contains in particular the columns contains in the serialized
iterator as well as other information necessary to decoding the serialized rows
(see {@code SerializationHeader.Serializer for details}).
<partition_deletion> is the deletion time for the partition (delta-encoded)
<static_row> is the static row for this partition as serialized by UnfilteredSerializer.
<row_estimate> is the (potentially estimated) number of rows serialized. This is only used for
the purpose of sizing on the receiving end and should not be relied upon too strongly.
Please note that the format described above is the on-wire format. On-disk, the format is basically the
same, but the header is written once per sstable, not once per-partition. Further, the actual row and
range tombstones are not written using this class, but rather by ColumnIndex
.Modifier and Type | Class and Description |
---|---|
static class |
UnfilteredRowIteratorSerializer.Header |
Modifier and Type | Field and Description |
---|---|
protected static org.slf4j.Logger |
logger |
static UnfilteredRowIteratorSerializer |
serializer |
Constructor and Description |
---|
UnfilteredRowIteratorSerializer() |
Modifier and Type | Method and Description |
---|---|
UnfilteredRowIterator |
deserialize(DataInputPlus in,
int version,
TableMetadata metadata,
ColumnFilter selection,
DeserializationHelper.Flag flag) |
UnfilteredRowIterator |
deserialize(DataInputPlus in,
int version,
TableMetadata metadata,
DeserializationHelper.Flag flag,
UnfilteredRowIteratorSerializer.Header header) |
UnfilteredRowIteratorSerializer.Header |
deserializeHeader(TableMetadata metadata,
ColumnFilter selection,
DataInputPlus in,
int version,
DeserializationHelper.Flag flag) |
void |
serialize(UnfilteredRowIterator iterator,
ColumnFilter selection,
DataOutputPlus out,
int version) |
void |
serialize(UnfilteredRowIterator iterator,
ColumnFilter selection,
DataOutputPlus out,
int version,
int rowEstimate) |
long |
serializedSize(UnfilteredRowIterator iterator,
ColumnFilter selection,
int version,
int rowEstimate) |
protected static final org.slf4j.Logger logger
public static final UnfilteredRowIteratorSerializer serializer
public void serialize(UnfilteredRowIterator iterator, ColumnFilter selection, DataOutputPlus out, int version) throws java.io.IOException
java.io.IOException
public void serialize(UnfilteredRowIterator iterator, ColumnFilter selection, DataOutputPlus out, int version, int rowEstimate) throws java.io.IOException
java.io.IOException
public long serializedSize(UnfilteredRowIterator iterator, ColumnFilter selection, int version, int rowEstimate)
public UnfilteredRowIteratorSerializer.Header deserializeHeader(TableMetadata metadata, ColumnFilter selection, DataInputPlus in, int version, DeserializationHelper.Flag flag) throws java.io.IOException
java.io.IOException
public UnfilteredRowIterator deserialize(DataInputPlus in, int version, TableMetadata metadata, DeserializationHelper.Flag flag, UnfilteredRowIteratorSerializer.Header header) throws java.io.IOException
java.io.IOException
public UnfilteredRowIterator deserialize(DataInputPlus in, int version, TableMetadata metadata, ColumnFilter selection, DeserializationHelper.Flag flag) throws java.io.IOException
java.io.IOException
Copyright © 2009-2022 The Apache Software Foundation