120 int iconfID = iconf->
fetchID();
121 if (!iconfID) {
throw(std::runtime_error(
"FEConfigTimingDat::writeArrayDB: tim_conf_id not in DB")); }
124 int nrows=
data->size();
125 int* ids=
new int[nrows];
126 int* iconfid_vec=
new int[nrows];
127 int* xx=
new int[nrows];
128 int* yy=
new int[nrows];
130 ub2* ids_len=
new ub2[nrows];
131 ub2* iconf_len=
new ub2[nrows];
132 ub2* x_len=
new ub2[nrows];
133 ub2* y_len=
new ub2[nrows];
138 typedef map< EcalLogicID, FEConfigTimingDat >::const_iterator CI;
139 for (CI
p =
data->begin();
p !=
data->end(); ++
p) {
140 channel = &(
p->first);
142 if (!logicID) {
throw(std::runtime_error(
"FEConfigTimingDat::writeArrayDB: Bad EcalLogicID")); }
144 iconfid_vec[
count]=iconfID;
146 dataitem = &(
p->second);
165 m_writeStmt->setDataBuffer(1, (dvoid*)iconfid_vec, OCCIINT,
sizeof(iconfid_vec[0]),iconf_len);
166 m_writeStmt->setDataBuffer(2, (dvoid*)ids, OCCIINT,
sizeof(ids[0]), ids_len );
167 m_writeStmt->setDataBuffer(3, (dvoid*)xx, OCCIINT ,
sizeof(xx[0]), x_len );
168 m_writeStmt->setDataBuffer(4, (dvoid*)yy, OCCIINT ,
sizeof(yy[0]), y_len );
173 delete [] iconfid_vec;
183 throw(std::runtime_error(
"FEConfigTimingDat::writeArrayDB(): "+e.getMessage()));
oracle::occi::Statement * m_writeStmt
void checkConnection() const noexcept(false)
void checkPrepare() noexcept(false)
oracle::occi::SQLException SQLException
int getTimingPar2() const
int getTimingPar1() const
int fetchID() noexcept(false)
char data[epos_bytes_allocation]