diff options
| author | leak <leakzx@googlemail.com> | 2011-12-25 02:21:46 +0100 |
|---|---|---|
| committer | leak <leakzx@googlemail.com> | 2011-12-25 02:22:10 +0100 |
| commit | 64a2a29506591f09eeaef86ecf839e49a07e69d3 (patch) | |
| tree | b077c53895b7fc985f764535c260a6c42e297891 /src/server/game | |
| parent | 949093d36d43893843a150dfc52f03ff265b0dc7 (diff) | |
Core/DBLayer: Convert Execute() queries to prepared statements
Diffstat (limited to 'src/server/game')
| -rwxr-xr-x | src/server/game/Accounts/AccountMgr.cpp | 12 | ||||
| -rwxr-xr-x | src/server/game/Chat/Commands/Level3.cpp | 6 | ||||
| -rwxr-xr-x | src/server/game/World/World.cpp | 5 |
3 files changed, 18 insertions, 5 deletions
diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp index ebe9a9af36b..9ae80ca2919 100755 --- a/src/server/game/Accounts/AccountMgr.cpp +++ b/src/server/game/Accounts/AccountMgr.cpp @@ -37,8 +37,16 @@ AccountOpResult CreateAccount(std::string username, std::string password) if (GetId(username)) return AOR_NAME_ALREDY_EXIST; // username does already exist - LoginDatabase.PExecute("INSERT INTO account(username, sha_pass_hash, joindate) VALUES('%s', '%s', NOW())", username.c_str(), CalculateShaPassHash(username, password).c_str()); - LoginDatabase.Execute("INSERT INTO realmcharacters (realmid, acctid, numchars) SELECT realmlist.id, account.id, 0 FROM realmlist, account LEFT JOIN realmcharacters ON acctid=account.id WHERE acctid IS NULL"); + PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_ADD_ACCOUNT); + + stmt->setString(0, username); + stmt->setString(1, CalculateShaPassHash(username, password)); + + LoginDatabase.Execute(stmt); + + stmt = LoginDatabase.GetPreparedStatement(LOGIN_ADD_REALM_CHARS); + + LoginDatabase.Execute(stmt); return AOR_OK; // everything's fine } diff --git a/src/server/game/Chat/Commands/Level3.cpp b/src/server/game/Chat/Commands/Level3.cpp index f4f5892b587..43aa100e4b3 100755 --- a/src/server/game/Chat/Commands/Level3.cpp +++ b/src/server/game/Chat/Commands/Level3.cpp @@ -3280,7 +3280,8 @@ bool ChatHandler::HandleBanListCharacterCommand(const char *args) bool ChatHandler::HandleBanListAccountCommand(const char *args) { - LoginDatabase.Execute("DELETE FROM ip_banned WHERE unbandate <= UNIX_TIMESTAMP() AND unbandate<>bandate"); + PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_DEL_OLD_BANS); + LoginDatabase.Execute(stmt); char* cFilter = strtok((char*)args, " "); std::string filter = cFilter ? cFilter : ""; @@ -3385,7 +3386,8 @@ bool ChatHandler::HandleBanListHelper(QueryResult result) bool ChatHandler::HandleBanListIPCommand(const char *args) { - LoginDatabase.Execute("DELETE FROM ip_banned WHERE unbandate <= UNIX_TIMESTAMP() AND unbandate<>bandate"); + PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_DEL_OLD_IP_BANS); + LoginDatabase.Execute(stmt); char* cFilter = strtok((char*)args, " "); std::string filter = cFilter ? cFilter : ""; diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index a139c50fb3e..9ad847615d1 100755 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2687,7 +2687,10 @@ void World::InitRandomBGResetTime() void World::ResetDailyQuests() { sLog->outDetail("Daily quests reset for all characters."); - CharacterDatabase.Execute("DELETE FROM character_queststatus_daily"); + + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_DAILY); + CharacterDatabase.Execute(stmt); + for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr) if (itr->second->GetPlayer()) itr->second->GetPlayer()->ResetDailyQuestStatus(); |
