30 static RLogChannel
sLog(
"ROOT.RNTupleExporter");
34struct RColumnExportInfo {
50struct RAddColumnsResult {
70 const RNTupleExporter::RPagesOptions &options)
75 RAddColumnsResult res{};
111RNTupleExporter::RPagesResult
119 auto desc =
source.GetSharedDescriptorGuard();
152 <<
"exporting column \"" <<
colInfo.fQualifiedName <<
"\" (" <<
pages.GetPageInfos().size() <<
" pages)";
166 std::ostringstream
ss{options.
fOutputPath, std::ios_base::ate};
169 <<
"_elems_" <<
pageInfo.GetNElements() <<
"_comp_" << *
colRange.GetCompressionSettings() <<
".page";
174 R__FAIL(std::string(
"output path ") + options.
fOutputPath +
" does not exist or is not writable!"));
197 std::ostringstream
ss;
#define R__FAIL(msg)
Short-hand to return an RResult<T> in an error state; the RError is implicitly converted into RResult...
#define R__LOG_DEBUG(DEBUGLEVEL,...)
const ROOT::RFieldDescriptor * fFieldDesc
std::string fQualifiedName
const ROOT::RColumnDescriptor * fColDesc
static void AddColumnsFromField(std::vector< RColumnMergeInfo > &columns, const ROOT::RNTupleDescriptor &srcDesc, RNTupleMergeData &mergeData, const ROOT::RFieldDescriptor &srcFieldDesc, const ROOT::RFieldDescriptor &dstFieldDesc, const std::string &prefix="")
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
std::string & operator+=(std::string &left, const TString &right)
Managed a set of clusters containing compressed and packed pages.
An in-memory subset of the packed and compressed pages of a cluster.
std::unordered_set< ROOT::DescriptorId_t > ColumnSet_t
@ kBlacklist
Don't export items contained in the filter's set.
static RPagesResult ExportPages(ROOT::Internal::RPageSource &source, const RPagesOptions &options={})
Given a page source, writes all its pages to individual files (1 per page).
A page as being stored on disk, that is packed and compressed.
Abstract interface to read data from an ntuple.
Metadata stored for every column of an RNTuple.
Base class for all ROOT issued exceptions.
Metadata stored for every field of an RNTuple.
A log configuration for a channel, e.g.
The on-storage metadata of an RNTuple.
ROOT::DescriptorId_t FindNextClusterId(ROOT::DescriptorId_t clusterId) const
ROOT::DescriptorId_t FindClusterId(ROOT::NTupleSize_t entryIdx) const
const RClusterDescriptor & GetClusterDescriptor(ROOT::DescriptorId_t clusterId) const
std::string GetQualifiedFieldName(ROOT::DescriptorId_t fieldId) const
Walks up the parents of the field ID and returns a field name of the form a.b.c.d In case of invalid ...
const RFieldDescriptor & GetFieldZero() const
const_iterator end() const
constexpr DescriptorId_t kInvalidDescriptorId
std::unordered_set< T > fSet
RFilter< ENTupleColumnType > fColumnTypeFilter
Optional filter that determines which columns are included or excluded from being exported.
@ kShowProgressBar
If enabled, the exporter will report the current progress on the stderr.
std::vector< std::string > fExportedFileNames
On-disk pages within a page source are identified by the column and page number.