16#ifndef ROOT_RPageNullSink
17#define ROOT_RPageNullSink
25namespace Experimental {
92 for (
auto &
range : ranges) {
#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.
Dummy sink that discards all pages.
void CommitSuppressedColumn(ColumnHandle_t) final
Commits a suppressed column for the current cluster.
void UpdateSchema(const ROOT::Internal::RNTupleModelChangeset &changeset, ROOT::NTupleSize_t firstEntry) final
Incorporate incremental changes to the model into the ntuple descriptor.
ROOT::Internal::RNTupleLink CommitDatasetImpl() final
ROOT::NTupleSize_t GetNEntries() const final
void CommitAttributeSet(std::string_view, const ROOT::Internal::RNTupleLink &) final
Adds the given anchor information (name + locator) into the main RNTuple's descriptor as an attribute...
void CommitClusterGroup() final
Write out the page locations (page list envelope) for all the committed clusters since the last call ...
void CommitSealedPageV(std::span< RSealedPageGroup > ranges) final
Write a vector of preprocessed pages to storage. The corresponding columns must have been added befor...
void InitImpl(ROOT::RNTupleModel &model) final
std::unique_ptr< RPageSink > CloneAsHidden(std::string_view, const RNTupleWriteOptions &) const final
Creates a new sink with the same underlying storage as this but writing to a different RNTuple named ...
void UpdateExtraTypeInfo(const ROOT::RExtraTypeInfoDescriptor &) final
Adds an extra type information record to schema.
const ROOT::RNTupleDescriptor & GetDescriptor() const final
Return the RNTupleDescriptor being constructed.
RStagedCluster StageCluster(ROOT::NTupleSize_t) final
Stage the current cluster and create a new one for the following data.
void CommitStagedClusters(std::span< RStagedCluster >) final
Commit staged clusters, logically appending them to the ntuple descriptor.
void CommitSealedPage(ROOT::DescriptorId_t, const RSealedPage &page) final
Write a preprocessed page to storage. The column must have been added before.
void CommitPage(ColumnHandle_t, const ROOT::Internal::RPage &page) final
Write a page to the storage. The column must have been added before.
RPageNullSink(std::string_view ntupleName, const ROOT::RNTupleWriteOptions &options)
ColumnHandle_t AddColumn(ROOT::DescriptorId_t, ROOT::Internal::RColumn &column) final
Register a new column.
void ConnectFields(const std::vector< ROOT::RFieldBase * > &fields, ROOT::NTupleSize_t firstEntry)
std::uint64_t fNBytesCurrentCluster
ROOT::DescriptorId_t fNColumns
A column is a storage-backed array of a simple, fixed-size type, from which pages can be mapped into ...
Abstract interface to write data into an ntuple.
A page is a slice of a column that is mapped into memory.
Base class for all ROOT issued exceptions.
A field translates read and write calls from/to underlying columns to/from tree values.
The on-storage metadata of an RNTuple.
The RNTupleModel encapulates the schema of an RNTuple.
Common user-tunable settings for storing RNTuples.
ROOT::RFieldZero & GetFieldZeroOfModel(RNTupleModel &model)
void CallConnectPageSinkOnField(RFieldBase &, ROOT::Internal::RPageSink &, ROOT::NTupleSize_t firstEntry=0)
std::uint64_t DescriptorId_t
Distriniguishes elements of the same type within a descriptor, e.g. different fields.
std::uint64_t NTupleSize_t
Integer type long enough to hold the maximum number of entries in a column.
The incremental changes to a RNTupleModel
Cluster that was staged, but not yet logically appended to the RNTuple.
A sealed page contains the bytes of a page as written to storage (packed & compressed).