14#ifndef RDBACCESSSVC_RDBACCESSSVC_H
15#define RDBACCESSSVC_RDBACCESSSVC_H
43typedef std::map<std::string, coral::ISessionProxy*>
SessionMap;
46typedef std::pair<std::string, std::string>
TagNameId;
57class RDBAccessSvc final :
public extends<AthService, IRDBAccessSvc>
70 bool connect(
const std::string& connName)
override;
75 bool disconnect(
const std::string& connName)
override;
79 bool shutdown(
const std::string& connName)
override;
88 ,
const std::string& tag
89 ,
const std::string& tag2node=
""
90 ,
const std::string& connName =
"ATLASDD")
override;
98 std::string
getChildTag(
const std::string& childNode
99 ,
const std::string& parentTag
100 ,
const std::string& parentNode
101 ,
const std::string& connName)
override;
103 std::string
getChildTag(
const std::string& childNode
104 ,
const std::string& parentTag
105 ,
const std::string& parentNode
106 ,
const std::string& connName
109 std::unique_ptr<IRDBQuery>
getQuery(
const std::string&
node
110 ,
const std::string& tag
111 ,
const std::string& tag2node
112 ,
const std::string& connName)
override;
115 ,
const std::string& tag
116 ,
const std::string& connName =
"ATLASDD")
override;
119 ,
const std::string& connName =
"ATLASDD");
122 ,
const std::string& connName =
"ATLASDD");
124 coral::ISessionProxy*
getSession(
const std::string& connName =
"ATLASDD");
Definition of the abstract IRDBAccessSvc interface.
coral::AttributeList RDBTagDetails
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
std::map< std::string, RecordsetPtrMap > RecordsetPtrsByConn
std::map< std::string, coral::ISessionProxy * > SessionMap
std::map< std::string, TagNameId > TagNameIdByNode
std::map< std::string, IRDBRecordset_ptr > RecordsetPtrMap
std::pair< std::string, std::string > TagNameId
std::map< std::string, TagNameIdByNode * > GlobalTagLookupMap
Definition of RDBRecordset class.
std::vector< std::string > getLockedSupportedTags(const std::string &supportedFlag, const std::string &connName="ATLASDD")
bool connect(const std::string &connName) override
Connect to the relational DB.
bool shutdown(const std::string &connName) override
Closes the connection regardless of the counter value.
bool disconnect(const std::string &connName) override
If the counnection counter==1 closes the connection.
std::mutex m_sessionMutex
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_connection(const std::string &connName)
StatusCode finalize() override
RecordsetPtrsByConn m_recordsetptrs
GlobalTagLookupMap m_globalTagLookup
RDBAccessSvc(const std::string &name, ISvcLocator *svc)
Standard Service Constructor.
void getAllLeafNodes(std::vector< std::string > &list, const std::string &connName="ATLASDD")
void getTagDetails(RDBTagDetails &tagDetails, const std::string &tag, const std::string &connName="ATLASDD") override
std::mutex m_recordsetMutex
std::map< std::string, unsigned int > m_openConnections
StatusCode initialize() 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::unique_ptr< IRDBQuery > getQuery(const std::string &node, const std::string &tag, const std::string &tag2node, const std::string &connName) override
coral::ISessionProxy * getSession(const std::string &connName="ATLASDD")
RDBRecordset is an implementation of IRDBRecordset interface.