21 writer_ = factory->create(recordType +
"@Writer");
23 throw cond::Exception(
"DataWriter: could not create WriterProxy with name " + recordType +
"@Writer");
26 <<
"Created new " <<
typeid(
writer_).
name() <<
" | address " <<
writer_.get() <<
" | rcd " << recordType;
36 throw cond::Exception(
"DataWriter: PoolDBOutputService not available.");
43 auto& writerRef = *
writer_.get();
52 if (
writer.get() ==
nullptr) {
53 throw cond::Exception(
"DataWriter: could not create WriterProxy with name " + recordType +
"@Writer");
59 throw cond::Exception(
"DataWriter: PoolDBOutputService not available.");
75 auto& writerRef = *
writer_.get();
87 throw cond::Exception(
"DataWriter: PoolDBOutputService not available.");
92 if (not
session.transaction().isActive())
93 session.transaction().start(
false);
96 std::shared_ptr<L1TriggerKeyListExt> pointer(keyList);
103 session.transaction().commit();
110 bool logTransactions) {
115 throw cond::Exception(
"DataWriter: PoolDBOutputService not available.");
118 bool iovUpdated =
true;
151 throw cond::Exception(
"DataWriter: PoolDBOutputService not available.");
164 if (iP !=
iovs.end()) {
167 session.transaction().commit();
174 throw cond::Exception(
"DataWriter: PoolDBOutputService not available.");
179 return tagInfo.lastInterval.payloadId;
184 if (keyListToken.empty()) {
persistency::Exception Exception
void readObject(const std::string &payloadToken, T &outputObject)
Log< level::Info, true > LogVerbatim
bool fillLastTriggerKeyList(L1TriggerKeyListExt &output)
cond::Time_t beginOfTime() const
std::string lastPayloadToken(const std::string &recordName)
void writeKeyList(L1TriggerKeyListExt *keyList, edm::RunNumber_t sinceRun=0, bool logTransactions=false)
std::string tag(const std::string &recordName)
bool updateIOV(const std::string &esRecordName, const std::string &payloadToken, edm::RunNumber_t sinceRun, bool logTransactions=false)
bool isNewTagRequest(const std::string &recordName)
std::string payloadToken(const std::string &recordName, edm::RunNumber_t runNumber)
std::unique_ptr< WriterProxy > WriterProxyPtr
bool appendSinceTime(const std::string &payloadId, cond::Time_t sinceTime, const std::string &recordName)
void createNewIOV(const std::string &firstPayloadId, cond::Time_t firstSinceTime, const std::string &recordName)
std::string writePayload(const edm::EventSetup &setup)
bool tagInfo(const std::string &recordName, cond::TagInfo_t &result)
cond::persistency::Session session() const