From: Gunnar Beutner Date: Sat, 14 Mar 2015 06:58:55 +0000 (+0100) Subject: Merge COMMIT and BEGIN into the previous MySQL query X-Git-Tag: v2.4.0~829 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=316eee799e9a5c373f77774e16f74dd872b67d0a;p=icinga2 Merge COMMIT and BEGIN into the previous MySQL query refs #8738 --- diff --git a/lib/db_ido_mysql/idomysqlconnection.cpp b/lib/db_ido_mysql/idomysqlconnection.cpp index a75bef97d..af32b3db2 100644 --- a/lib/db_ido_mysql/idomysqlconnection.cpp +++ b/lib/db_ido_mysql/idomysqlconnection.cpp @@ -132,8 +132,8 @@ void IdoMysqlConnection::TxTimerHandler(void) void IdoMysqlConnection::NewTransaction(void) { - m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::FinishAsyncQueries, this, true)); m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::InternalNewTransaction, this)); + m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::FinishAsyncQueries, this, true)); } void IdoMysqlConnection::InternalNewTransaction(void) @@ -143,8 +143,8 @@ void IdoMysqlConnection::InternalNewTransaction(void) if (!GetConnected()) return; - Query("COMMIT"); - Query("BEGIN"); + AsyncQuery("COMMIT"); + AsyncQuery("BEGIN"); } void IdoMysqlConnection::ReconnectTimerHandler(void) @@ -382,7 +382,11 @@ void IdoMysqlConnection::AsyncQuery(const String& query, const boost::function 500) + FinishAsyncQueries(true); + else + m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::FinishAsyncQueries, this, false)); } void IdoMysqlConnection::FinishAsyncQueries(bool force)