![]() |
ATLAS Offline Software
|
RDBAccessSvc is the implementation of IRDBAccessSvc interface. More...
#include <RDBAccessSvc.h>
Public Member Functions | |
| RDBAccessSvc (const std::string &name, ISvcLocator *svc) | |
| Standard Service Constructor. | |
| StatusCode | initialize () override |
| StatusCode | finalize () override |
| bool | connect (const std::string &connName) override |
| Connect to the relational DB. | |
| bool | disconnect (const std::string &connName) override |
| If the counnection counter==1 closes the connection. | |
| bool | shutdown (const std::string &connName) override |
| Closes the connection regardless of the counter value. | |
| IRDBRecordset_ptr | getRecordsetPtr (const std::string &node, const std::string &tag, const std::string &tag2node="", const std::string &connName="ATLASDD") override |
| Provides access to the Recordset object containing HVS-tagged data. | |
| std::string | getChildTag (const std::string &childNode, const std::string &parentTag, const std::string &parentNode, const std::string &connName) override |
| Gets the tag name for the node by giving its parent node tag. | |
| std::string | getChildTag (const std::string &childNode, const std::string &parentTag, const std::string &parentNode, const std::string &connName, bool force) |
| std::unique_ptr< IRDBQuery > | getQuery (const std::string &node, const std::string &tag, const std::string &tag2node, const std::string &connName) override |
| void | getTagDetails (RDBTagDetails &tagDetails, const std::string &tag, const std::string &connName="ATLASDD") override |
| void | getAllLeafNodes (std::vector< std::string > &list, const std::string &connName="ATLASDD") |
| std::vector< std::string > | getLockedSupportedTags (const std::string &supportedFlag, const std::string &connName="ATLASDD") |
| coral::ISessionProxy * | getSession (const std::string &connName="ATLASDD") |
Private Member Functions | |
| bool | shutdown_connection (const std::string &connName) |
Private Attributes | |
| SessionMap | m_sessions |
| std::map< std::string, unsigned int > | m_openConnections |
| RecordsetPtrsByConn | m_recordsetptrs |
| GlobalTagLookupMap | m_globalTagLookup |
| std::mutex | m_recordsetMutex |
| std::mutex | m_sessionMutex |
RDBAccessSvc is the implementation of IRDBAccessSvc interface.
Definition at line 57 of file RDBAccessSvc.h.
| RDBAccessSvc::RDBAccessSvc | ( | const std::string & | name, |
| ISvcLocator * | svc ) |
Standard Service Constructor.
Definition at line 36 of file RDBAccessSvc.cxx.
|
override |
Connect to the relational DB.
If this method is called for already open connection the connection counter is incremented.
Definition at line 41 of file RDBAccessSvc.cxx.
|
override |
If the counnection counter==1 closes the connection.
Decrements the connection counter value otherwise.
Definition at line 81 of file RDBAccessSvc.cxx.
|
override |
Definition at line 506 of file RDBAccessSvc.cxx.
| void RDBAccessSvc::getAllLeafNodes | ( | std::vector< std::string > & | list, |
| const std::string & | connName = "ATLASDD" ) |
Definition at line 414 of file RDBAccessSvc.cxx.
|
override |
Gets the tag name for the node by giving its parent node tag.
| childNode | [IN] name of the child node |
| parentTag | [IN] name of the parent tag |
| parentNode | [IN] name of the parent node |
| fetchData | [IN] if true fetch the corresponding data this parameter has no sence if child is the branch node |
Definition at line 270 of file RDBAccessSvc.cxx.
| std::string RDBAccessSvc::getChildTag | ( | const std::string & | childNode, |
| const std::string & | parentTag, | ||
| const std::string & | parentNode, | ||
| const std::string & | connName, | ||
| bool | force ) |
Definition at line 282 of file RDBAccessSvc.cxx.
| std::vector< std::string > RDBAccessSvc::getLockedSupportedTags | ( | const std::string & | supportedFlag, |
| const std::string & | connName = "ATLASDD" ) |
Definition at line 453 of file RDBAccessSvc.cxx.
|
override |
Definition at line 214 of file RDBAccessSvc.cxx.
|
override |
Provides access to the Recordset object containing HVS-tagged data.
| node | [IN] name of the leaf HVS node |
| tag | [IN] tag of the HVS node specified by node parameter if tag2node is omitted, tag of the HVS branch node specified by tag2node otherwise |
| tag2node | [IN] some parent of the HVS leaf node specified by node parameter |
Definition at line 149 of file RDBAccessSvc.cxx.
| coral::ISessionProxy * RDBAccessSvc::getSession | ( | const std::string & | connName = "ATLASDD" | ) |
Definition at line 495 of file RDBAccessSvc.cxx.
|
override |
Definition at line 336 of file RDBAccessSvc.cxx.
|
override |
Definition at line 501 of file RDBAccessSvc.cxx.
|
override |
Closes the connection regardless of the counter value.
Definition at line 109 of file RDBAccessSvc.cxx.
|
private |
Definition at line 126 of file RDBAccessSvc.cxx.
|
private |
Definition at line 131 of file RDBAccessSvc.h.
|
private |
Definition at line 128 of file RDBAccessSvc.h.
|
private |
Definition at line 133 of file RDBAccessSvc.h.
|
private |
Definition at line 130 of file RDBAccessSvc.h.
|
private |
Definition at line 134 of file RDBAccessSvc.h.
|
private |
Definition at line 127 of file RDBAccessSvc.h.