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 DbStatus | close () override final |
Close the container and deallocate resources. More... | |
virtual DbStatus | open (DbDatabase &dbH, const std::string &nam, const DbTypeInfo *info, DbAccessMode mod) override final |
Open the container for object access. More... | |
virtual DbStatus | getOption (DbOption &opt) override final |
Access options. More... | |
virtual DbStatus | setOption (const DbOption &opt) override final |
Set options. More... | |
virtual DbStatus | isShapeSupported (const DbTypeInfo *typ) const override final |
Ask if a given shape is supported. 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 DbStatus | loadObject (void **ptr, ShapeH shape, Token::OID_t &oid) override final |
Find object by object identifier and load it into memory. More... | |
virtual 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 DbStatus | select (DbSelect &criteria) override final |
Define selection criteria. More... | |
virtual DbStatus | fetch (DbSelect &sel) override final |
Fetch next object address of the selection to set token. More... | |
virtual DbStatus | transAct (Transaction::Action action) override final |
Execute transaction action. More... | |
virtual DbStatus | fetch (DbSelect &sel) override |
Equivalent to next() More... | |
virtual DbStatus | fetch (const Token::OID_t &linkH, Token::OID_t &stmt) |
Equivalent to next() 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 | update (DbSelect &) override |
Perform UPDATE statement. 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 | destroy (DbSelect &) override |
Perform DELETE statement. More... | |
virtual DbStatus | destroy (const Token::OID_t &lnkH) override |
Add the specified object to the delete stack. More... | |
virtual DbStatus | fetch (const Token::OID_t &linkH, Token::OID_t &stmt) |
Fetch refined object address. Default implementation returns identity. More... | |
virtual DbStatus | save (DbObjectHandle< DbObject > &objH) override |
Add single entry to 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 | |
const DbTypeInfo * | m_type {} |
reference to exact type description More... | |
std::vector< FieldDesc > | m_fieldDescs |
List of field descriptors. More... | |
DbDatabase | m_dbH |
Parent Database handle. More... | |
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... | |
RNTupleReader * | m_ntupleReader {} |
Internal cache of the native RNTupleReader. More... | |
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 | |
DbStatus | initObjectFieldDesc (FieldDesc &dsc) |
Init a field description for an object (i.e. find TClass etc.) More... | |
Private Attributes | |
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 49 of file RNTupleContainer.h.
|
protectedinherited |
Definition at line 63 of file DbContainerImp.h.
pool::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.
|
inline |
Clear the dirty status (used after containing TTree was Filled)
Definition at line 165 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.
Perform DELETE statement.
Implements pool::IDbContainer.
Definition at line 155 of file DbContainerImp.h.
|
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.
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 |
Access options.
opt | [IN] Reference to option object. |
Reimplemented from pool::DbContainerImp.
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 162 of file RNTupleContainer.h.
|
finaloverridevirtual |
Ask if a given shape is supported.
Implements pool::IDbContainer.
|
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.
|
overridevirtualinherited |
Add single entry to container.
Implements pool::IDbContainer.
Define selection criteria.
Implements pool::IDbContainer.
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.
Perform UPDATE statement.
Implements pool::IDbContainer.
Definition at line 153 of file DbContainerImp.h.
|
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.
|
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.
|
protected |
Parent Database handle.
Definition at line 104 of file RNTupleContainer.h.
|
protected |
List of field descriptors.
Definition at line 102 of file RNTupleContainer.h.
|
protected |
Definition at line 112 of file RNTupleContainer.h.
|
protected |
Definition at line 114 of file RNTupleContainer.h.
|
protected |
Definition at line 115 of file RNTupleContainer.h.
|
protected |
Definition at line 113 of file RNTupleContainer.h.
|
protected |
Number of bytes written/read during last operation. Set to -1 if it failed.
Definition at line 108 of file RNTupleContainer.h.
|
protected |
flag set on writing to prevent double writes in the same commit
Definition at line 110 of file RNTupleContainer.h.
|
protectedinherited |
Container name.
Definition at line 76 of file DbContainerImp.h.
|
protected |
Internal cache of the native RNTupleReader.
Definition at line 121 of file RNTupleContainer.h.
|
protected |
Internal cache of the RNTupleWriterHelper.
Definition at line 118 of file RNTupleContainer.h.
|
protected |
Root database file reference.
Definition at line 106 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.
|
protected |
reference to exact type description
Definition at line 100 of file RNTupleContainer.h.
|
privateinherited |
Number of objects to be written out during open transaction.
Definition at line 71 of file DbContainerImp.h.