Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RNTupleMerger.cxx File Reference
#include <ROOT/RError.hxx>
#include <ROOT/RNTuple.hxx>
#include <ROOT/RNTupleDescriptor.hxx>
#include <ROOT/RNTupleMerger.hxx>
#include <ROOT/RNTupleModel.hxx>
#include <ROOT/RNTupleUtil.hxx>
#include <ROOT/RPageStorageFile.hxx>
#include <ROOT/RPageStorage.hxx>
#include <ROOT/RClusterPool.hxx>
#include <ROOT/RNTupleSerialize.hxx>
#include <ROOT/RNTupleZip.hxx>
#include <ROOT/RColumnElementBase.hxx>
#include <TROOT.h>
#include <TFileMergeInfo.h>
#include <TError.h>
#include <TFile.h>
#include <TKey.h>
#include <algorithm>
#include <deque>
#include <inttypes.h>
#include <unordered_map>
#include <vector>
Include dependency graph for RNTupleMerger.cxx:

Classes

struct  ROOT::Experimental::Internal::RColumnInfo
 
struct  ROOT::Experimental::Internal::RNTupleMergeData
 
struct  ROOT::Experimental::Internal::RSealedPageMergeData
 

Namespaces

namespace  ROOT
 tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tbb::task_arena without forward declaring tbb::interface7
 
namespace  ROOT::Experimental
 
namespace  ROOT::Experimental::Internal
 

Macros

#define SKIP_OR_ABORT(errMsg)
 

Functions

static void AddColumnsFromField (std::vector< RColumnInfo > &columns, const RNTupleDescriptor &srcDesc, RNTupleMergeData &mergeData, const RFieldDescriptor &fieldDesc, const std::string &prefix="")
 
static RResult< RDescriptorsComparison > CompareDescriptorStructure (const RNTupleDescriptor &dst, const RNTupleDescriptor &src)
 Compares the top level fields of dst and src and determines whether they can be merged or not.
 
static void ExtendDestinationModel (std::span< const RFieldDescriptor * > newFields, RNTupleModel &dstModel, RNTupleMergeData &mergeData)
 
static RColumnInfoGroup GatherColumnInfos (const RDescriptorsComparison &descCmp, const RNTupleDescriptor &srcDesc, RNTupleMergeData &mergeData)
 
static void GenerateExtraDstColumns (size_t nClusterEntries, std::span< RColumnInfo > extraDstColumns, RSealedPageMergeData &sealedPageData, const RNTupleMergeData &mergeData)
 

Detailed Description

Author
Jakob Blomer jblom.nosp@m.er@c.nosp@m.ern.c.nosp@m.h, Max Orok maxwe.nosp@m.llor.nosp@m.ok@gm.nosp@m.ail..nosp@m.com, Alaettin Serhan Mete amete.nosp@m.@anl.nosp@m..gov, Giacomo Parolini giaco.nosp@m.mo.p.nosp@m.aroli.nosp@m.ni@c.nosp@m.ern.c.nosp@m.h
Date
2020-07-08
Warning
This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!

Definition in file RNTupleMerger.cxx.

Macro Definition Documentation

◆ SKIP_OR_ABORT

#define SKIP_OR_ABORT (   errMsg)
Value:
do { \
if (mergeOpts.fErrBehavior == ENTupleMergeErrBehavior::kSkip) { \
Warning("RNTuple::Merge", "Skipping RNTuple due to: %s", (errMsg).c_str()); \
continue; \
} else { \
return R__FAIL(errMsg); \
} \
} while (0)
#define R__FAIL(msg)
Short-hand to return an RResult<T> in an error state; the RError is implicitly converted into RResult...
Definition RError.hxx:290

Function Documentation

◆ AddColumnsFromField()

static void AddColumnsFromField ( std::vector< RColumnInfo > &  columns,
const RNTupleDescriptor srcDesc,
RNTupleMergeData mergeData,
const RFieldDescriptor fieldDesc,
const std::string &  prefix = "" 
)
static

Definition at line 596 of file RNTupleMerger.cxx.

◆ CompareDescriptorStructure()

static RResult< RDescriptorsComparison > CompareDescriptorStructure ( const RNTupleDescriptor dst,
const RNTupleDescriptor src 
)
static

Compares the top level fields of dst and src and determines whether they can be merged or not.

In addition, returns the differences between dst and src's structures

Definition at line 228 of file RNTupleMerger.cxx.

◆ ExtendDestinationModel()

static void ExtendDestinationModel ( std::span< const RFieldDescriptor * >  newFields,
RNTupleModel dstModel,
RNTupleMergeData mergeData 
)
static

Definition at line 339 of file RNTupleMerger.cxx.

◆ GatherColumnInfos()

static RColumnInfoGroup GatherColumnInfos ( const RDescriptorsComparison &  descCmp,
const RNTupleDescriptor srcDesc,
RNTupleMergeData mergeData 
)
static

Definition at line 640 of file RNTupleMerger.cxx.

◆ GenerateExtraDstColumns()

static void GenerateExtraDstColumns ( size_t  nClusterEntries,
std::span< RColumnInfo extraDstColumns,
RSealedPageMergeData sealedPageData,
const RNTupleMergeData mergeData 
)
static

Definition at line 465 of file RNTupleMerger.cxx.