From cab508b4c8c792dcd036fc808628ab447b3159c2 Mon Sep 17 00:00:00 2001 From: Venugh Date: Tue, 27 Dec 2011 00:56:42 +0100 Subject: Convert a Execute to a PreparedStatement. --- src/server/game/World/World.cpp | 4 +++- src/server/shared/Database/Implementation/CharacterDatabase.cpp | 1 + src/server/shared/Database/Implementation/CharacterDatabase.h | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 9ad847615d1..22dee959955 100755 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2717,7 +2717,9 @@ void World::SetPlayerSecurityLimit(AccountTypes _sec) void World::ResetWeeklyQuests() { - CharacterDatabase.Execute("DELETE FROM character_queststatus_weekly"); + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_STATUS_WEEKLY); + CharacterDatabase.Execute(stmt); + for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr) if (itr->second->GetPlayer()) itr->second->GetPlayer()->ResetWeeklyQuestStatus(); diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp index fb43a7286dd..af5e6f26636 100755 --- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp @@ -45,6 +45,7 @@ void CharacterDatabaseConnection::DoPrepareStatements() PREPARE_STATEMENT(CHAR_GET_FREE_NAME, "SELECT guid, name FROM characters WHERE guid = ? AND account = ? AND (at_login & ?) = ? AND NOT EXISTS (SELECT NULL FROM characters WHERE name = ?)", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_GET_GUID_RACE_ACC_BY_NAME, "SELECT guid, race, account FROM characters WHERE name = ?", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_DEL_QUEST_STATUS_DAILY, "DELETE FROM character_queststatus_daily", CONNECTION_ASYNC); + PREPARE_STATEMENT(CHAR_DEL_QUEST_STATUS_WEEKLY, "DELETE FROM character_queststatus_weekly", CONNECTION_ASYNC); // Start LoginQueryHolder content PREPARE_STATEMENT(CHAR_LOAD_PLAYER, "SELECT guid, account, name, race, class, gender, level, xp, money, playerBytes, playerBytes2, playerFlags, " diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h index 691b1f61706..7c773ec2985 100755 --- a/src/server/shared/Database/Implementation/CharacterDatabase.h +++ b/src/server/shared/Database/Implementation/CharacterDatabase.h @@ -65,6 +65,7 @@ enum CharacterDatabaseStatements CHAR_GET_FREE_NAME, CHAR_GET_GUID_RACE_ACC_BY_NAME, CHAR_DEL_QUEST_STATUS_DAILY, + CHAR_DEL_QUEST_STATUS_WEEKLY, CHAR_LOAD_PLAYER, CHAR_LOAD_PLAYER_GROUP, CHAR_LOAD_PLAYER_BOUNDINSTANCES, -- cgit v1.2.3 From 882ebe2b8ec9c4541b7ca7689f0ac406c441faee Mon Sep 17 00:00:00 2001 From: Venugh Date: Tue, 27 Dec 2011 01:04:12 +0100 Subject: Core/World: Convert Execute to PreparedStatement from Battleground random. --- src/server/game/World/World.cpp | 5 ++++- src/server/shared/Database/Implementation/CharacterDatabase.cpp | 1 + src/server/shared/Database/Implementation/CharacterDatabase.h | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 22dee959955..ea3f86c81b3 100755 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2734,7 +2734,10 @@ void World::ResetWeeklyQuests() void World::ResetRandomBG() { sLog->outDetail("Random BG status reset for all characters."); - CharacterDatabase.Execute("DELETE FROM character_battleground_random"); + + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_BATTLEGROUND_RANDOM); + CharacterDatabase.Execute(stmt); + for (SessionMap::const_iterator itr = m_sessions.begin(); itr != m_sessions.end(); ++itr) if (itr->second->GetPlayer()) itr->second->GetPlayer()->SetRandomWinner(false); diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp index af5e6f26636..28f7f95b319 100755 --- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp @@ -46,6 +46,7 @@ void CharacterDatabaseConnection::DoPrepareStatements() PREPARE_STATEMENT(CHAR_GET_GUID_RACE_ACC_BY_NAME, "SELECT guid, race, account FROM characters WHERE name = ?", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_DEL_QUEST_STATUS_DAILY, "DELETE FROM character_queststatus_daily", CONNECTION_ASYNC); PREPARE_STATEMENT(CHAR_DEL_QUEST_STATUS_WEEKLY, "DELETE FROM character_queststatus_weekly", CONNECTION_ASYNC); + PREPARE_STATEMENT(CHAR_DEL_BATTLEGROUND_RANDOM, "DELETE FROM character_battleground_random", CONNECTION_ASYNC); // Start LoginQueryHolder content PREPARE_STATEMENT(CHAR_LOAD_PLAYER, "SELECT guid, account, name, race, class, gender, level, xp, money, playerBytes, playerBytes2, playerFlags, " diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h index 7c773ec2985..eea02ee60b9 100755 --- a/src/server/shared/Database/Implementation/CharacterDatabase.h +++ b/src/server/shared/Database/Implementation/CharacterDatabase.h @@ -66,6 +66,7 @@ enum CharacterDatabaseStatements CHAR_GET_GUID_RACE_ACC_BY_NAME, CHAR_DEL_QUEST_STATUS_DAILY, CHAR_DEL_QUEST_STATUS_WEEKLY, + CHAR_DEL_BATTLEGROUND_RANDOM, CHAR_LOAD_PLAYER, CHAR_LOAD_PLAYER_GROUP, CHAR_LOAD_PLAYER_BOUNDINSTANCES, -- cgit v1.2.3 From b4ecd85da46302ca05d9779537a3a709739bcdd9 Mon Sep 17 00:00:00 2001 From: leak Date: Tue, 27 Dec 2011 16:31:10 +0100 Subject: Core/DBLayer: Convert PExecute() queries to prepared statements No. 2 (fixup) --- src/server/game/Server/WorldSocket.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index e0ba9eaaaa4..58f62396ac9 100755 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -992,12 +992,12 @@ int WorldSocket::HandleAuthSession (WorldPacket& recvPacket) // Update the last_ip in the database - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(LOGIN_UPDATE_LAST_IP); + PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_UPDATE_LAST_IP); stmt->setString(0, address); stmt->setString(1, account); - CharacterDatabase.Execute(stmt); + LoginDatabase.Execute(stmt); // NOTE ATM the socket is single-threaded, have this in mind ... ACE_NEW_RETURN (m_Session, WorldSession (id, this, AccountTypes(security), expansion, mutetime, locale, recruiter, isRecruiter), -1); -- cgit v1.2.3