![]() |
ATLAS Offline Software
|
#include <src/RNTupleContainer.h>
Classes | |
struct | FieldDesc |
Definition of a field info structure. More... | |
Public Member Functions | |
RNTupleContainer () | |
Standard constructor. More... | |
virtual | ~RNTupleContainer () |
virtual pool::DbStatus | close () override final |
Close the container and deallocate resources. More... | |
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. More... | |
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. More... | |
virtual pool::DbStatus | getOption (pool::DbOption &opt) override final |
Access options. More... | |
virtual pool::DbStatus | setOption (const pool::DbOption &opt) override final |
Set options. More... | |
virtual uint64_t | size () override final |
Number of entries within the container. More... | |
const std::string & | getName () const |
Return the name of the container. More... | |
bool | isDirty () const |
Return true if this branch container was updated and it's TTree needs to be Filled. More... | |
void | clearDirty () |
Clear the dirty status (used after containing TTree was Filled) More... | |
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. More... | |
virtual pool::DbStatus | writeObject (ActionList::value_type &) override final |
Commit single entry to container. More... | |
virtual uint64_t | nextRecordId () override final |
Number of next record in the container (=size if no delete is allowed) More... | |
virtual void | useNextRecordId (uint64_t nextID) override final |
Suggest next Record ID for tbe next object written - used only with synced indexes. More... | |
virtual pool::DbStatus | select (pool::DbSelect &sel) override final |
Define selection. More... | |
virtual pool::DbStatus | fetch (pool::DbSelect &sel) override final |
Fetch next object address of the selection to set token. More... | |
virtual pool::DbStatus | transAct (pool::Transaction::Action action) override final |
Execute transaction action. More... | |
virtual pool::DbStatus | save (pool::DbObjectHandle< pool::DbObject > &objH) override final |
Add single entry to container. More... | |
virtual void | release () override |
Release instance (Abstract interfaces do not expose destructor!) More... | |
virtual std::string | name () const override |
Get container name. More... | |
virtual void * | allocate (unsigned long siz, DbContainer &cntH, ShapeH shape) override |
In place allocation of raw memory for the transient object. More... | |
virtual DbStatus | allocate (DbContainer &cntH, const void *object, ShapeH shape, Token::OID_t &oid) override |
In place allocation of object location. More... | |
virtual DbStatus | free (void *ptr, DbContainer &cntH) override |
In place deletion of raw memory. More... | |
virtual DbStatus | fetch (const Token::OID_t &linkH, Token::OID_t &stmt) |
Fetch refined object address. Default implementation returns identity. More... | |
virtual DbStatus | destroy (const Token::OID_t &lnkH) override |
Add the specified object to the delete stack. More... | |
virtual DbStatus | update (DbContainer &cntH, const void *object, ShapeH shape, const Token::OID_t &linkH) override |
Update existing object in the container. More... | |
virtual DbStatus | update (DbContainer &cntH, const void *object, ShapeH shape, const DbObjectHandle< DbObject > &objH) override |
Update existing object in the container. More... | |
virtual DbStatus | save (DbContainer &cntH, const void *object, ShapeH shape, Token::OID_t &linkH) override |
Save new object in the container and return its handle. More... | |
virtual DbStatus | load (void **ptr, ShapeH shape, const Token::OID_t &lnkH, Token::OID_t &oid, bool any_next) override |
Find object within the container and load it into memory. More... | |
virtual DbStatus | clearStack () |
Clear Transaction stack containing transaction requests. More... | |
Protected Types | |
typedef std::vector< DbAction > | ActionList |
Protected Member Functions | |
int | stackType () const |
Access accumulated stack entry types. More... | |
size_t | stackSize () const |
Access stack size. More... | |
virtual bool | updatesPending () const override |
Query the pending transaction stack. More... | |
ActionList::value_type * | stackEntry (size_t which) |
Internal: get access to stack entry. More... | |
virtual DbStatus | destroyObject (ActionList::value_type &) |
Destroy persistent object in the container; does not touch transient! More... | |
virtual DbStatus | updateObject (ActionList::value_type &) |
Update persistent object in the container. More... | |
virtual DbStatus | commitTransaction () |
Execute object modification requests during a transaction. More... | |
Protected Attributes | |
std::string | m_name |
Container name. More... | |
bool | m_canUpdate |
Flag to indicate if object updates are supported. More... | |
bool | m_canDestroy |
Flag to indicate if object removals are supported. More... | |
Private Member Functions | |
pool::DbStatus | initObjectFieldDesc (FieldDesc &dsc) |
Init a field description for an object (i.e. find TClass etc.) More... | |
Private Attributes | |
const pool::DbTypeInfo * | m_type {} |
reference to exact type description More... | |
std::vector< FieldDesc > | m_fieldDescs |
List of field descriptors. More... | |
pool::DbDatabase | m_dbH |
Parent Database handle. More... | |
pool::RootDatabase * | m_rootDb |
Root database file reference. More... | |
int | m_ioBytes |
Number of bytes written/read during last operation. Set to -1 if it failed. More... | |
bool | m_isDirty |
flag set on writing to prevent double writes in the same commit More... | |
uint64_t | m_index |
uint64_t | m_indexSize |
int64_t | m_indexBump |
const uint32_t | m_indexMulti |
RootStorageSvc::RNTupleWriterHelper * | m_ntupleWriter = nullptr |
Internal cache of the RNTupleWriterHelper. More... | |
ROOT::RNTupleReader * | m_ntupleReader {} |
Internal cache of the native RNTupleReader. More... | |
std::unique_ptr< RootAuxDynIO::IFactoryTool > | m_auxDynTool |
Factory object from AuxDynIO plugin that creates AuxDyn readers and writers. More... | |
ActionList | m_stack |
Transaction fifo storage for writing. More... | |
size_t | m_size |
Current size of the transaction stack. More... | |
size_t | m_writeSize |
Number of objects to be written out during open transaction. More... | |
int | m_stackType |
Accumulated stack entry types. More... | |
Description: RNTUPLE specific implementation of Database Container.
Definition at line 50 of file RNTupleContainer.h.
|
protectedinherited |
Definition at line 63 of file DbContainerImp.h.
RNTupleContainer::RNTupleContainer | ( | ) |
Standard constructor.
|
virtual |
|
overridevirtualinherited |
In place allocation of object location.
Implements pool::IDbContainer.
|
overridevirtualinherited |
In place allocation of raw memory for the transient object.
Implements pool::IDbContainer.
|
finaloverridevirtual |
Check if we can access the container for reading with the given type.
Implements pool::IDbContainer.
|
inline |
Clear the dirty status (used after containing TTree was Filled)
Definition at line 158 of file RNTupleContainer.h.
|
virtualinherited |
Clear Transaction stack containing transaction requests.
|
finaloverridevirtual |
Close the container and deallocate resources.
Reimplemented from pool::DbContainerImp.
|
protectedvirtualinherited |
Execute object modification requests during a transaction.
|
overridevirtualinherited |
Add the specified object to the delete stack.
Implements pool::IDbContainer.
|
inlineprotectedvirtualinherited |
Destroy persistent object in the container; does not touch transient!
Reimplemented in pool::RootKeyContainer.
Definition at line 97 of file DbContainerImp.h.
|
virtualinherited |
Fetch refined object address. Default implementation returns identity.
Reimplemented in pool::RootTreeContainer, and pool::RootKeyContainer.
|
finaloverridevirtual |
Fetch next object address of the selection to set token.
Reimplemented from pool::DbContainerImp.
|
overridevirtualinherited |
In place deletion of raw memory.
Implements pool::IDbContainer.
|
inline |
|
finaloverridevirtual |
Access options.
opt | [IN] Reference to option object. |
Reimplemented from pool::DbContainerImp.
|
private |
Init a field description for an object (i.e. find TClass etc.)
|
inline |
Return true if this branch container was updated and it's TTree needs to be Filled.
Definition at line 155 of file RNTupleContainer.h.
|
overridevirtualinherited |
Find object within the container and load it into memory.
ptr | [IN/OUT] ROOT-style address of the pointer to object |
shape | [IN] Object type |
linkH | [IN] Preferred object OID |
oid | [OUT] Actual object OID |
any_next | [IN] On selection, objects may be skipped. If objects are skipped, the actual oid will differ from the preferred oid. |
Implements pool::IDbContainer.
Reimplemented in pool::RootKeyContainer.
|
finaloverridevirtual |
Find object by object identifier and load it into memory.
ptr | [IN/OUT] address of the pointer to object |
shape | [IN] Object Shape |
oid | [OUT] Object OID |
Implements pool::DbContainerImp.
|
inlineoverridevirtualinherited |
|
finaloverridevirtual |
Number of next record in the container (=size if no delete is allowed)
Reimplemented from pool::DbContainerImp.
|
finaloverridevirtual |
Open the container for object access.
Implements pool::IDbContainer.
|
inlineoverridevirtualinherited |
Release instance (Abstract interfaces do not expose destructor!)
Implements pool::IDbContainer.
Definition at line 111 of file DbContainerImp.h.
|
overridevirtualinherited |
Save new object in the container and return its handle.
cntH | [IN] Handle to container object. |
object | [IN] Data object |
linkH | [OUT] Internal OID to identify object. |
Implements pool::IDbContainer.
|
finaloverridevirtual |
Add single entry to container.
Reimplemented from pool::DbContainerImp.
|
finaloverridevirtual |
Define selection.
Implements pool::IDbContainer.
|
finaloverridevirtual |
Set options.
opt | [IN] Reference to option object. |
Reimplemented from pool::DbContainerImp.
|
finaloverridevirtual |
Number of entries within the container.
Reimplemented from pool::DbContainerImp.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
finaloverridevirtual |
Execute transaction action.
Reimplemented from pool::DbContainerImp.
|
overridevirtualinherited |
Update existing object in the container.
cntH | [IN] Valid handle to container |
object | [IN] Data object |
objH | [IN] Object handle |
Implements pool::IDbContainer.
|
overridevirtualinherited |
Update existing object in the container.
cntH | [IN] Valid handle to container |
object | [IN] Data object |
linkH | [IN/OUT] Object identifier |
Implements pool::IDbContainer.
|
inlineprotectedvirtualinherited |
|
inlineoverrideprotectedvirtualinherited |
Query the pending transaction stack.
Implements pool::IDbContainer.
Definition at line 91 of file DbContainerImp.h.
|
finaloverridevirtual |
Suggest next Record ID for tbe next object written - used only with synced indexes.
Reimplemented from pool::DbContainerImp.
|
finaloverridevirtual |
Commit single entry to container.
Reimplemented from pool::DbContainerImp.
|
private |
Factory object from AuxDynIO plugin that creates AuxDyn readers and writers.
Definition at line 113 of file RNTupleContainer.h.
|
protectedinherited |
Flag to indicate if object removals are supported.
Definition at line 80 of file DbContainerImp.h.
|
protectedinherited |
Flag to indicate if object updates are supported.
Definition at line 78 of file DbContainerImp.h.
|
private |
Parent Database handle.
Definition at line 93 of file RNTupleContainer.h.
|
private |
List of field descriptors.
Definition at line 91 of file RNTupleContainer.h.
|
private |
Definition at line 101 of file RNTupleContainer.h.
|
private |
Definition at line 103 of file RNTupleContainer.h.
|
private |
Definition at line 104 of file RNTupleContainer.h.
|
private |
Definition at line 102 of file RNTupleContainer.h.
|
private |
Number of bytes written/read during last operation. Set to -1 if it failed.
Definition at line 97 of file RNTupleContainer.h.
|
private |
flag set on writing to prevent double writes in the same commit
Definition at line 99 of file RNTupleContainer.h.
|
protectedinherited |
Container name.
Definition at line 76 of file DbContainerImp.h.
|
private |
Internal cache of the native RNTupleReader.
Definition at line 110 of file RNTupleContainer.h.
|
private |
Internal cache of the RNTupleWriterHelper.
Definition at line 107 of file RNTupleContainer.h.
|
private |
Root database file reference.
Definition at line 95 of file RNTupleContainer.h.
|
privateinherited |
Current size of the transaction stack.
Definition at line 69 of file DbContainerImp.h.
|
privateinherited |
Transaction fifo storage for writing.
Definition at line 67 of file DbContainerImp.h.
|
privateinherited |
Accumulated stack entry types.
Definition at line 73 of file DbContainerImp.h.
|
private |
reference to exact type description
Definition at line 89 of file RNTupleContainer.h.
|
privateinherited |
Number of objects to be written out during open transaction.
Definition at line 71 of file DbContainerImp.h.