6 #include "RelationalAccess/ISessionProxy.h" 7 #include "RelationalAccess/ITransaction.h" 11 namespace persistency {
57 throwException(
"An update transaction is already active.",
"SessionImpl::startTransaction");
64 std::unique_lock<std::recursive_mutex>
lock;
79 std::unique_lock<std::recursive_mutex>
lock;
100 throwException(
"The transaction is not active.",
"SessionImpl::openIovDb");
111 throwException(
"IOV Database does not exist.",
"SessionImpl::openIovDb");
118 throwException(
"The transaction is not active.",
"SessionImpl::openGTDb");
129 throwException(
"GT Database does not exist.",
"SessionImpl::openGTDb");
136 throwException(
"The transaction is not active.",
"SessionImpl::openRunInfoDb");
142 throwException(
"RunInfo Database does not exist.",
"SessionImpl::openRunInfoDb");
148 throwException(
"The transaction is not active.",
"SessionImpl::openIovDb");
~CondDBTransaction() override
std::shared_ptr< coral::ISessionProxy > coralSession
void openGTDb(FailureOnOpeningPolicy policy=THROW)
CondDBTransaction(const std::shared_ptr< coral::ISessionProxy > &coralSession)
std::string connectionString
void openIovDb(FailureOnOpeningPolicy policy=THROW)
std::unique_ptr< IIOVSchema > iovSchemaHandle
std::unique_ptr< IRunInfoSchema > runInfoSchemaHandle
std::recursive_mutex transactionMutex
std::unique_lock< std::recursive_mutex > transactionLock
std::unique_ptr< IGTSchema > gtSchemaHandle
void startTransaction(bool readOnly=true)
bool isTransactionActive(bool deep=true) const
std::shared_ptr< coral::ISessionProxy > m_session
void rollbackTransaction()
IRunInfoSchema & runInfoSchema()
std::unique_ptr< ITransaction > transaction
void throwException(const std::string &message, const std::string &methodName)