 |
ATLAS Offline Software
|
Go to the documentation of this file.
14 #ifndef RDBACCESSSVC_RDBACCESSSVC_H
15 #define RDBACCESSSVC_RDBACCESSSVC_H
43 typedef std::map<std::string, coral::ISessionProxy*>
SessionMap;
46 typedef std::pair<std::string, std::string>
TagNameId;
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");
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
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.
::StatusCode StatusCode
StatusCode definition for legacy code.
GlobalTagLookupMap m_globalTagLookup
std::map< std::string, RecordsetPtrMap > RecordsetPtrsByConn
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
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.