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 1222 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 776 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 1227 of file RNTupleDescriptor.hxx.
ROOT::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 706 of file RNTupleDescriptor.cxx.
ROOT::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 739 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 1233 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 1264 of file RNTupleDescriptor.hxx.
ROOT::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 725 of file RNTupleDescriptor.cxx.
ROOT::RResult< ROOT::Experimental::RClusterDescriptor > ROOT::Experimental::Internal::RClusterDescriptorBuilder::MoveDescriptor | ( | ) |
Move out the full cluster descriptor including page locations.
Definition at line 839 of file RNTupleDescriptor.cxx.
|
inline |
Definition at line 1239 of file RNTupleDescriptor.hxx.
|
private |
Definition at line 1224 of file RNTupleDescriptor.hxx.