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 99 of file RNTupleMerger.hxx.
Public Member Functions | |
RNTupleMerger (std::unique_ptr< ROOT::Internal::RPagePersistentSink > destination) | |
Creates a RNTupleMerger with the given destination. | |
RResult< void > | Merge (std::span< ROOT::Internal::RPageSource * > sources, const RNTupleMergeOptions &mergeOpts=RNTupleMergeOptions()) |
Merge a given set of sources into the destination. | |
Private Member Functions | |
RNTupleMerger (std::unique_ptr< ROOT::Internal::RPagePersistentSink > destination, std::unique_ptr< ROOT::RNTupleModel > model) | |
Creates a RNTupleMerger with the given destination. | |
ROOT::RResult< void > | MergeCommonColumns (ROOT::Internal::RClusterPool &clusterPool, const ROOT::RClusterDescriptor &clusterDesc, std::span< const RColumnMergeInfo > commonColumns, const ROOT::Internal::RCluster::ColumnSet_t &commonColumnSet, std::size_t nCommonColumnsInCluster, RSealedPageMergeData &sealedPageData, const RNTupleMergeData &mergeData, ROOT::Internal::RPageAllocator &pageAlloc) |
ROOT::RResult< void > | MergeSourceClusters (ROOT::Internal::RPageSource &source, std::span< const RColumnMergeInfo > commonColumns, std::span< const RColumnMergeInfo > extraDstColumns, RNTupleMergeData &mergeData) |
Private Attributes | |
std::unique_ptr< ROOT::Internal::RPagePersistentSink > | fDestination |
std::unique_ptr< ROOT::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 1092 of file RNTupleMerger.cxx.
|
explicit |
Creates a RNTupleMerger with the given destination.
Definition at line 1108 of file RNTupleMerger.cxx.
ROOT::RResult< void > RNTupleMerger::Merge | ( | std::span< ROOT::Internal::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 1113 of file RNTupleMerger.cxx.
|
private |
Definition at line 743 of file RNTupleMerger.cxx.
|
private |
Definition at line 869 of file RNTupleMerger.cxx.
|
friend |
Definition at line 100 of file RNTupleMerger.hxx.
|
private |
Definition at line 102 of file RNTupleMerger.hxx.
|
private |
Definition at line 105 of file RNTupleMerger.hxx.
|
private |
Definition at line 103 of file RNTupleMerger.hxx.
|
private |
Definition at line 104 of file RNTupleMerger.hxx.