aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Database/Implementation
diff options
context:
space:
mode:
authorMachiavelli <none@none>2010-09-03 01:00:49 +0200
committerMachiavelli <none@none>2010-09-03 01:00:49 +0200
commit7982cc0f7d99d8cc3548dc9e8c600608a54368ec (patch)
treee64bb59c7857a27edf29beac4c7c1a0d78dfcab9 /src/server/shared/Database/Implementation
parent2c1c391597f9334705198ca965424b5a791df6ba (diff)
Core/DBLayer:
- A few prepared statement implementations in authsocket as example. - Add an ASSERT in MySQLConnection::Execute(PreparedStatement*) to catch faulty created statements --HG-- branch : trunk
Diffstat (limited to 'src/server/shared/Database/Implementation')
-rw-r--r--src/server/shared/Database/Implementation/LoginDatabase.cpp9
-rw-r--r--src/server/shared/Database/Implementation/LoginDatabase.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/src/server/shared/Database/Implementation/LoginDatabase.cpp b/src/server/shared/Database/Implementation/LoginDatabase.cpp
index ccdffc2954d..46930436496 100644
--- a/src/server/shared/Database/Implementation/LoginDatabase.cpp
+++ b/src/server/shared/Database/Implementation/LoginDatabase.cpp
@@ -20,11 +20,18 @@
bool LoginDatabaseConnection::Open(const std::string& infoString)
{
+ if (!MySQLConnection::Open(infoString))
+ return false;
+
+ m_stmts.resize(MAX_LOGINDATABASE_STATEMENTS);
+
/*
##################################
LOAD YOUR PREPARED STATEMENTS HERE
##################################
*/
+ PrepareStatement(LOGIN_SET_VS, "UPDATE account SET v = ?, s = ? WHERE username = ?");
+ PrepareStatement(LOGIN_SET_LOGONPROOF, "UPDATE account SET sessionkey = ?, last_ip = ?, last_login = NOW(), locale = ?, failed_logins = 0 WHERE username = ?");
- return MySQLConnection::Open(infoString);
+ return true;
}
diff --git a/src/server/shared/Database/Implementation/LoginDatabase.h b/src/server/shared/Database/Implementation/LoginDatabase.h
index 6ad514774dd..dce347ad22e 100644
--- a/src/server/shared/Database/Implementation/LoginDatabase.h
+++ b/src/server/shared/Database/Implementation/LoginDatabase.h
@@ -37,6 +37,8 @@ typedef DatabaseWorkerPool<LoginDatabaseConnection> LoginDatabaseWorkerPool;
enum LoginDatabaseStatements
{
+ LOGIN_SET_VS,
+ LOGIN_SET_LOGONPROOF,
MAX_LOGINDATABASE_STATEMENTS,
};