From e0d45f6dff3afe5caa38c48646f23d966c8c03a1 Mon Sep 17 00:00:00 2001 From: Shauren Date: Fri, 15 Dec 2023 12:06:59 +0100 Subject: Core/Database: Replace DatabaseWorker with asio io_context (cherry picked from commit d958bfd0f32bfe798809b72c1b51c990edfe141c) --- src/server/database/Database/PreparedStatement.cpp | 36 ++++++---------------- 1 file changed, 10 insertions(+), 26 deletions(-) (limited to 'src/server/database/Database/PreparedStatement.cpp') diff --git a/src/server/database/Database/PreparedStatement.cpp b/src/server/database/Database/PreparedStatement.cpp index b806fb2ee48..fe20f1c0a7e 100644 --- a/src/server/database/Database/PreparedStatement.cpp +++ b/src/server/database/Database/PreparedStatement.cpp @@ -118,37 +118,21 @@ void PreparedStatementBase::setNull(const uint8 index) } //- Execution -PreparedStatementTask::PreparedStatementTask(PreparedStatementBase* stmt, bool async) : -m_stmt(stmt), m_result(nullptr) +PreparedQueryResult PreparedStatementTask::Query(MySQLConnection* conn, PreparedStatementBase* stmt) { - m_has_result = async; // If it's async, then there's a result - if (async) - m_result = new PreparedQueryResultPromise(); -} + PreparedResultSet* result = conn->Query(stmt); + if (!result || !result->GetRowCount()) + { + delete result; + result = nullptr; + } -PreparedStatementTask::~PreparedStatementTask() -{ - delete m_stmt; - if (m_has_result && m_result != nullptr) - delete m_result; + return PreparedQueryResult(result); } -bool PreparedStatementTask::Execute() +bool PreparedStatementTask::Execute(MySQLConnection* conn, PreparedStatementBase* stmt) { - if (m_has_result) - { - PreparedResultSet* result = m_conn->Query(m_stmt); - if (!result || !result->GetRowCount()) - { - delete result; - m_result->set_value(PreparedQueryResult(nullptr)); - return false; - } - m_result->set_value(PreparedQueryResult(result)); - return true; - } - - return m_conn->Execute(m_stmt); + return conn->Execute(stmt); } template -- cgit v1.2.3