Storage provider that reads ntuple pages from a file.
Definition at line 121 of file RPageStorageFile.hxx.
|
| | RPageSourceFile (const RPageSourceFile &)=delete |
| |
| | RPageSourceFile (RPageSourceFile &&)=delete |
| |
| | RPageSourceFile (std::string_view ntupleName, std::string_view path, const ROOT::RNTupleReadOptions &options) |
| |
| | RPageSourceFile (std::string_view ntupleName, std::unique_ptr< RRawFile > file, const ROOT::RNTupleReadOptions &options) |
| |
| | ~RPageSourceFile () override |
| |
| std::vector< std::unique_ptr< ROOT::Internal::RCluster > > | LoadClusters (std::span< ROOT::Internal::RCluster::RKey > clusterKeys) final |
| | Populates all the pages of the given cluster ids and columns; it is possible that some columns do not contain any pages.
|
| |
| void | LoadSealedPage (ROOT::DescriptorId_t physicalColumnId, RNTupleLocalIndex localIndex, RSealedPage &sealedPage) final |
| | Read the packed and compressed bytes of a page into the memory buffer provided by sealedPage.
|
| |
| void | LoadStreamerInfo () final |
| | Forces the loading of ROOT StreamerInfo from the underlying file.
|
| |
| std::unique_ptr< RPageSourceFile > | OpenWithDifferentAnchor (const RNTuple &anchor, const ROOT::RNTupleReadOptions &options=ROOT::RNTupleReadOptions()) |
| | Creates a new PageSourceFile using the same underlying file as this but referring to a different RNTuple, represented by anchor.
|
| |
| RPageSourceFile & | operator= (const RPageSourceFile &)=delete |
| |
| RPageSourceFile & | operator= (RPageSourceFile &&)=delete |
| |
| | RPageSource (const RPageSource &)=delete |
| |
| | RPageSource (RPageSource &&)=delete |
| |
| | RPageSource (std::string_view ntupleName, const ROOT::RNTupleReadOptions &fOptions) |
| |
| | ~RPageSource () override |
| |
| ColumnHandle_t | AddColumn (ROOT::DescriptorId_t fieldId, ROOT::Internal::RColumn &column) override |
| | Register a new column.
|
| |
| void | Attach (ROOT::Internal::RNTupleSerializer::EDescriptorDeserializeMode mode=ROOT::Internal::RNTupleSerializer::EDescriptorDeserializeMode::kForReading) |
| | Open the physical storage container and deserialize header and footer.
|
| |
| std::unique_ptr< RPageSource > | Clone () const |
| | Open the same storage multiple time, e.g.
|
| |
| void | DropColumn (ColumnHandle_t columnHandle) override |
| | Unregisters a column.
|
| |
| REntryRange | GetEntryRange () const |
| |
| ROOT::NTupleSize_t | GetNElements (ColumnHandle_t columnHandle) |
| |
| ROOT::NTupleSize_t | GetNEntries () |
| |
| const std::unordered_set< ROOT::DescriptorId_t > & | GetPinnedClusters () const |
| |
| const ROOT::RNTupleReadOptions & | GetReadOptions () const |
| |
| const RSharedDescriptorGuard | GetSharedDescriptorGuard () const |
| | Takes the read lock for the descriptor.
|
| |
| EPageStorageType | GetType () final |
| | Whether the concrete implementation is a sink or a source.
|
| |
| virtual ROOT::Internal::RPageRef | LoadPage (ColumnHandle_t columnHandle, RNTupleLocalIndex localIndex) |
| | Another version of LoadPage that allows to specify cluster-relative indexes.
|
| |
| virtual ROOT::Internal::RPageRef | LoadPage (ColumnHandle_t columnHandle, ROOT::NTupleSize_t globalIndex) |
| | Allocates and fills a page that contains the index-th element.
|
| |
| void | LoadStructure () |
| | Loads header and footer without decompressing or deserializing them.
|
| |
| RPageSource & | operator= (const RPageSource &)=delete |
| |
| RPageSource & | operator= (RPageSource &&)=delete |
| |
| void | PinCluster (ROOT::DescriptorId_t clusterId) |
| | Instructs the cluster pool and page pool to consider the given cluster as active (should stay cached).
|
| |
| void | RegisterStreamerInfos () |
| | Builds the streamer info records from the descriptor's extra type info section.
|
| |
| void | SetEntryRange (const REntryRange &range) |
| | Promise to only read from the given entry range.
|
| |
| void | UnpinCluster (ROOT::DescriptorId_t clusterId) |
| | Allows the given cluster to be evicted from the cluster pool and page pool.
|
| |
| RResult< ROOT::Internal::RPage > | UnsealPage (const RSealedPage &sealedPage, const ROOT::Internal::RColumnElementBase &element) |
| |
| void | UnzipCluster (ROOT::Internal::RCluster *cluster) |
| | Parallel decompression and unpacking of the pages in the given cluster.
|
| |
| | RPageStorage (const RPageStorage &other)=delete |
| |
| | RPageStorage (RPageStorage &&other)=default |
| |
| | RPageStorage (std::string_view name) |
| |
| virtual | ~RPageStorage () |
| |
| ROOT::DescriptorId_t | GetColumnId (ColumnHandle_t columnHandle) const |
| |
| virtual ROOT::Experimental::Detail::RNTupleMetrics & | GetMetrics () |
| | Returns the default metrics object.
|
| |
| const std::string & | GetNTupleName () const |
| | Returns the NTuple name.
|
| |
| RPageStorage & | operator= (const RPageStorage &other)=delete |
| |
| RPageStorage & | operator= (RPageStorage &&other)=default |
| |
| void | SetTaskScheduler (RTaskScheduler *taskScheduler) |
| |
Populates all the pages of the given cluster ids and columns; it is possible that some columns do not contain any pages.
The page source may load more columns than the minimal necessary set from columns. To indicate which columns have been loaded, LoadClusters()must mark them withSetColumnAvailable(). That includes the ones from thecolumnsthat don't have pages; otherwise subsequent requests for the cluster would assume an incomplete cluster and trigger loading again. LoadClusters()` is typically called from the I/O thread of a cluster pool, i.e. the method runs concurrently to other methods of the page source.
Implements ROOT::Internal::RPageSource.
Definition at line 672 of file RPageStorageFile.cxx.