]> granicus.if.org Git - icinga2/commitdiff
Clean up the FinishAsyncQueries code a bit
authorGunnar Beutner <gunnar@beutner.name>
Mon, 14 Dec 2015 09:33:43 +0000 (10:33 +0100)
committerGunnar Beutner <gunnar@beutner.name>
Tue, 23 Feb 2016 08:09:06 +0000 (09:09 +0100)
refs #8714

lib/db_ido/dbevents.cpp
lib/db_ido_mysql/idomysqlconnection.cpp
lib/db_ido_mysql/idomysqlconnection.hpp

index 046d2a48c4af7b9d761ce667bab257dc46d6985f..49291222d2647709a42edd018ecbc9552b6d1b50 100644 (file)
@@ -117,8 +117,6 @@ void DbEvents::NextCheckChangedHandler(const Checkable::Ptr& checkable)
        else
                query1.WhereCriteria->Set("host_object_id", host);
 
-       query1.WhereCriteria->Set("instance_id", 0); /* DbConnection class fills in real ID */
-
        DbObject::OnQuery(query1);
 }
 
index 6906c6d421db3edd074468923075f477a4f82548..b39a1b0987e629896dbf3464d3a0b80cf8f54808 100644 (file)
@@ -139,7 +139,7 @@ void IdoMysqlConnection::TxTimerHandler(void)
 void IdoMysqlConnection::NewTransaction(void)
 {
        m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::InternalNewTransaction, this), PriorityHigh);
-       m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::FinishAsyncQueries, this, true), PriorityHigh);
+       m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::FinishAsyncQueries, this), PriorityHigh);
 }
 
 void IdoMysqlConnection::InternalNewTransaction(void)
@@ -405,18 +405,10 @@ void IdoMysqlConnection::AsyncQuery(const String& query, const boost::function<v
        aq.Query = query;
        aq.Callback = callback;
        m_AsyncQueries.push_back(aq);
-
-       if (m_AsyncQueries.size() > 500)
-               FinishAsyncQueries(true);
-       else
-               m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::FinishAsyncQueries, this, false), PriorityLow);
 }
 
-void IdoMysqlConnection::FinishAsyncQueries(bool force)
+void IdoMysqlConnection::FinishAsyncQueries(void)
 {
-       if (m_AsyncQueries.size() < 10 && !force)
-               return;
-
        std::vector<IdoAsyncQuery> queries;
        m_AsyncQueries.swap(queries);
 
@@ -515,7 +507,7 @@ IdoMysqlResult IdoMysqlConnection::Query(const String& query)
        AssertOnWorkQueue();
 
        /* finish all async queries to maintain the right order for queries */
-       FinishAsyncQueries(true);
+       FinishAsyncQueries();
 
        Log(LogDebug, "IdoMysqlConnection")
            << "Query: " << query;
index c98d73651d8d40c2d9a75c67e192e3ac7b7df071..3226f0bdef82388fa3f3f92d13260f44fbb8336d 100644 (file)
@@ -90,7 +90,7 @@ private:
        void DiscardRows(const IdoMysqlResult& result);
 
        void AsyncQuery(const String& query, const IdoAsyncCallback& callback = IdoAsyncCallback());
-       void FinishAsyncQueries(bool force = false);
+       void FinishAsyncQueries(void);
 
        bool FieldToEscapedString(const String& key, const Value& value, Value *result);
        void InternalActivateObject(const DbObject::Ptr& dbobj);