Given a set of RPageSources merge them into an RPagePersistentSink, optionally changing their compression.
This can also be used to change the compression of a single RNTuple by just passing a single source.
Definition at line 90 of file RNTupleMerger.hxx.
Public Member Functions | |
RNTupleMerger (std::unique_ptr< RPagePersistentSink > destination) | |
Creates a RNTupleMerger with the given destination. | |
RResult< void > | Merge (std::span< RPageSource * > sources, const RNTupleMergeOptions &mergeOpts=RNTupleMergeOptions()) |
Merge a given set of sources into the destination. | |
Private Member Functions | |
RNTupleMerger (std::unique_ptr< RPagePersistentSink > destination, std::unique_ptr< RNTupleModel > model) | |
Creates a RNTupleMerger with the given destination. | |
void | MergeCommonColumns (RClusterPool &clusterPool, const ROOT::RClusterDescriptor &clusterDesc, std::span< const RColumnMergeInfo > commonColumns, const RCluster::ColumnSet_t &commonColumnSet, std::size_t nCommonColumnsInCluster, RSealedPageMergeData &sealedPageData, const RNTupleMergeData &mergeData) |
void | MergeSourceClusters (RPageSource &source, std::span< const RColumnMergeInfo > commonColumns, std::span< const RColumnMergeInfo > extraDstColumns, RNTupleMergeData &mergeData) |
Private Attributes | |
std::unique_ptr< RPagePersistentSink > | fDestination |
std::unique_ptr< RNTupleModel > | fModel |
std::unique_ptr< ROOT::Internal::RPageAllocator > | fPageAlloc |
std::optional< TTaskGroup > | fTaskGroup |
Friends | |
class | ROOT::RNTuple |
#include <ROOT/RNTupleMerger.hxx>
|
private |
Creates a RNTupleMerger with the given destination.
The model must be given if and only if destination
has been initialized with that model (i.e. in case of incremental merging).
Definition at line 996 of file RNTupleMerger.cxx.
|
explicit |
Creates a RNTupleMerger with the given destination.
Definition at line 1011 of file RNTupleMerger.cxx.
ROOT::RResult< void > RNTupleMerger::Merge | ( | std::span< RPageSource * > | sources, |
const RNTupleMergeOptions & | mergeOpts = RNTupleMergeOptions() ) |
Merge a given set of sources into the destination.
Note that sources with an empty schema (i.e. created from a Model that had no fields added to it) are in general valid (depending on the merging mode) but add no entries to the destination.
Definition at line 1016 of file RNTupleMerger.cxx.
|
private |
Definition at line 682 of file RNTupleMerger.cxx.
|
private |
Definition at line 802 of file RNTupleMerger.cxx.
|
friend |
Definition at line 91 of file RNTupleMerger.hxx.
|
private |
Definition at line 93 of file RNTupleMerger.hxx.
|
private |
Definition at line 96 of file RNTupleMerger.hxx.
|
private |
Definition at line 94 of file RNTupleMerger.hxx.
|
private |
Definition at line 95 of file RNTupleMerger.hxx.