![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
15 #ifndef RDBACCESSSVC_RDBACCESSSVC_H
16 #define RDBACCESSSVC_RDBACCESSSVC_H
44 typedef std::map<std::string, coral::ISessionProxy*>
SessionMap;
47 typedef std::pair<std::string, std::string>
TagNameId;
71 static const InterfaceID&
interfaceID() {
return IID_IRDBAccessSvc; }
77 bool connect(
const std::string& connName)
override;
82 bool disconnect(
const std::string& connName)
override;
86 bool shutdown(
const std::string& connName)
override;
95 ,
const std::string&
tag
96 ,
const std::string& tag2node=
""
97 ,
const std::string& connName =
"ATLASDD")
override;
105 std::string
getChildTag(
const std::string& childNode
106 ,
const std::string& parentTag
107 ,
const std::string& parentNode
108 ,
const std::string& connName)
override;
110 std::string
getChildTag(
const std::string& childNode
111 ,
const std::string& parentTag
112 ,
const std::string& parentNode
113 ,
const std::string& connName
116 std::unique_ptr<IRDBQuery>
getQuery(
const std::string&
node
117 ,
const std::string&
tag
118 ,
const std::string& tag2node
119 ,
const std::string& connName)
override;
122 ,
const std::string&
tag
123 ,
const std::string& connName =
"ATLASDD")
override;
126 ,
const std::string& connName =
"ATLASDD");
129 ,
const std::string& connName =
"ATLASDD");
131 coral::ISessionProxy*
getSession(
const std::string& connName =
"ATLASDD");
std::unique_ptr< IRDBQuery > getQuery(const std::string &node, const std::string &tag, const std::string &tag2node, const std::string &connName) override
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::mutex m_recordsetMutex
std::vector< std::string > getLockedSupportedTags(const std::string &supportedFlag, const std::string &connName="ATLASDD")
std::map< std::string, IRDBRecordset_ptr > RecordsetPtrMap
coral::ISessionProxy * getSession(const std::string &connName="ATLASDD")
StatusCode initialize() override
bool connect(const std::string &connName) override
Connect to the relational DB.
StatusCode finalize() override
std::map< std::string, TagNameId > TagNameIdByNode
StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface) override
std::map< std::string, coral::ISessionProxy * > SessionMap
Definition of the abstract IRDBAccessSvc interface.
RDBAccessSvc is the implementation of IRDBAccessSvc interface.
RDBAccessSvc(const std::string &name, ISvcLocator *svc)
Standard Service Constructor.
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
::StatusCode StatusCode
StatusCode definition for legacy code.
GlobalTagLookupMap m_globalTagLookup
std::map< std::string, RecordsetPtrMap > RecordsetPtrsByConn
static const InterfaceID & interfaceID()
Retrieve interface ID.
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.
bool shutdown(const std::string &connName) override
Closes the connection regardless of the counter value.
std::mutex m_sessionMutex
AthROOTErrorHandlerSvc * svc
RecordsetPtrsByConn m_recordsetptrs
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
coral::AttributeList RDBTagDetails
Definition of RDBRecordset class.
std::map< std::string, TagNameIdByNode * > GlobalTagLookupMap
bool shutdown_connection(const std::string &connName)
std::map< std::string, unsigned int > m_openConnections
void getTagDetails(RDBTagDetails &tagDetails, const std::string &tag, const std::string &connName="ATLASDD") override
Returns AttributeList with tag details Attributes in the list: Locked (bool), Supported (bool)
void getAllLeafNodes(std::vector< std::string > &list, const std::string &connName="ATLASDD")
std::pair< std::string, std::string > TagNameId
bool disconnect(const std::string &connName) override
If the counnection counter==1 closes the connection.
RDBRecordset is an implementation of IRDBRecordset interface.