A helper class for piece-wise construction of an RClusterDescriptor.
The cluster descriptor builder starts from a summary-only cluster descriptor and allows for the piecewise addition of page locations.
Definition at line 1209 of file RNTupleDescriptor.hxx.
Public Member Functions | |
RClusterDescriptorBuilder & | AddExtendedColumnRanges (const RNTupleDescriptor &desc) |
Add column and page ranges for columns created during late model extension missing in this cluster. | |
RClusterDescriptorBuilder & | ClusterId (DescriptorId_t clusterId) |
RResult< void > | CommitColumnRange (DescriptorId_t physicalId, std::uint64_t firstElementIndex, std::uint32_t compressionSettings, const RClusterDescriptor::RPageRange &pageRange) |
RResult< void > | CommitSuppressedColumnRanges (const RNTupleDescriptor &desc) |
Sets the first element index and number of elements for all the suppressed column ranges. | |
RClusterDescriptorBuilder & | FirstEntryIndex (std::uint64_t firstEntryIndex) |
const RClusterDescriptor::RColumnRange & | GetColumnRange (DescriptorId_t physicalId) |
RResult< void > | MarkSuppressedColumnRange (DescriptorId_t physicalId) |
Books the given column ID as being suppressed in this cluster. | |
RResult< RClusterDescriptor > | MoveDescriptor () |
Move out the full cluster descriptor including page locations. | |
RClusterDescriptorBuilder & | NEntries (std::uint64_t nEntries) |
Private Attributes | |
RClusterDescriptor | fCluster |
#include <ROOT/RNTupleDescriptor.hxx>
ROOT::Experimental::Internal::RClusterDescriptorBuilder & ROOT::Experimental::Internal::RClusterDescriptorBuilder::AddExtendedColumnRanges | ( | const RNTupleDescriptor & | desc | ) |
Add column and page ranges for columns created during late model extension missing in this cluster.
The locator type for the synthesized page ranges is kTypePageZero
. All the page sources must be able to populate the 'zero' page from such locator. Any call to CommitColumnRange()
and CommitSuppressedColumnRanges()
should happen before calling this function.
Definition at line 665 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 1214 of file RNTupleDescriptor.hxx.
ROOT::Experimental::RResult< void > ROOT::Experimental::Internal::RClusterDescriptorBuilder::CommitColumnRange | ( | DescriptorId_t | physicalId, |
std::uint64_t | firstElementIndex, | ||
std::uint32_t | compressionSettings, | ||
const RClusterDescriptor::RPageRange & | pageRange | ||
) |
Definition at line 595 of file RNTupleDescriptor.cxx.
ROOT::Experimental::RResult< void > ROOT::Experimental::Internal::RClusterDescriptorBuilder::CommitSuppressedColumnRanges | ( | const RNTupleDescriptor & | desc | ) |
Sets the first element index and number of elements for all the suppressed column ranges.
The information is taken from the corresponding columns from the primary representation. Needs to be called when all the columns (suppressed and regular) where added.
Definition at line 628 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 1220 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 1251 of file RNTupleDescriptor.hxx.
ROOT::Experimental::RResult< void > ROOT::Experimental::Internal::RClusterDescriptorBuilder::MarkSuppressedColumnRange | ( | DescriptorId_t | physicalId | ) |
Books the given column ID as being suppressed in this cluster.
The correct first element index and number of elements need to be set by CommitSuppressedColumnRanges() once all the calls to CommitColumnRange() and MarkSuppressedColumnRange() took place.
Definition at line 614 of file RNTupleDescriptor.cxx.
ROOT::Experimental::RResult< ROOT::Experimental::RClusterDescriptor > ROOT::Experimental::Internal::RClusterDescriptorBuilder::MoveDescriptor | ( | ) |
Move out the full cluster descriptor including page locations.
Definition at line 728 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 1226 of file RNTupleDescriptor.hxx.
|
private |
Definition at line 1211 of file RNTupleDescriptor.hxx.