7 namespace persistency {
31 std::vector<std::tuple<cond::Time_t,cond::Hash,boost::posix_time::ptime> >
iovBuffer;
50 const boost::posix_time::ptime& creationTime ):
55 m_data->payloadType = payloadObjectType;
57 m_data->creationTime = creationTime;
63 m_session( rhs.m_session ){
139 boost::posix_time::ptime
now = boost::posix_time::microsec_clock::universal_time();
140 insert( since, payloadHash, now, checkType );
146 m_data->iovBuffer.push_back( std::tie( since, payloadHash, insertionTime ) );
150 bool iovSorter(
const std::tuple<cond::Time_t,cond::Hash,boost::posix_time::ptime>&
f,
const std::tuple<cond::Time_t,cond::Hash,boost::posix_time::ptime>&
s ){
151 return std::get<0>(
f) < std::get<0>(s);
158 if(
m_data->description.empty() )
throwException(
"A non-empty description string is mandatory.",
"IOVEditor::flush" );
159 if(
m_data->validationMode )
m_session->iovSchema().tagTable().setValidationMode();
168 m_data->lastValidatedTime, operationTime );
173 if(
m_data->iovBuffer.size() ) {
184 std::stringstream
msg;
185 msg <<
"Can't insert iov since "<<l<<
" on the tag "<<
m_data->tag<<
": last since is "<<last<<
193 m_data->iovBuffer.clear();
200 return flush( boost::posix_time::microsec_clock::universal_time() );
std::string synchronizationTypeNames(SynchronizationType type)
void checkTransaction(const std::string &ctx)
cond::Time_t lastValidatedTime
void load(const std::string &tag)
void setDescription(const std::string &description)
void setLastValidatedTime(cond::Time_t time)
std::shared_ptr< SessionImpl > m_session
std::string description() const
unsigned long long Time_t
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
IOVEditor & operator=(const IOVEditor &rhs)
cond::SynchronizationType synchronizationType() const
cond::Time_t endOfValidity() const
void insert(cond::Time_t since, const cond::Hash &payloadHash, bool checkType=false)
cond::Time_t endOfValidity
void throwException(std::string const &message, std::string const &methodName)
std::shared_ptr< IOVEditorData > m_data
bool iovSorter(const std::tuple< cond::Time_t, cond::Hash, boost::posix_time::ptime > &f, const std::tuple< cond::Time_t, cond::Hash, boost::posix_time::ptime > &s)
cond::TimeType timeType() const
boost::posix_time::ptime creationTime
cond::Time_t lastValidatedTime() const
cond::SynchronizationType synchronizationType
std::vector< std::tuple< cond::Time_t, cond::Hash, boost::posix_time::ptime > > iovBuffer
void setEndOfValidity(cond::Time_t validity)
std::string payloadType() const
const Time_t MAX_VAL(std::numeric_limits< Time_t >::max())
void throwException(const std::string &message, const std::string &methodName)