mirror of https://github.com/Icinga/icinga2.git
parent
c7c49d7219
commit
316eee799e
|
@ -132,8 +132,8 @@ void IdoMysqlConnection::TxTimerHandler(void)
|
||||||
|
|
||||||
void IdoMysqlConnection::NewTransaction(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::InternalNewTransaction, this));
|
||||||
|
m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::FinishAsyncQueries, this, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
void IdoMysqlConnection::InternalNewTransaction(void)
|
void IdoMysqlConnection::InternalNewTransaction(void)
|
||||||
|
@ -143,8 +143,8 @@ void IdoMysqlConnection::InternalNewTransaction(void)
|
||||||
if (!GetConnected())
|
if (!GetConnected())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Query("COMMIT");
|
AsyncQuery("COMMIT");
|
||||||
Query("BEGIN");
|
AsyncQuery("BEGIN");
|
||||||
}
|
}
|
||||||
|
|
||||||
void IdoMysqlConnection::ReconnectTimerHandler(void)
|
void IdoMysqlConnection::ReconnectTimerHandler(void)
|
||||||
|
@ -382,7 +382,11 @@ void IdoMysqlConnection::AsyncQuery(const String& query, const boost::function<v
|
||||||
aq.Query = query;
|
aq.Query = query;
|
||||||
aq.Callback = callback;
|
aq.Callback = callback;
|
||||||
m_AsyncQueries.push_back(aq);
|
m_AsyncQueries.push_back(aq);
|
||||||
m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::FinishAsyncQueries, this, false));
|
|
||||||
|
if (m_AsyncQueries.size() > 500)
|
||||||
|
FinishAsyncQueries(true);
|
||||||
|
else
|
||||||
|
m_QueryQueue.Enqueue(boost::bind(&IdoMysqlConnection::FinishAsyncQueries, this, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
void IdoMysqlConnection::FinishAsyncQueries(bool force)
|
void IdoMysqlConnection::FinishAsyncQueries(bool force)
|
||||||
|
|
Loading…
Reference in New Issue