]> 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)
committerGunnar Beutner <gunnar@beutner.name>
Tue, 23 Feb 2016 08:15:48 +0000 (09:15 +0100)
refs #10829

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

index b15e94e9d011670ada004435e549ee0e7ef0af67..d9dbd3355ecca1771a1978790e198587fc9abaca 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 23c5bdb1f6d1f751b384206fde5d60bf7c951a8a..56ed3a0f0e0cf9baa45beb318f355d31ab6e7ff2 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 cfe639f39db94d21762298e19758e64fb31cb89a..59806896db4c2683ae2bc9748f80d03a303adb5e 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;
                }
        }