CMS 3D CMS Logo

IOVSchema.cc
Go to the documentation of this file.
2 #include "IOVSchema.h"
3 //
4 #include <openssl/sha.h>
5 
6 namespace cond {
7 
8  namespace persistency {
9 
10  cond::Hash makeHash(const std::string& objectType, const cond::Binary& data) {
11  SHA_CTX ctx;
12  if (!SHA1_Init(&ctx)) {
13  throwException("SHA1 initialization error.", "IOVSchema::makeHash");
14  }
15  if (!SHA1_Update(&ctx, objectType.c_str(), objectType.size())) {
16  throwException("SHA1 processing error (1).", "IOVSchema::makeHash");
17  }
18  if (!SHA1_Update(&ctx, data.data(), data.size())) {
19  throwException("SHA1 processing error (2).", "IOVSchema::makeHash");
20  }
21  unsigned char hash[SHA_DIGEST_LENGTH];
22  if (!SHA1_Final(hash, &ctx)) {
23  throwException("SHA1 finalization error.", "IOVSchema::makeHash");
24  }
25 
26  char tmp[SHA_DIGEST_LENGTH * 2 + 1];
27  // re-write bytes in hex
28  for (unsigned int i = 0; i < 20; i++) {
29  ::sprintf(&tmp[i * 2], "%02x", hash[i]);
30  }
31  tmp[20 * 2] = 0;
32  return tmp;
33  }
34 
35  TAG::Table::Table(coral::ISchema& schema) : m_schema(schema) {}
36 
37  bool TAG::Table::Table::exists() { return existsTable(m_schema, tname); }
38 
40  if (exists()) {
41  throwException("TAG table already exists in this schema.", "TAG::Table::create");
42  }
44  TIME_TYPE,
52  descr(tname);
53  descr.setPrimaryKey<NAME>();
54  createTable(m_schema, descr.get());
55  }
56 
58  Query<NAME> q(m_schema);
59  q.addCondition<NAME>(name);
60  for (auto row : q) {
61  }
62 
63  return q.retrievedRows();
64  }
65 
67  cond::TimeType& timeType,
68  std::string& objectType,
69  cond::SynchronizationType& synchronizationType,
70  cond::Time_t& endOfValidity,
71  cond::Time_t& lastValidatedTime) {
73  q.addCondition<NAME>(name);
74  for (auto row : q)
75  std::tie(timeType, objectType, synchronizationType, endOfValidity, lastValidatedTime) = row;
76 
77  return q.retrievedRows();
78  }
79 
82  boost::posix_time::ptime& insertionTime,
83  boost::posix_time::ptime& modificationTime) {
85  q.addCondition<NAME>(name);
86  for (auto row : q)
87  std::tie(description, insertionTime, modificationTime) = row;
88  return q.retrievedRows();
89  }
90 
92  cond::TimeType timeType,
93  const std::string& objectType,
94  cond::SynchronizationType synchronizationType,
95  cond::Time_t endOfValidity,
96  const std::string& description,
97  cond::Time_t lastValidatedTime,
98  const boost::posix_time::ptime& insertionTime) {
100  TIME_TYPE,
101  OBJECT_TYPE,
104  DESCRIPTION,
108  dataToInsert(std::tie(name,
109  timeType,
110  objectType,
111  synchronizationType,
112  endOfValidity,
113  description,
114  lastValidatedTime,
115  insertionTime,
116  insertionTime));
117  insertInTable(m_schema, tname, dataToInsert.get());
118  }
119 
121  cond::SynchronizationType synchronizationType,
122  cond::Time_t& endOfValidity,
123  cond::Time_t lastValidatedTime,
124  const boost::posix_time::ptime& updateTime) {
127  std::tie(synchronizationType, endOfValidity, lastValidatedTime, updateTime));
128  buffer.addWhereCondition<NAME>(name);
129  updateTable(m_schema, tname, buffer);
130  }
131 
133  const std::string& description,
134  const boost::posix_time::ptime& updateTime) {
136  buffer.setColumnData<DESCRIPTION, MODIFICATION_TIME>(std::tie(description, updateTime));
137  buffer.addWhereCondition<NAME>(name);
138  updateTable(m_schema, tname, buffer);
139  }
140 
142  cond::Time_t lastValidatedTime,
143  const boost::posix_time::ptime& updateTime) {
145  buffer.setColumnData<LAST_VALIDATED_TIME, MODIFICATION_TIME>(std::tie(lastValidatedTime, updateTime));
146  buffer.addWhereCondition<NAME>(name);
147  updateTable(m_schema, tname, buffer);
148  }
149 
150  IOV::Table::Table(coral::ISchema& schema) : m_schema(schema) {}
151 
152  bool IOV::Table::exists() { return existsTable(m_schema, tname); }
153 
155  if (exists()) {
156  throwException("IOV table already exists in this schema.", "IOV::Schema::create");
157  }
158 
161  descr.setForeignKey<TAG_NAME, TAG::NAME>("TAG_NAME_FK");
162  descr.setForeignKey<PAYLOAD_HASH, PAYLOAD::HASH>("PAYLOAD_HASH_FK");
163  createTable(m_schema, descr.get());
164  }
165 
167  const boost::posix_time::ptime& snapshotTime,
168  unsigned long long gSize,
169  std::vector<cond::Time_t>& groups) {
170  Query<SINCE_GROUP> q(m_schema, true);
171  q.addCondition<TAG_NAME>(tag);
172  if (!snapshotTime.is_not_a_date_time()) {
173  q.addCondition<INSERTION_TIME>(snapshotTime, "<=");
174  }
175  q.groupBy(SINCE_GROUP::group(gSize));
176  q.addOrderClause<SINCE_GROUP>();
177  for (auto row : q) {
178  groups.push_back(std::get<0>(row));
179  }
180  return q.retrievedRows();
181  }
182 
184  cond::Time_t lowerSinceGroup,
185  cond::Time_t upperSinceGroup,
186  const boost::posix_time::ptime& snapshotTime,
187  std::vector<std::tuple<cond::Time_t, cond::Hash> >& iovs) {
188  Query<SINCE, PAYLOAD_HASH> q(m_schema);
189  q.addCondition<TAG_NAME>(tag);
190  if (lowerSinceGroup > 0)
191  q.addCondition<SINCE>(lowerSinceGroup, ">=");
192  if (upperSinceGroup < cond::time::MAX_VAL)
193  q.addCondition<SINCE>(upperSinceGroup, "<");
194  if (!snapshotTime.is_not_a_date_time()) {
195  q.addCondition<INSERTION_TIME>(snapshotTime, "<=");
196  }
197  q.addOrderClause<SINCE>();
198  q.addOrderClause<INSERTION_TIME>(false);
199  size_t initialSize = iovs.size();
200  for (auto row : q) {
201  // starting from the second iov in the array, skip the rows with older timestamp
202  if (iovs.size() - initialSize && std::get<0>(iovs.back()) == std::get<0>(row))
203  continue;
204  iovs.push_back(row);
205  }
206  return iovs.size() - initialSize;
207  }
208 
210  const boost::posix_time::ptime& snapshotTime,
212  cond::Hash& hash) {
213  Query<SINCE, PAYLOAD_HASH> q(m_schema);
214  q.addCondition<TAG_NAME>(tag);
215  if (!snapshotTime.is_not_a_date_time()) {
216  q.addCondition<INSERTION_TIME>(snapshotTime, "<=");
217  }
218  q.addOrderClause<SINCE>(false);
219  q.addOrderClause<INSERTION_TIME>(false);
220  q.limitReturnedRows(1);
221  for (auto row : q) {
222  since = std::get<0>(row);
223  hash = std::get<1>(row);
224  return true;
225  }
226  return false;
227  }
228 
229  bool IOV::Table::getSize(const std::string& tag, const boost::posix_time::ptime& snapshotTime, size_t& size) {
230  Query<SEQUENCE_SIZE> q(m_schema);
231  q.addCondition<TAG_NAME>(tag);
232  if (!snapshotTime.is_not_a_date_time()) {
233  q.addCondition<INSERTION_TIME>(snapshotTime, "<=");
234  }
235  for (auto row : q) {
236  size = std::get<0>(row);
237  return true;
238  }
239  return false;
240  }
241 
245  const boost::posix_time::ptime& snapshotTime,
246  std::vector<std::tuple<cond::Time_t, cond::Hash> >& iovs) {
247  Query<MAX_SINCE> q0(m_schema);
248  q0.addCondition<TAG_NAME>(tag);
249  q0.addCondition<SINCE>(begin, "<=");
250  if (!snapshotTime.is_not_a_date_time()) {
251  q0.addCondition<INSERTION_TIME>(snapshotTime, "<=");
252  }
253  cond::Time_t lower_since = 0;
254  for (auto row : q0) {
255  lower_since = std::get<0>(row);
256  }
257  if (!lower_since)
258  return false;
259  Query<SINCE, PAYLOAD_HASH> q1(m_schema);
260  q1.addCondition<TAG_NAME>(tag);
261  q1.addCondition<SINCE>(lower_since, ">=");
262  if (!snapshotTime.is_not_a_date_time()) {
263  q1.addCondition<INSERTION_TIME>(snapshotTime, "<=");
264  }
265  q1.addCondition<SINCE>(end, "<=");
266  q1.addOrderClause<SINCE>();
267  q1.addOrderClause<INSERTION_TIME>(false);
268  size_t initialSize = iovs.size();
269  for (auto row : q1) {
270  // starting from the second iov in the array, skip the rows with older timestamp
271  if (iovs.size() - initialSize && std::get<0>(iovs.back()) == std::get<0>(row))
272  continue;
273  iovs.push_back(row);
274  }
275  return iovs.size() - initialSize;
276  }
277 
280  cond::Hash payloadHash,
281  const boost::posix_time::ptime& insertTimeStamp) {
283  std::tie(tag, since, payloadHash, insertTimeStamp));
284  insertInTable(m_schema, tname, dataToInsert.get());
285  }
286 
288  const std::string& tag,
289  const std::vector<std::tuple<cond::Time_t, cond::Hash, boost::posix_time::ptime> >& iovs) {
291  for (auto row : iovs)
292  inserter.insert(std::tuple_cat(std::tie(tag), row));
293  inserter.flush();
294  }
295 
298  buffer.addWhereCondition<TAG_NAME>(tag);
299  buffer.addWhereCondition<SINCE>(since);
300  buffer.addWhereCondition<PAYLOAD_HASH>(payloadId);
301  deleteFromTable(m_schema, tname, buffer);
302  }
303 
304  void IOV::Table::eraseMany(const std::string& tag, const std::vector<std::tuple<cond::Time_t, cond::Hash> >& iovs) {
306  for (auto iov : iovs)
307  deleter.erase(std::tuple_cat(std::tie(tag), iov));
308  deleter.flush();
309  }
310 
313  buffer.addWhereCondition<TAG_NAME>(tag);
314  deleteFromTable(m_schema, tname, buffer);
315  }
316 
317  TAG_LOG::Table::Table(coral::ISchema& schema) : m_schema(schema) {}
318 
319  bool TAG_LOG::Table::exists() { return existsTable(m_schema, tname); }
320 
322  if (exists()) {
323  throwException("TAG_LOG table already exists in this schema.", "TAG_LOG::create");
324  }
327  descr.setForeignKey<TAG_NAME, TAG::NAME>("TAG_NAME_FK");
328  createTable(m_schema, descr.get());
329  }
330 
332  const boost::posix_time::ptime& eventTime,
333  const std::string& userName,
334  const std::string& hostName,
335  const std::string& command,
336  const std::string& action,
337  const std::string& userText) {
339  std::tie(tag, eventTime, userName, hostName, command, action, userText));
340  insertInTable(m_schema, tname, dataToInsert.get());
341  }
342 
343  PAYLOAD::Table::Table(coral::ISchema& schema) : m_schema(schema) {}
344 
345  bool PAYLOAD::Table::exists() { return existsTable(m_schema, tname); }
346 
348  if (exists()) {
349  throwException("Payload table already exists in this schema.", "PAYLOAD::Schema::create");
350  }
351 
353  descr.setPrimaryKey<HASH>();
354  createTable(m_schema, descr.get());
355  }
356 
357  bool PAYLOAD::Table::select(const cond::Hash& payloadHash) {
358  Query<HASH> q(m_schema);
359  q.addCondition<HASH>(payloadHash);
360  for (auto row : q) {
361  }
362 
363  return q.retrievedRows();
364  }
365 
366  bool PAYLOAD::Table::getType(const cond::Hash& payloadHash, std::string& objectType) {
367  Query<OBJECT_TYPE> q(m_schema);
368  q.addCondition<HASH>(payloadHash);
369  for (auto row : q) {
370  objectType = std::get<0>(row);
371  }
372 
373  return q.retrievedRows();
374  }
375 
376  bool PAYLOAD::Table::select(const cond::Hash& payloadHash,
377  std::string& objectType,
378  cond::Binary& payloadData,
379  cond::Binary& streamerInfoData) {
381  q.addCondition<HASH>(payloadHash);
382  for (auto row : q) {
383  std::tie(payloadData, streamerInfoData, objectType) = row;
384  }
385  return q.retrievedRows();
386  }
387 
388  bool PAYLOAD::Table::insert(const cond::Hash& payloadHash,
389  const std::string& objectType,
390  const cond::Binary& payloadData,
391  const cond::Binary& streamerInfoData,
392  const boost::posix_time::ptime& insertionTime) {
393  std::string version("dummy");
394  cond::Binary sinfoData(streamerInfoData);
395  if (!sinfoData.size())
396  sinfoData.copy(std::string("0"));
398  std::tie(payloadHash, objectType, payloadData, sinfoData, version, insertionTime));
399  bool failOnDuplicate = false;
400  return insertInTable(m_schema, tname, dataToInsert.get(), failOnDuplicate);
401  }
402 
404  const cond::Binary& payloadData,
405  const cond::Binary& streamerInfoData,
406  const boost::posix_time::ptime& insertionTime) {
407  cond::Hash payloadHash = makeHash(payloadObjectType, payloadData);
408  // the check on the hash existance is only required to avoid the error message printing in SQLite! once this is removed, this check is useless...
409  if (!select(payloadHash)) {
410  insert(payloadHash, payloadObjectType, payloadData, streamerInfoData, insertionTime);
411  }
412  return payloadHash;
413  }
414 
415  IOVSchema::IOVSchema(coral::ISchema& schema)
416  : m_tagTable(schema), m_iovTable(schema), m_tagLogTable(schema), m_payloadTable(schema) {}
417 
419  if (!m_tagTable.exists())
420  return false;
421  if (!m_payloadTable.exists())
422  return false;
423  if (!m_iovTable.exists())
424  return false;
425  return true;
426  }
427 
429  bool created = false;
430  if (!exists()) {
431  m_tagTable.create();
433  m_iovTable.create();
435  created = true;
436  }
437  return created;
438  }
439 
441 
443 
445 
447 
448  } // namespace persistency
449 } // namespace cond
cond::persistency::IOV::Table::Table
Table(coral::ISchema &schema)
Definition: IOVSchema.cc:150
cond::persistency::IOVSchema::exists
bool exists() override
Definition: IOVSchema.cc:418
cond::persistency::IOVSchema::m_tagTable
TAG::Table m_tagTable
Definition: IOVSchema.h:223
cond::persistency::PAYLOAD::Table::insert
bool insert(const cond::Hash &payloadHash, const std::string &objectType, const cond::Binary &payloadData, const cond::Binary &streamerInfoData, const boost::posix_time::ptime &insertionTime)
Definition: IOVSchema.cc:388
cond::persistency::TAG::Table::updateMetadata
void updateMetadata(const std::string &name, const std::string &description, const boost::posix_time::ptime &updateTime) override
Definition: IOVSchema.cc:132
mps_fire.i
i
Definition: mps_fire.py:355
cond::persistency::IOV::Table::eraseMany
void eraseMany(const std::string &tag, const std::vector< std::tuple< cond::Time_t, cond::Hash > > &iovs) override
Definition: IOVSchema.cc:304
cond::TimeType
TimeType
Definition: Time.h:19
cond::persistency::IOV::SINCE
Definition: IOVSchema.h:106
cond::persistency::IOV::Table::erase
void erase(const std::string &tag) override
Definition: IOVSchema.cc:311
cond::persistency::IOV::Table::eraseOne
void eraseOne(const std::string &tag, cond::Time_t since, cond::Hash payloadId) override
Definition: IOVSchema.cc:296
Exception.h
cond::Hash
std::string Hash
Definition: Types.h:43
IOVSchema.h
cond::Binary
Definition: Binary.h:15
cond::persistency::IOV::SINCE_GROUP
Definition: IOVSchema.h:110
cond::hash
Definition: Time.h:19
cond::persistency::IOV::Table::exists
bool exists() override
Definition: IOVSchema.cc:152
deleter
Definition: QcdLowPtDQM.cc:34
edmLumisInFiles.description
description
Definition: edmLumisInFiles.py:11
cond::persistency::TAG_LOG::Table::Table
Table(coral::ISchema &schema)
Definition: IOVSchema.cc:317
singleTopDQM_cfi.select
select
Definition: singleTopDQM_cfi.py:50
cond::persistency::TAG_LOG::Table::create
void create() override
Definition: IOVSchema.cc:321
data-class-funcs.q
q
Definition: data-class-funcs.py:169
cond::persistency::TAG::Table::update
void update(const std::string &name, cond::SynchronizationType synchronizationType, cond::Time_t &endOfValidity, cond::Time_t lastValidatedTime, const boost::posix_time::ptime &updateTime) override
Definition: IOVSchema.cc:120
cond::persistency::IOVSchema::m_payloadTable
PAYLOAD::Table m_payloadTable
Definition: IOVSchema.h:226
cond::persistency::TAG_LOG::Table::insert
void insert(const std::string &tag, const boost::posix_time::ptime &eventTime, const std::string &userName, const std::string &hostName, const std::string &command, const std::string &action, const std::string &userText) override
Definition: IOVSchema.cc:331
loadRecoTauTagMVAsFromPrepDB_cfi.snapshotTime
snapshotTime
Definition: loadRecoTauTagMVAsFromPrepDB_cfi.py:10
cond::persistency::TAG::Table::insert
void insert(const std::string &name, cond::TimeType timeType, const std::string &objectType, cond::SynchronizationType synchronizationType, cond::Time_t endOfValidity, const std::string &description, cond::Time_t lastValidatedTime, const boost::posix_time::ptime &insertionTime) override
Definition: IOVSchema.cc:91
cond::persistency::BulkInserter::flush
void flush()
Definition: DbCore.h:693
cond::persistency::TAG_LOG::TAG_NAME
Definition: IOVSchema.h:184
cond::persistency::TAG_LOG::EVENT_TIME
Definition: IOVSchema.h:185
cond::persistency::IOVSchema::m_tagLogTable
TAG_LOG::Table m_tagLogTable
Definition: IOVSchema.h:225
cond::persistency::TAG::MODIFICATION_TIME
Definition: IOVSchema.h:22
cond::persistency::IOVSchema::tagLogTable
ITagLogTable & tagLogTable() override
Definition: IOVSchema.cc:444
mps_check.command
list command
Definition: mps_check.py:25
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
cond::persistency::makeHash
cond::Hash makeHash(const std::string &objectType, const cond::Binary &data)
Definition: IOVSchema.cc:10
cond::Binary::copy
void copy(const std::string &source)
Definition: Binary.cc:32
EcalCondDBWriter_cfi.userName
userName
Definition: EcalCondDBWriter_cfi.py:61
end
#define end
Definition: vmac.h:39
cond::Binary::size
size_t size() const
Definition: Binary.cc:48
edmScanValgrind.buffer
buffer
Definition: edmScanValgrind.py:171
cond::persistency::TAG::END_OF_VALIDITY
Definition: IOVSchema.h:18
cond::persistency::TAG::LAST_VALIDATED_TIME
Definition: IOVSchema.h:20
cond::persistency::IOV::Table::select
size_t select(const std::string &tag, cond::Time_t lowerGroup, cond::Time_t upperGroup, const boost::posix_time::ptime &snapshotTime, std::vector< std::tuple< cond::Time_t, cond::Hash > > &iovs) override
Definition: IOVSchema.cc:183
cond::persistency::IOV::INSERTION_TIME
Definition: IOVSchema.h:108
cond::persistency::IOV::PAYLOAD_HASH
Definition: IOVSchema.h:107
cond::persistency::IPayloadTable
Definition: IDbSchema.h:53
cond::persistency::PAYLOAD::Table::Table
Table(coral::ISchema &schema)
Definition: IOVSchema.cc:343
cond::persistency::IOVSchema::create
bool create() override
Definition: IOVSchema.cc:428
cond::persistency::TableDescription::get
const coral::TableDescription & get()
Definition: DbCore.h:337
cond::SynchronizationType
SynchronizationType
Definition: Types.h:27
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
cond::persistency::TAG::Table::updateValidity
void updateValidity(const std::string &name, cond::Time_t lastValidatedTime, const boost::posix_time::ptime &updateTime) override
Definition: IOVSchema.cc:141
cond::persistency::TAG::tname
static constexpr char const * tname
Definition: IOVSchema.h:13
cond::persistency::IOVSchema::payloadTable
IPayloadTable & payloadTable() override
Definition: IOVSchema.cc:446
cond::persistency::TAG::Table::select
bool select(const std::string &name) override
Definition: IOVSchema.cc:57
writeEcalDQMStatus.since
since
Definition: writeEcalDQMStatus.py:53
cond::persistency::TAG::DESCRIPTION
Definition: IOVSchema.h:19
cond::persistency::TAG_LOG::tname
static constexpr char const * tname
Definition: IOVSchema.h:183
cond::persistency::IOV::SINCE_GROUP::group
static std::string group(unsigned long long groupSize)
Definition: IOVSchema.h:115
cond::persistency::PAYLOAD::Table::create
void create() override
Definition: IOVSchema.cc:347
cond::persistency::PAYLOAD::Table::exists
bool exists() override
Definition: IOVSchema.cc:345
cond::persistency::IOV::Table::insertMany
void insertMany(const std::string &tag, const std::vector< std::tuple< cond::Time_t, cond::Hash, boost::posix_time::ptime > > &iovs) override
Definition: IOVSchema.cc:287
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
cond::persistency::TAG::Table::exists
bool exists() override
cond::persistency::PAYLOAD::HASH
Definition: IOVSchema.h:70
cond
Definition: plugin.cc:23
cond::persistency::UpdateBuffer
Definition: DbCore.h:601
cond::persistency::IOV::Table::getLastIov
bool getLastIov(const std::string &tag, const boost::posix_time::ptime &snapshotTime, cond::Time_t &since, cond::Hash &hash) override
Definition: IOVSchema.cc:209
cond::persistency::IOV::Table::insertOne
void insertOne(const std::string &tag, cond::Time_t since, cond::Hash payloadHash, const boost::posix_time::ptime &insertTime) override
Definition: IOVSchema.cc:278
cond::persistency::IOV::tname
static constexpr char const * tname
Definition: IOVSchema.h:104
q1
double q1[4]
Definition: TauolaWrapper.h:87
cond::persistency::BulkInserter::insert
void insert(const P &params)
Definition: DbCore.h:686
EcalCondDBWriter_cfi.hostName
hostName
Definition: EcalCondDBWriter_cfi.py:59
cond::persistency::TAG::Table::getMetadata
bool getMetadata(const std::string &name, std::string &description, boost::posix_time::ptime &insertionTime, boost::posix_time::ptime &modificationTime) override
Definition: IOVSchema.cc:80
cond::persistency::TableDescription::setPrimaryKey
void setPrimaryKey()
Definition: DbCore.h:314
cond::persistency::PAYLOAD::Table::insertIfNew
cond::Hash insertIfNew(const std::string &objectType, const cond::Binary &payloadData, const cond::Binary &streamerInfoData, const boost::posix_time::ptime &insertionTime) override
Definition: IOVSchema.cc:403
cond::persistency::IOV::Table::getSize
bool getSize(const std::string &tag, const boost::posix_time::ptime &snapshotTime, size_t &size) override
Definition: IOVSchema.cc:229
cond::Time_t
unsigned long long Time_t
Definition: Time.h:14
cond::time::MAX_VAL
const Time_t MAX_VAL(std::numeric_limits< Time_t >::max())
writedatasetfile.action
action
Definition: writedatasetfile.py:8
cond::persistency::IOV::TAG_NAME
Definition: IOVSchema.h:105
cond::persistency::IOV::Table::getGroups
size_t getGroups(const std::string &tag, const boost::posix_time::ptime &snapshotTime, unsigned long long groupSize, std::vector< cond::Time_t > &groups) override
Definition: IOVSchema.cc:166
cond::persistency::ITagTable
Definition: IDbSchema.h:15
cond::persistency::DeleteBuffer
Definition: DbCore.h:652
cond::persistency::BulkDeleter
Definition: DbCore.h:708
cond::persistency::TAG_LOG::ACTION
Definition: IOVSchema.h:189
cond::persistency::RowBuffer
Definition: DbCore.h:174
cond::persistency::TAG::OBJECT_TYPE
Definition: IOVSchema.h:16
cond::persistency::IOVSchema::IOVSchema
IOVSchema(coral::ISchema &schema)
Definition: IOVSchema.cc:415
cond::persistency::ITagLogTable
Definition: IDbSchema.h:141
cond::persistency::PAYLOAD::Table::select
bool select(const cond::Hash &payloadHash)
Definition: IOVSchema.cc:357
cond::persistency::RowBuffer::get
const coral::AttributeList & get() const
Definition: DbCore.h:200
cond::persistency::TableDescription
Definition: DbCore.h:285
cond::persistency::IOV::INSERTION_TIME::size
static constexpr size_t size
Definition: IOVSchema.h:108
cond::persistency::IOVSchema::iovTable
IIOVTable & iovTable() override
Definition: IOVSchema.cc:442
cond::persistency::TAG_LOG::Table::exists
bool exists() override
Definition: IOVSchema.cc:319
cond::persistency::TAG::Table::create
void create() override
Definition: IOVSchema.cc:39
cond::persistency::IIOVTable
Definition: IDbSchema.h:69
edm::eventsetup::heterocontainer::insert
bool insert(Storage &iStorage, ItemType *iItem, const IdTag &iIdTag)
Definition: HCMethods.h:50
cond::persistency::IOV::Table::getRange
bool getRange(const std::string &tag, cond::Time_t begin, cond::Time_t end, const boost::posix_time::ptime &snapshotTime, std::vector< std::tuple< cond::Time_t, cond::Hash > > &iovs) override
Definition: IOVSchema.cc:242
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
cond::persistency::Query
Definition: DbCore.h:403
cond::persistency::BulkInserter
Definition: DbCore.h:676
cond::persistency::throwException
void throwException(const std::string &message, const std::string &methodName)
Definition: Exception.cc:12
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
cond::persistency::IOVSchema::tagTable
ITagTable & tagTable() override
Definition: IOVSchema.cc:440
cond::persistency::TAG::INSERTION_TIME
Definition: IOVSchema.h:21
cond::persistency::IOVSchema::m_iovTable
IOV::Table m_iovTable
Definition: IOVSchema.h:224
cond::persistency::TAG::SYNCHRONIZATION
Definition: IOVSchema.h:17
cond::persistency::PAYLOAD::tname
static constexpr char const * tname
Definition: IOVSchema.h:67
cond::persistency::TableDescription::setForeignKey
void setForeignKey(const std::string &name)
Definition: DbCore.h:332
cond::persistency::PAYLOAD::Table::getType
bool getType(const cond::Hash &payloadHash, std::string &objectType) override
Definition: IOVSchema.cc:366
BeamSplash_cfg.version
version
Definition: BeamSplash_cfg.py:45
cond::persistency::TAG::TIME_TYPE
Definition: IOVSchema.h:15
begin
#define begin
Definition: vmac.h:32
cond::persistency::TAG::NAME
Definition: IOVSchema.h:14
cond::persistency::IOV::Table::create
void create() override
Definition: IOVSchema.cc:154
cond::persistency::TAG::Table::Table
Table(coral::ISchema &schema)
Definition: IOVSchema.cc:35
SiStripMonitorCluster_cfi.q0
q0
Definition: SiStripMonitorCluster_cfi.py:241
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443