]> granicus.if.org Git - icinga2/commitdiff
Fix duplicate key violation for downtimes
authorMichael Friedrich <michael.friedrich@netways.de>
Wed, 16 Dec 2015 12:57:29 +0000 (13:57 +0100)
committerMichael Friedrich <michael.friedrich@netways.de>
Wed, 16 Dec 2015 12:57:29 +0000 (13:57 +0100)
refs #10829

lib/db_ido/dbevents.cpp
lib/db_ido_mysql/idomysqlconnection.cpp
lib/db_ido_pgsql/idopgsqlconnection.cpp

index 1035a7e6e34fbcb9d35188fad66c56d3cd515cba..9679bc2fee064f61e47e5c6494ebf4a1a951a5ee 100644 (file)
@@ -474,7 +474,7 @@ void DbEvents::AddDowntime(const Downtime::Ptr& downtime)
 void DbEvents::AddDowntimeHistory(const Downtime::Ptr& downtime)
 {
        std::vector<DbQuery> queries;
-       AddDowntimeInternal(queries, downtime, false);
+       AddDowntimeInternal(queries, downtime, true);
        DbObject::OnMultipleQueries(queries);
 }
 
index 3a20e47ac52dd9e2029af711a6ec42563a7a7493..7df26049ecd524e78a120f29230ade38e5befb8a 100644 (file)
@@ -821,6 +821,7 @@ void IdoMysqlConnection::InternalExecuteMultipleQueries(const std::vector<DbQuer
 
                if (!CanExecuteQuery(query)) {
                        m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::InternalExecuteMultipleQueries, this, queries), query.Priority);
+                       return;
                }
        }
 
index 809ace7ca6fb5d3fcf609bb5f536bfbaabd1f7de..d9ab07be4f56f7f85b54f92184449af5dd3ec82f 100644 (file)
@@ -699,6 +699,7 @@ void IdoPgsqlConnection::InternalExecuteMultipleQueries(const std::vector<DbQuer
 
                if (!CanExecuteQuery(query)) {
                        m_QueryQueue.Enqueue(boost::bind(&IdoPgsqlConnection::InternalExecuteMultipleQueries, this, queries), query.Priority);
+                       return;
                }
        }