![]() |
ATLAS Offline Software
|
#include <StorageSvc/DbContainerImp.h>
Classes | |
| struct | DbAction |
| List of actions to execute at commit. More... | |
Public Member Functions | |
| DbContainerImp (const std::string &name) | |
| virtual void | release () override |
| Release instance (Abstract interfaces do not expose destructor!) More... | |
| virtual uint64_t | size () override |
| Size of the container. More... | |
| virtual std::string | name () const override |
| Get container name. More... | |
| virtual uint64_t | nextRecordId () override |
| Number of next record in the container (=size if no delete is allowed) More... | |
| virtual void | useNextRecordId (uint64_t) override |
| Suggest next Record ID for tbe next object written - used only with synced indexes. More... | |
| virtual DbStatus | close () override |
| Close the container and deallocate resources. More... | |
| virtual DbStatus | getOption (DbOption &opt) override |
| Access options. More... | |
| virtual DbStatus | setOption (const DbOption &opt) override |
| Set options. More... | |
| virtual DbStatus | transAct (Transaction::Action) override |
| Execute Transaction Action. More... | |
| virtual DbStatus | store (const void *object, DbContainer &cntH, ShapeH shape) override |
| Store object in location. 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 | fetch (DbSelect &sel) override |
| Fetch next object address of the selection to set token. 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... | |
| virtual DbStatus | fetch (const Token::OID_t &linkH, Token::OID_t &stmt) |
| Fetch refined object address. Default implementation returns identity. More... | |
| virtual DbStatus | loadObject (void **ptr, ShapeH shape, Token::OID_t &oid)=0 |
| Find object by object identifier and load it into memory. More... | |
| virtual DbStatus | open (DbDatabase &dbH, const std::string &nam, const DbTypeInfo *info, DbAccessMode mode)=0 |
| Open the container. More... | |
| virtual DbStatus | checkAccess (DbDatabase &dbH, const std::string &nam) const =0 |
| Check if we can access the container for reading with the given type. More... | |
| virtual DbStatus | select (DbSelect &sel)=0 |
| Define selection. More... | |
| bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. More... | |
| MsgStream & | msg () const |
| The standard message stream. More... | |
| MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. More... | |
| void | setLevel (MSG::Level lvl) |
| Change the current logging level. More... | |
Protected Types | |
| typedef std::vector< DbAction > | ActionList |
Protected Member Functions | |
| virtual | ~DbContainerImp () |
| Standard destructor. More... | |
| int | stackType () const |
| Access accumulated stack entry types. More... | |
| size_t | stackSize () const |
| Access stack size. More... | |
| ActionList::value_type * | stackEntry (size_t which) |
| Internal: get access to stack entry. More... | |
| virtual DbStatus | writeObject (ActionList::value_type &) |
| Commit single entry to 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 | |
| void | initMessaging () const |
| Initialize our message level and MessageSvc. 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... | |
| std::string | m_nm |
| Message source name. More... | |
| boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels) More... | |
| std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. More... | |
| std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. More... | |
| std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
| Messaging initialized (initMessaging) More... | |
"Generic" Container implementation
Description: Generic helper class to implement stuff common to all existing Database containers. The base implementations can allways be overwritten.
Definition at line 44 of file DbContainerImp.h.
|
protected |
Definition at line 64 of file DbContainerImp.h.
|
protectedvirtual |
Standard destructor.
|
explicit |
|
overridevirtual |
In place allocation of object location.
Implements pool::IDbContainer.
|
pure virtualinherited |
Check if we can access the container for reading with the given type.
Implemented in RNTupleContainer, pool::RootTreeContainer, and pool::RootKeyContainer.
|
virtual |
Clear Transaction stack containing transaction requests.
|
overridevirtual |
Close the container and deallocate resources.
Implements pool::IDbContainer.
Reimplemented in RNTupleContainer, pool::RootTreeContainer, and pool::RootKeyContainer.
|
protectedvirtual |
Execute object modification requests during a transaction.
|
virtual |
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.
Implements pool::IDbContainer.
Reimplemented in RNTupleContainer, pool::RootTreeContainer, and pool::RootKeyContainer.
Access options.
| opt | [IN] Reference to option object. |
Implements pool::IDbContainer.
Reimplemented in RNTupleContainer, pool::RootTreeContainer, and pool::RootKeyContainer.
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
|
overridevirtual |
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.
|
pure 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 |
Implemented in pool::RootTreeContainer, pool::RootKeyContainer, pool::RootTreeIndexContainer, and RNTupleContainer.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 163 of file AthMessaging.h.
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 178 of file AthMessaging.h.
|
inlineinherited |
Test the output level.
| lvl | The message level to test against |
| true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
|
inlineoverridevirtual |
|
overridevirtual |
Number of next record in the container (=size if no delete is allowed)
Implements pool::IDbContainer.
Reimplemented in RNTupleContainer, pool::RootTreeIndexContainer, and pool::RootKeyContainer.
|
pure virtualinherited |
Open the container.
Implemented in RNTupleContainer, pool::RootTreeContainer, pool::RootKeyContainer, and pool::RootTreeIndexContainer.
|
inlineoverridevirtual |
Release instance (Abstract interfaces do not expose destructor!)
Implements pool::IDbContainer.
Definition at line 103 of file DbContainerImp.h.
Define selection.
Implemented in RNTupleContainer, pool::RootTreeContainer, and pool::RootKeyContainer.
|
inherited |
Change the current logging level.
Use this rather than msg().setLevel() for proper operation with MT.
Definition at line 28 of file AthMessaging.cxx.
Set options.
| opt | [IN] Reference to option object. |
Implements pool::IDbContainer.
Reimplemented in RNTupleContainer, pool::RootTreeContainer, and pool::RootKeyContainer.
|
overridevirtual |
Size of the container.
Implements pool::IDbContainer.
Reimplemented in RNTupleContainer, pool::RootTreeContainer, and pool::RootKeyContainer.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
overridevirtual |
|
overridevirtual |
Execute Transaction Action.
Implements pool::IDbContainer.
Reimplemented in pool::RootTreeContainer, pool::RootKeyContainer, and RNTupleContainer.
|
inlineoverridevirtual |
Suggest next Record ID for tbe next object written - used only with synced indexes.
Implements pool::IDbContainer.
Reimplemented in pool::RootTreeIndexContainer, and RNTupleContainer.
Definition at line 112 of file DbContainerImp.h.
|
inlineprotectedvirtual |
Commit single entry to container.
Reimplemented in RNTupleContainer, pool::RootTreeContainer, pool::RootKeyContainer, and pool::RootTreeIndexContainer.
Definition at line 95 of file DbContainerImp.h.
|
mutableprivateinherited |
Messaging initialized (initMessaging)
Definition at line 141 of file AthMessaging.h.
|
protected |
Flag to indicate if object removals are supported.
Definition at line 81 of file DbContainerImp.h.
|
protected |
Flag to indicate if object updates are supported.
Definition at line 79 of file DbContainerImp.h.
|
mutableprivateinherited |
MessageSvc pointer.
Definition at line 135 of file AthMessaging.h.
|
mutableprivateinherited |
Current logging level.
Definition at line 138 of file AthMessaging.h.
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
|
protected |
Container name.
Definition at line 77 of file DbContainerImp.h.
|
privateinherited |
Message source name.
Definition at line 129 of file AthMessaging.h.
|
private |
Current size of the transaction stack.
Definition at line 70 of file DbContainerImp.h.
|
private |
Transaction fifo storage for writing.
Definition at line 68 of file DbContainerImp.h.
|
private |
Accumulated stack entry types.
Definition at line 74 of file DbContainerImp.h.
|
private |
Number of objects to be written out during open transaction.
Definition at line 72 of file DbContainerImp.h.
1.8.18