Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
RNTupleSerializer::RContext Class Reference

The serialization context is used for the piecewise serialization of a descriptor.

During header serialization, the mapping of in-memory field and column IDs to on-disk IDs is built so that it can be used for the footer serialization in a second step.

Definition at line 111 of file RNTupleSerialize.hxx.

Public Member Functions

std::uint64_t GetHeaderSize () const
std::uint64_t GetHeaderXxHash3 () const
ROOT::DescriptorId_t GetMemClusterGroupId (ROOT::DescriptorId_t onDiskId) const
ROOT::DescriptorId_t GetMemClusterId (ROOT::DescriptorId_t onDiskId) const
ROOT::DescriptorId_t GetMemColumnId (ROOT::DescriptorId_t onDiskId) const
ROOT::DescriptorId_t GetMemFieldId (ROOT::DescriptorId_t onDiskId) const
ROOT::DescriptorId_t GetOnDiskClusterGroupId (ROOT::DescriptorId_t memId) const
ROOT::DescriptorId_t GetOnDiskClusterId (ROOT::DescriptorId_t memId) const
ROOT::DescriptorId_t GetOnDiskColumnId (ROOT::DescriptorId_t memId) const
ROOT::DescriptorId_t GetOnDiskFieldId (ROOT::DescriptorId_t memId) const
const std::vector< ROOT::DescriptorId_t > & GetOnDiskFieldList () const
 Return a vector containing the in-memory field ID for each on-disk counterpart, in order, i.e.
ROOT::DescriptorId_t MapClusterGroupId (ROOT::DescriptorId_t memId)
ROOT::DescriptorId_t MapClusterId (ROOT::DescriptorId_t memId)
ROOT::DescriptorId_t MapFieldId (ROOT::DescriptorId_t memId)
 Map an in-memory field ID to its on-disk counterpart.
ROOT::DescriptorId_t MapPhysicalColumnId (ROOT::DescriptorId_t memId)
 Map an in-memory column ID to its on-disk counterpart.
void MapSchema (const RNTupleDescriptor &desc, bool forHeaderExtension)
 Map in-memory field and column IDs to their on-disk counterparts.
void SetHeaderSize (std::uint64_t size)
void SetHeaderXxHash3 (std::uint64_t xxhash3)

Private Attributes

std::uint64_t fHeaderSize = 0
std::uint64_t fHeaderXxHash3 = 0
std::map< ROOT::DescriptorId_t, ROOT::DescriptorId_tfMem2OnDiskClusterGroupIDs
std::map< ROOT::DescriptorId_t, ROOT::DescriptorId_tfMem2OnDiskClusterIDs
std::map< ROOT::DescriptorId_t, ROOT::DescriptorId_tfMem2OnDiskColumnIDs
std::map< ROOT::DescriptorId_t, ROOT::DescriptorId_tfMem2OnDiskFieldIDs
std::vector< ROOT::DescriptorId_tfOnDisk2MemClusterGroupIDs
std::vector< ROOT::DescriptorId_tfOnDisk2MemClusterIDs
std::vector< ROOT::DescriptorId_tfOnDisk2MemColumnIDs
std::vector< ROOT::DescriptorId_tfOnDisk2MemFieldIDs

#include <ROOT/RNTupleSerialize.hxx>

Member Function Documentation

◆ GetHeaderSize()

Definition at line 126 of file RNTupleSerialize.hxx.

◆ GetHeaderXxHash3()

Definition at line 128 of file RNTupleSerialize.hxx.

◆ GetMemClusterGroupId()

◆ GetMemClusterId()

◆ GetMemColumnId()

◆ GetMemFieldId()

◆ GetOnDiskClusterGroupId()

◆ GetOnDiskClusterId()

◆ GetOnDiskColumnId()

◆ GetOnDiskFieldId()

◆ GetOnDiskFieldList()

Return a vector containing the in-memory field ID for each on-disk counterpart, in order, i.e.

the i-th value corresponds to the in-memory field ID for i-th on-disk ID

Definition at line 200 of file RNTupleSerialize.hxx.

◆ MapClusterGroupId()

◆ MapClusterId()

◆ MapFieldId()

Map an in-memory field ID to its on-disk counterpart.

It is allowed to call this function multiple times for the same memId, in which case the return value is the on-disk ID assigned on the first call.

Definition at line 131 of file RNTupleSerialize.hxx.

◆ MapPhysicalColumnId()

Map an in-memory column ID to its on-disk counterpart.

It is allowed to call this function multiple times for the same memId, in which case the return value is the on-disk ID assigned on the first call. Note that we only map physical column IDs. Logical column IDs of alias columns are shifted before the serialization of the extension header. Also, we only need to query physical column IDs for the page list serialization.

Definition at line 144 of file RNTupleSerialize.hxx.

◆ MapSchema()

void ROOT::Internal::RNTupleSerializer::RContext::MapSchema ( const RNTupleDescriptor & desc,
bool forHeaderExtension )

Map in-memory field and column IDs to their on-disk counterparts.

This function is unconditionally called during header serialization. This function must be manually called after an incremental schema update as page list serialization requires all columns to be mapped.

Definition at line 1304 of file RNTupleSerialize.cxx.

◆ SetHeaderSize()

Definition at line 125 of file RNTupleSerialize.hxx.

◆ SetHeaderXxHash3()

Definition at line 127 of file RNTupleSerialize.hxx.

Member Data Documentation

◆ fHeaderSize

Definition at line 113 of file RNTupleSerialize.hxx.

◆ fHeaderXxHash3

Definition at line 114 of file RNTupleSerialize.hxx.

◆ fMem2OnDiskClusterGroupIDs

◆ fMem2OnDiskClusterIDs

◆ fMem2OnDiskColumnIDs

◆ fMem2OnDiskFieldIDs

◆ fOnDisk2MemClusterGroupIDs

◆ fOnDisk2MemClusterIDs

◆ fOnDisk2MemColumnIDs

◆ fOnDisk2MemFieldIDs


The documentation for this class was generated from the following files: