9#ifndef POOL_RNTUPLECONTAINER_H
10#define POOL_RNTUPLECONTAINER_H 1
19#include "ROOT/RNTupleView.hxx"
30namespace ROOT {
class RNTupleReader; }
49 std::optional< ROOT::RNTupleView<void> >
view;
52 void*
object =
nullptr;
116 pool::DbAccessMode mod) override final;
137 virtual uint64_t
size() override final;
178 pool::DbContainer& cntH,
179 pool::ShapeH shape) override final;
virtual uint64_t nextRecordId() override final
Number of next record in the container (=size if no delete is allowed)
std::unique_ptr< RootAuxDynIO::IFactoryTool > m_auxDynTool
Factory object from AuxDynIO plugin that creates AuxDyn readers and writers.
pool::DbStatus initObjectFieldDesc(FieldDesc &dsc)
Init a field description for an object (i.e. find TClass etc.)
pool::DbDatabase m_dbH
Parent Database handle.
const pool::DbTypeInfo * m_type
reference to exact type description
RootStorageSvc::RNTupleWriterHelper * m_ntupleWriter
Internal cache of the RNTupleWriterHelper.
ROOT::RNTupleReader * m_ntupleReader
Internal cache of the native RNTupleReader.
virtual pool::DbStatus writeObject(ActionList::value_type &) override final
Commit single entry to container.
bool m_isDirty
flag set on writing to prevent double writes in the same commit
RNTupleContainer(const std::string &name)
virtual pool::DbStatus store(const void *object, pool::DbContainer &cntH, pool::ShapeH shape) override final
Store object in location.
std::vector< FieldDesc > m_fieldDescs
List of field descriptors.
virtual pool::DbStatus loadObject(void **ptr, pool::ShapeH shape, Token::OID_t &oid) override final
Find object by object identifier and load it into memory.
virtual pool::DbStatus getOption(pool::DbOption &opt) override final
Access options.
virtual uint64_t size() override final
Number of entries within the container.
virtual pool::DbStatus open(pool::DbDatabase &dbH, const std::string &nam, const pool::DbTypeInfo *info, pool::DbAccessMode mod) override final
Open the container for object access.
virtual pool::DbStatus fetch(pool::DbSelect &sel) override final
Fetch next object address of the selection to set token.
virtual pool::DbStatus checkAccess(pool::DbDatabase &dbH, const std::string &nam) const override final
Check if we can access the container for reading with the given type.
void clearDirty()
Clear the dirty status (used after containing TTree was Filled)
virtual pool::DbStatus select(pool::DbSelect &sel) override final
Define selection.
pool::RootDatabase * m_rootDb
Root database file reference.
virtual ~RNTupleContainer()
const std::string & getName() const
Return the name of the container.
int m_ioBytes
Number of bytes written/read during last operation. Set to -1 if it failed.
virtual void useNextRecordId(uint64_t nextID) override final
Suggest next Record ID for tbe next object written - used only with synced indexes.
bool isDirty() const
Return true if this branch container was updated and it's TTree needs to be Filled.
virtual pool::DbStatus close() override final
Close the container and deallocate resources.
virtual pool::DbStatus transAct(pool::Transaction::Action action) override final
Execute transaction action.
const uint32_t m_indexMulti
virtual pool::DbStatus setOption(const pool::DbOption &opt) override final
Set options.
Interface for a RNTuple-based Writer that handles AuxDyn attributes Works in conjuction with the gene...
Description: Definition of the generic column in a (relational) Database.
DbColumn()
Cache class information (if available) Do not allow unwanted instantiations by users.
"Generic" Container implementation
std::string m_name
Container name.
virtual std::string name() const override
Get container name.
DbContainerImp(const std::string &name)
Description: Handle managing a DbDatabaseObj, a generic Database object.
This class is highly inspired by the error code distribution system as it is used in DEC/VMS or MS/WN...
Definition of class DbTypeInfo.
Description: ROOT specific implementation of Database file.
Selection rules: declare transient members.
Specialization of RootAuxDynStore for reading Aux Dynamic attributes from RNTuple.
const class Shape * ShapeH
Definition of a field info structure.
FieldDesc & operator=(FieldDesc const &other)=delete
FieldDesc(const DbColumn &c)
std::unique_ptr< RootAuxDynIO::IRootAuxDynReader > auxdyn_reader
FieldDesc(FieldDesc const &other)=delete
FieldDesc(FieldDesc &&other)=default
std::optional< ROOT::RNTupleView< void > > view
std::unique_ptr< RootAuxDynIO::IRNTupleAuxDynWriter > auxdyn_writer
const std::string typeName()
FieldDesc & operator=(FieldDesc &&other)=default