ATLAS Offline Software
|
#include <src/RootKeyContainer.h>
Public Member Functions | |
RootKeyContainer () | |
Standard constructor. More... | |
virtual | ~RootKeyContainer () |
Standard destructor. More... | |
RootKeyContainer (const RootKeyContainer &)=delete | |
RootKeyContainer & | operator= (const RootKeyContainer &)=delete |
virtual DbStatus | close () |
Close the container and deallocate resources. More... | |
virtual DbStatus | open (DbDatabase &dbH, const std::string &nam, const DbTypeInfo *info, DbAccessMode mod) |
Open the container for object access. More... | |
virtual DbStatus | isShapeSupported (const DbTypeInfo *) const |
Ask if a given shape is supported. More... | |
virtual DbStatus | select (DbSelect &criteria) |
Define selection criteria. More... | |
virtual uint64_t | size () |
Number of entries within the container. More... | |
virtual uint64_t | nextRecordId () |
Number of record in the container. More... | |
virtual DbStatus | fetch (DbSelect &sel) |
Fetch next object address of the selection to set token. More... | |
virtual DbStatus | fetch (const Token::OID_t &linkH, Token::OID_t &stmt) |
Fetch a column identified by its link in the container. More... | |
virtual DbStatus | loadObject (void **ptr, ShapeH shape, Token::OID_t &oid) |
Find object by object identifier and load it into memory. More... | |
virtual DbStatus | load (void **ptr, ShapeH shape, const Token::OID_t &linkH, Token::OID_t &oid, bool any_next) |
Interface Implementation: Find entry in container. More... | |
virtual DbStatus | getOption (DbOption &opt) |
Access options. More... | |
virtual DbStatus | setOption (const DbOption &opt) |
Set options. More... | |
virtual DbStatus | transAct (Transaction::Action action) |
Execute end of object modification requests during a transaction. 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 | useNextRecordId (uint64_t) override |
Suggest next Record ID for tbe next object written - used only with synced indexes. 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 | 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 | clearStack () |
Clear Transaction stack containing transaction requests. More... | |
Protected Types | |
typedef std::vector< DbAction > | ActionList |
Protected Member Functions | |
virtual DbStatus | destroyObject (ActionList::value_type &) |
Destroy persistent object in the container. More... | |
virtual DbStatus | writeObject (ActionList::value_type &) |
Commit single entry to container. More... | |
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 | 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 Attributes | |
TDirectory * | m_dir |
Reference to the root tree object. More... | |
DbDatabase | m_dbH |
Parent Database handle. More... | |
RootDatabase * | m_rootDb |
Root database file reference. More... | |
RootKeyIOHandler * | m_ioHandler |
CINT IO handler to allow user overloads.... More... | |
int | m_policy |
Policy flag. More... | |
int | m_ioBytes |
Number of bytes written/read during last operation. Set to -1 if it failed. 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: ROOT specific implementation of Database container. Since objects in root are stored in "trees with branches", this object corresponds top a tuple (Tree/Branch), where each object type (determined by the location of the transient object within the data store) is accessed by the "Event" number inside its tree.
Definition at line 45 of file RootKeyContainer.h.
|
protectedinherited |
Definition at line 63 of file DbContainerImp.h.
pool::RootKeyContainer::RootKeyContainer | ( | ) |
Standard constructor.
|
virtual |
Standard destructor.
|
delete |
|
overridevirtualinherited |
In place allocation of object location.
Implements pool::IDbContainer.
|
overridevirtualinherited |
In place allocation of raw memory for the transient object.
Implements pool::IDbContainer.
|
virtualinherited |
Clear Transaction stack containing transaction requests.
|
virtual |
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.
|
protectedvirtual |
Destroy persistent object in the container.
Reimplemented from pool::DbContainerImp.
|
virtual |
Fetch a column identified by its link in the container.
Reimplemented from pool::DbContainerImp.
Fetch next object address of the selection to set token.
Reimplemented from pool::DbContainerImp.
|
overridevirtualinherited |
In place deletion of raw memory.
Implements pool::IDbContainer.
Access options.
opt | [IN] Reference to option object. |
Reimplemented from pool::DbContainerImp.
|
inlinevirtual |
Ask if a given shape is supported.
Implements pool::IDbContainer.
Definition at line 79 of file RootKeyContainer.h.
|
virtual |
Interface Implementation: Find entry in container.
Reimplemented from pool::DbContainerImp.
|
virtual |
Find object by object identifier and load it into memory.
ptr | [IN/OUT] ROOT-style address of the pointer to object |
shape | [IN] Object type |
oid | [OUT] Object OID |
Implements pool::DbContainerImp.
|
inlineoverridevirtualinherited |
|
virtual |
Number of record in the container.
Reimplemented from pool::DbContainerImp.
|
virtual |
Open the container for object access.
Implements pool::IDbContainer.
|
delete |
|
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.
|
virtual |
Number of entries within the container.
Reimplemented from pool::DbContainerImp.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
virtual |
Execute end of object modification requests during a transaction.
refTr | [IN] Transaction reference |
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.
|
inlineoverridevirtualinherited |
Suggest next Record ID for tbe next object written - used only with synced indexes.
Implements pool::IDbContainer.
Reimplemented in pool::RootTreeIndexContainer, and pool::RNTupleContainer.
Definition at line 120 of file DbContainerImp.h.
|
protectedvirtual |
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.
|
private |
Parent Database handle.
Definition at line 49 of file RootKeyContainer.h.
|
private |
Reference to the root tree object.
Definition at line 47 of file RootKeyContainer.h.
|
private |
Number of bytes written/read during last operation. Set to -1 if it failed.
Definition at line 57 of file RootKeyContainer.h.
|
private |
CINT IO handler to allow user overloads....
Definition at line 53 of file RootKeyContainer.h.
|
protectedinherited |
Container name.
Definition at line 76 of file DbContainerImp.h.
|
private |
Policy flag.
Definition at line 55 of file RootKeyContainer.h.
|
private |
Root database file reference.
Definition at line 51 of file RootKeyContainer.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.
|
privateinherited |
Number of objects to be written out during open transaction.
Definition at line 71 of file DbContainerImp.h.