#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>
|
static void | AddColumnsFromField (std::vector< RColumnMergeInfo > &columns, const RNTupleDescriptor &srcDesc, RNTupleMergeData &mergeData, const RFieldDescriptor &srcFieldDesc, const RFieldDescriptor &dstFieldDesc, const std::string &prefix="") |
|
static std::optional< std::type_index > | ColumnInMemoryType (std::string_view fieldType, EColumnType onDiskType) |
|
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, 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 (EColumnType a, EColumnType b) |
|
std::ostream & | ROOT::Experimental::Internal::operator<< (std::ostream &os, const std::optional< RColumnDescriptor::RValueRange > &x) |
|
- 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: do { \
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...
◆ AddColumnsFromField()
◆ ColumnInMemoryType()
static std::optional< std::type_index > ColumnInMemoryType |
( |
std::string_view |
fieldType, |
|
|
EColumnType |
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 319 of file RNTupleMerger.cxx.
◆ ExtendDestinationModel()
◆ GatherColumnInfos()
◆ GenerateExtraDstColumns()
◆ IsSplitOrUnsplitVersionOf()