diff --git a/lib/db_ido_mysql/idomysqlconnection.cpp b/lib/db_ido_mysql/idomysqlconnection.cpp index 4d15ae3b1..7b4153932 100644 --- a/lib/db_ido_mysql/idomysqlconnection.cpp +++ b/lib/db_ido_mysql/idomysqlconnection.cpp @@ -513,21 +513,20 @@ void IdoMysqlConnection::FinishAsyncQueries(void) ); } - std::vector resultSets; - for (std::vector::size_type i = offset; i < offset + count; i++) { const IdoAsyncQuery& aq = queries[i]; MYSQL_RES *result = mysql_store_result(&m_Connection); - int affectedRows = mysql_affected_rows(&m_Connection); + m_AffectedRows = mysql_affected_rows(&m_Connection); + IdoMysqlResult iresult; if (!result) { if (mysql_field_count(&m_Connection) > 0) { std::ostringstream msgbuf; String message = mysql_error(&m_Connection); - msgbuf << "Error \"" << message << "\" when checking field count \"" << aq.Query << "\""; + msgbuf << "Error \"" << message << "\" when executing query \"" << aq.Query << "\""; Log(LogCritical, "IdoMysqlConnection", msgbuf.str()); BOOST_THROW_EXCEPTION( @@ -539,11 +538,8 @@ void IdoMysqlConnection::FinishAsyncQueries(void) } else iresult = IdoMysqlResult(result, std::ptr_fun(mysql_free_result)); - IdoMysqlResultInfo resultInfo; - resultInfo.Result = iresult; - resultInfo.AffectedRows = affectedRows; - - resultSets.push_back(resultInfo); + if (aq.Callback) + aq.Callback(iresult); if (mysql_next_result(&m_Connection) > 0) { std::ostringstream msgbuf; @@ -559,17 +555,6 @@ void IdoMysqlConnection::FinishAsyncQueries(void) } } - for (std::vector::size_type i = offset; i < offset + count; i++) { - const IdoAsyncQuery& aq = queries[i]; - - const IdoMysqlResultInfo ri = resultSets[i - offset]; - - m_AffectedRows = ri.AffectedRows; - - if (aq.Callback) - aq.Callback(ri.Result); - } - offset += count; } } diff --git a/lib/db_ido_mysql/idomysqlconnection.hpp b/lib/db_ido_mysql/idomysqlconnection.hpp index 3be79da7e..c134cf7fe 100644 --- a/lib/db_ido_mysql/idomysqlconnection.hpp +++ b/lib/db_ido_mysql/idomysqlconnection.hpp @@ -39,12 +39,6 @@ struct IdoAsyncQuery IdoAsyncCallback Callback; }; -struct IdoMysqlResultInfo -{ - IdoMysqlResult Result; - int AffectedRows; -}; - /** * An IDO MySQL database connection. *