#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 <initializer_list>
#include <unordered_map>
#include <vector>
|
static void | AddColumnsFromField (std::vector< RColumnMergeInfo > &columns, const RNTupleDescriptor &srcDesc, RNTupleMergeData &mergeData, const RFieldDescriptor &srcFieldDesc, const RFieldDescriptor &dstFieldDesc, const std::string &prefix="") |
|
static bool | BeginsWithDelimitedWord (const TString &str, const char *word) |
|
static std::optional< std::type_index > | ColumnInMemoryType (std::string_view fieldType, ENTupleColumnType onDiskType) |
|
static ROOT::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, std::vector< RCommonField > &commonFields) |
|
static RColumnInfoGroup | GatherColumnInfos (const RDescriptorsComparison &descCmp, const RNTupleDescriptor &srcDesc, RNTupleMergeData &mergeData) |
|
static void | GenerateExtraDstColumns (size_t nClusterEntries, std::span< RColumnMergeInfo > extraDstColumns, RSealedPageMergeData &sealedPageData, const RNTupleMergeData &mergeData) |
|
static bool | IsSplitOrUnsplitVersionOf (ENTupleColumnType a, ENTupleColumnType b) |
|
std::ostream & | ROOT::Experimental::Internal::operator<< (std::ostream &os, const std::optional< RColumnDescriptor::RValueRange > &x) |
|
static std::optional< ENTupleMergeErrBehavior > | ParseOptionErrBehavior (const TString &opts) |
|
static std::optional< ENTupleMergingMode > | ParseOptionMergingMode (const TString &opts) |
|
template<typename T > |
static std::optional< T > | ParseStringOption (const TString &opts, const char *pattern, std::initializer_list< std::pair< const char *, T > > validValues) |
|
- 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.
◆ SKIP_OR_ABORT
#define SKIP_OR_ABORT |
( |
| errMsg | ) |
|
Value:
if (
mergeOpts.fErrBehavior == ENTupleMergeErrBehavior::kSkip) {
\
Warning(
"RNTuple::Merge",
"Skipping RNTuple due to: %s", (
errMsg).c_str()); \
continue; \
} else { \
} \
} while (0)
#define R__FAIL(msg)
Short-hand to return an RResult<T> in an error state; the RError is implicitly converted into RResult...
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
◆ AddColumnsFromField()
◆ BeginsWithDelimitedWord()
◆ ColumnInMemoryType()
static std::optional< std::type_index > ColumnInMemoryType |
( |
std::string_view | fieldType, |
|
|
ENTupleColumnType | onDiskType ) |
|
static |
◆ CompareDescriptorStructure()
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 377 of file RNTupleMerger.cxx.
◆ ExtendDestinationModel()
◆ GatherColumnInfos()
◆ GenerateExtraDstColumns()
◆ IsSplitOrUnsplitVersionOf()
◆ ParseOptionErrBehavior()
◆ ParseOptionMergingMode()
◆ ParseStringOption()