diff options
author | Shauren <none@none> | 2010-09-20 18:20:40 +0200 |
---|---|---|
committer | Shauren <none@none> | 2010-09-20 18:20:40 +0200 |
commit | a5099763691f2d4d80de7db557f22b024b717cbd (patch) | |
tree | 94bb4e7851cfb978e6dcbc96b9e94899877b71c1 /src/server/shared/Database/QueryHolder.cpp | |
parent | cd40ab6776fcc2cf90ec4220d23962b58f0bb18e (diff) |
Core/DBLayer: Converted player login queries into prepared statements
Core/DBLayer: Added missing implementation for SQLQueryHolder::SetPreparedQuery
--HG--
branch : trunk
Diffstat (limited to 'src/server/shared/Database/QueryHolder.cpp')
-rw-r--r-- | src/server/shared/Database/QueryHolder.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
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 |