7 using namespace oracle::occi;
12 m_writeStmt =
nullptr;
22 this->checkConnection();
25 m_writeStmt = m_conn->createStatement();
27 "INSERT INTO ECAL_LTS_Cycle (cycle_id, lts_configuration_id ) "
30 throw(std::runtime_error(
"ODLTSCycle::prepareWrite(): " + e.getMessage()));
35 this->checkConnection();
39 m_writeStmt->setInt(1, this->
getId());
40 m_writeStmt->setInt(2, this->getLTSConfigurationID());
42 m_writeStmt->executeUpdate();
45 throw(std::runtime_error(
"ODLTSCycle::writeDB: " + e.getMessage()));
49 if (!this->fetchID()) {
50 throw(std::runtime_error(
"ODLTSCycle::writeDB: Failed to write"));
62 this->checkConnection();
65 Statement *stmt = m_conn->createStatement();
67 "SELECT cycle_id, lts_configuration_id FROM ecal_lts_cycle "
68 "WHERE cycle_id = :1 ");
69 stmt->setInt(1, m_ID);
70 ResultSet *rset = stmt->executeQuery();
73 m_ID = rset->getInt(1);
74 m_lts_config_id = rset->getInt(2);
78 m_conn->terminateStatement(stmt);
80 throw(std::runtime_error(
"ODLTSCycle::fetchID: " + e.getMessage()));
87 this->checkConnection();
90 Statement *stmt = m_conn->createStatement();
92 "SELECT cycle_id, lts_configuration_id FROM ecal_lts_cycle "
93 "WHERE cycle_id = :1 ");
95 ResultSet *rset = stmt->executeQuery();
98 m_ID = rset->getInt(1);
99 m_lts_config_id = rset->getInt(2);
103 m_conn->terminateStatement(stmt);
105 throw(std::runtime_error(
"ODLTSCycle::fetchID: " + e.getMessage()));
110 this->checkConnection();
113 if (
result->getId() == 0) {
114 throw(std::runtime_error(
"ODLTSConfig::fetchData(): no Id defined for this ODLTSConfig "));
119 "SELECT lts_configuration_id FROM ecal_lts_cycle "
120 "WHERE cycle_id = :1 ");
122 m_readStmt->setInt(1,
result->getId());
123 ResultSet *rset = m_readStmt->executeQuery();
127 result->setLTSConfigurationID(rset->getInt(1));
130 throw(std::runtime_error(
"ODLTSCycle::fetchData(): " + e.getMessage()));
139 terminateWriteStatement();
140 }
catch (std::runtime_error &
e) {
145 throw(std::runtime_error(
"EcalCondDBInterface::insertDataSet: Unknown exception caught"));
static unsigned int getId()
void fetchData(ODLTSCycle *result) noexcept(false)
void writeDB() noexcept(false)
oracle::occi::Statement Statement
void setByID(int id) noexcept(false)
int fetchID() noexcept(false)
void prepareWrite() noexcept(false) override
oracle::occi::SQLException SQLException
void insertConfig() noexcept(false)