From d958bfd0f32bfe798809b72c1b51c990edfe141c 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 --- src/server/database/Database/AdhocStatement.cpp | 40 +++++++------------------ 1 file changed, 10 insertions(+), 30 deletions(-) (limited to 'src/server/database/Database/AdhocStatement.cpp') diff --git a/src/server/database/Database/AdhocStatement.cpp b/src/server/database/Database/AdhocStatement.cpp index 39a753f0212..68c5e835b2c 100644 --- a/src/server/database/Database/AdhocStatement.cpp +++ b/src/server/database/Database/AdhocStatement.cpp @@ -18,41 +18,21 @@ #include "AdhocStatement.h" #include "MySQLConnection.h" #include "QueryResult.h" -#include -#include /*! Basic, ad-hoc queries. */ -BasicStatementTask::BasicStatementTask(char const* sql, bool async) : -m_result(nullptr) +QueryResult BasicStatementTask::Query(MySQLConnection* conn, char const* sql) { - m_sql = strdup(sql); - m_has_result = async; // If the operation is async, then there's a result - if (async) - m_result = new QueryResultPromise(); -} + ResultSet* result = conn->Query(sql); + if (!result || !result->GetRowCount() || !result->NextRow()) + { + delete result; + result = nullptr; + } -BasicStatementTask::~BasicStatementTask() -{ - free((void*)m_sql); - if (m_has_result && m_result != nullptr) - delete m_result; + return QueryResult(result); } -bool BasicStatementTask::Execute() +bool BasicStatementTask::Execute(MySQLConnection* conn, char const* sql) { - if (m_has_result) - { - ResultSet* result = m_conn->Query(m_sql); - if (!result || !result->GetRowCount() || !result->NextRow()) - { - delete result; - m_result->set_value(QueryResult(nullptr)); - return false; - } - - m_result->set_value(QueryResult(result)); - return true; - } - - return m_conn->Execute(m_sql); + return conn->Execute(sql); } -- cgit v1.2.3