Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Internal::RNTupleMerger Class Referencefinal

Given a set of RPageSources merge them into an RPageSink, 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 89 of file RNTupleMerger.hxx.

Public Member Functions

 RNTupleMerger (std::unique_ptr< RPageSink > 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< RPageSink > destination, std::unique_ptr< RNTupleModel > model)
 Creates a RNTupleMerger with the given destination.
 
void MergeCommonColumns (RClusterPool &clusterPool, ROOT::DescriptorId_t clusterId, std::span< RColumnMergeInfo > commonColumns, const RCluster::ColumnSet_t &commonColumnSet, RSealedPageMergeData &sealedPageData, const RNTupleMergeData &mergeData)
 
void MergeSourceClusters (RPageSource &source, std::span< RColumnMergeInfo > commonColumns, std::span< RColumnMergeInfo > extraDstColumns, RNTupleMergeData &mergeData)
 

Private Attributes

std::unique_ptr< RPageSinkfDestination
 
std::unique_ptr< RNTupleModelfModel
 
std::unique_ptr< RPageAllocatorfPageAlloc
 
std::optional< TTaskGroupfTaskGroup
 

Friends

class ROOT::RNTuple
 

#include <ROOT/RNTupleMerger.hxx>

Constructor & Destructor Documentation

◆ RNTupleMerger() [1/2]

RNTupleMerger::RNTupleMerger ( std::unique_ptr< RPageSink > destination,
std::unique_ptr< RNTupleModel > model )
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 916 of file RNTupleMerger.cxx.

◆ RNTupleMerger() [2/2]

RNTupleMerger::RNTupleMerger ( std::unique_ptr< RPageSink > destination)
explicit

Creates a RNTupleMerger with the given destination.

Definition at line 929 of file RNTupleMerger.cxx.

Member Function Documentation

◆ Merge()

ROOT::RResult< void > RNTupleMerger::Merge ( std::span< RPageSource * > sources,
const RNTupleMergeOptions & mergeOpts = RNTupleMergeOptions() )

Merge a given set of sources into the destination.

Definition at line 931 of file RNTupleMerger.cxx.

◆ MergeCommonColumns()

void RNTupleMerger::MergeCommonColumns ( RClusterPool & clusterPool,
ROOT::DescriptorId_t clusterId,
std::span< RColumnMergeInfo > commonColumns,
const RCluster::ColumnSet_t & commonColumnSet,
RSealedPageMergeData & sealedPageData,
const RNTupleMergeData & mergeData )
private

Definition at line 580 of file RNTupleMerger.cxx.

◆ MergeSourceClusters()

void RNTupleMerger::MergeSourceClusters ( RPageSource & source,
std::span< RColumnMergeInfo > commonColumns,
std::span< RColumnMergeInfo > extraDstColumns,
RNTupleMergeData & mergeData )
private

Definition at line 750 of file RNTupleMerger.cxx.

Friends And Related Symbol Documentation

◆ ROOT::RNTuple

friend class ROOT::RNTuple
friend

Definition at line 90 of file RNTupleMerger.hxx.

Member Data Documentation

◆ fDestination

std::unique_ptr<RPageSink> ROOT::Experimental::Internal::RNTupleMerger::fDestination
private

Definition at line 92 of file RNTupleMerger.hxx.

◆ fModel

std::unique_ptr<RNTupleModel> ROOT::Experimental::Internal::RNTupleMerger::fModel
private

Definition at line 95 of file RNTupleMerger.hxx.

◆ fPageAlloc

std::unique_ptr<RPageAllocator> ROOT::Experimental::Internal::RNTupleMerger::fPageAlloc
private

Definition at line 93 of file RNTupleMerger.hxx.

◆ fTaskGroup

std::optional<TTaskGroup> ROOT::Experimental::Internal::RNTupleMerger::fTaskGroup
private

Definition at line 94 of file RNTupleMerger.hxx.

Libraries for ROOT::Experimental::Internal::RNTupleMerger:

The documentation for this class was generated from the following files: