aboutsummaryrefslogtreecommitdiff
path: root/src/server/database/Database/AdhocStatement.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-12-15 12:06:59 +0100
committerfunjoker <funjoker109@gmail.com>2023-12-19 14:14:23 +0100
commite0d45f6dff3afe5caa38c48646f23d966c8c03a1 (patch)
tree6d1b9fef794cec268fa86398d9bb8957cf99f5ba /src/server/database/Database/AdhocStatement.cpp
parent575fc7fde329ab47e517357d74a47316c6413544 (diff)
Core/Database: Replace DatabaseWorker with asio io_context
(cherry picked from commit d958bfd0f32bfe798809b72c1b51c990edfe141c)
Diffstat (limited to 'src/server/database/Database/AdhocStatement.cpp')
-rw-r--r--src/server/database/Database/AdhocStatement.cpp40
1 files changed, 10 insertions, 30 deletions
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 <cstdlib>
-#include <cstring>
/*! 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);
}