From a5099763691f2d4d80de7db557f22b024b717cbd Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 20 Sep 2010 18:20:40 +0200 Subject: Core/DBLayer: Converted player login queries into prepared statements Core/DBLayer: Added missing implementation for SQLQueryHolder::SetPreparedQuery --HG-- branch : trunk --- src/server/shared/Database/QueryHolder.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/server/shared/Database/QueryHolder.cpp') diff --git a/src/server/shared/Database/QueryHolder.cpp b/src/server/shared/Database/QueryHolder.cpp index e0411d242c3..26ccce3853c 100644 --- a/src/server/shared/Database/QueryHolder.cpp +++ b/src/server/shared/Database/QueryHolder.cpp @@ -64,6 +64,26 @@ bool SQLQueryHolder::SetPQuery(size_t index, const char *format, ...) return SetQuery(index, szQuery); } +bool SQLQueryHolder::SetPreparedQuery(size_t index, PreparedStatement* stmt) +{ + if (m_queries.size() <= index) + { + sLog.outError("Query index (%zu) out of range (size: %u) for prepared statement", index, (uint32)m_queries.size()); + return false; + } + + /// not executed yet, just stored (it's not called a holder for nothing) + SQLElementData element; + element.type = SQL_ELEMENT_PREPARED; + element.element.stmt = stmt; + + SQLResultSetUnion result; + result.presult = NULL; + + m_queries[index] = SQLResultPair(element, result); + return true; +} + QueryResult SQLQueryHolder::GetResult(size_t index) { // Don't call to this function if the index is of an ad-hoc statement -- cgit v1.2.3