diff options
| author | silinoron <none@none> | 2010-09-18 19:49:17 -0700 |
|---|---|---|
| committer | silinoron <none@none> | 2010-09-18 19:49:17 -0700 |
| commit | 65a50ed3a2736282f5a7e5df1339bca6f6e1ca3e (patch) | |
| tree | 06b3a4e5597671e8bcf2b4dc841344d6725e223e /src/server/shared/Database/Implementation | |
| parent | 383af00e2b95fc343512421f62bcceb9f5b1ff6b (diff) | |
Core/DBLayer: Some more prepared statements in ObjectMgr.
Core/ObjectMgr: Some additional cleanup.
--HG--
branch : trunk
Diffstat (limited to 'src/server/shared/Database/Implementation')
4 files changed, 19 insertions, 0 deletions
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp index 176ac45ae1a..02825bfc6eb 100644 --- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp +++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp @@ -31,6 +31,15 @@ bool CharacterDatabaseConnection::Open(const std::string& infoString) */ PrepareStatement(CHAR_DEL_QUEST_POOL_SAVE, "DELETE FROM pool_quest_save WHERE pool_id = ?"); PrepareStatement(CHAR_ADD_QUEST_POOL_SAVE, "INSERT INTO pool_quest_save (pool_id, quest_id) VALUES (?, ?)"); + PrepareStatement(CHAR_DEL_OLD_GUILD_EVENT_LOGS, "DELETE FROM guild_eventlog WHERE LogGuid > '?'"); + PrepareStatement(CHAR_DEL_OLD_GUILD_BANK_EVENT_LOGS, "DELETE FROM guild_bank_eventlog WHERE LogGuid > '?'"); + PrepareStatement(CHAR_DEL_NONEXISTENT_GUILD_BANK_ITEM, "DELETE FROM guild_bank_item WHERE guildid='?' AND TabId='?' AND SlotId='?'"); + PrepareStatement(CHAR_DEL_NONEXISTENT_CHARACTER_GROUP_MEMBERS, "DELETE FROM group_member WHERE NOT EXISTS (SELECT guid FROM characters WHERE guid=memberGuid)"); + PrepareStatement(CHAR_DEL_LEADERLESS_GROUPS, "DELETE FROM groups WHERE NOT EXISTS (SELECT guid FROM characters WHERE guid=leaderGuid)"); + PrepareStatement(CHAR_DEL_TINY_GROUPS, "DELETE FROM groups WHERE guid NOT IN (SELECT guid FROM group_member GROUP BY guid HAVING COUNT(guid) > 1)"); + PrepareStatement(CHAR_DEL_NONEXISTENT_GROUP_MEMBERS, "DELETE FROM group_member WHERE guid NOT IN (SELECT guid FROM groups)"); + PrepareStatement(CHAR_DEL_NONEXISTENT_GROUP_INSTANCES, "DELETE FROM group_instance WHERE guid NOT IN (SELECT guid FROM groups)"); + return true; } diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/shared/Database/Implementation/CharacterDatabase.h index cea2dfef416..0807e3ebc11 100644 --- a/src/server/shared/Database/Implementation/CharacterDatabase.h +++ b/src/server/shared/Database/Implementation/CharacterDatabase.h @@ -45,6 +45,14 @@ enum CharacterDatabaseStatements CHAR_DEL_QUEST_POOL_SAVE, CHAR_ADD_QUEST_POOL_SAVE, + CHAR_DEL_OLD_GUILD_EVENT_LOGS, + CHAR_DEL_OLD_GUILD_BANK_EVENT_LOGS, + CHAR_DEL_NONEXISTENT_GUILD_BANK_ITEM, + CHAR_DEL_NONEXISTENT_CHARACTER_GROUP_MEMBERS, + CHAR_DEL_LEADERLESS_GROUPS, + CHAR_DEL_TINY_GROUPS, + CHAR_DEL_NONEXISTENT_GROUP_MEMBERS, + CHAR_DEL_NONEXISTENT_GROUP_INSTANCES, MAX_CHARACTERDATABASE_STATEMENTS, }; diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/shared/Database/Implementation/WorldDatabase.cpp index b018f921b44..2db9e3d9dc4 100644 --- a/src/server/shared/Database/Implementation/WorldDatabase.cpp +++ b/src/server/shared/Database/Implementation/WorldDatabase.cpp @@ -35,6 +35,7 @@ bool WorldDatabaseConnection::Open(const std::string& infoString) PrepareStatement(WORLD_LOAD_QUEST_POOLS, "SELECT entry, pool_entry FROM pool_quest"); PrepareStatement(WORLD_DEL_CRELINKED_RESPAWN, "DELETE FROM creature_linked_respawn WHERE guid = ?"); PrepareStatement(WORLD_REP_CRELINKED_RESPAWN, "REPLACE INTO creature_linked_respawn (guid,linkedGuid) VALUES (?, ?)"); + PrepareStatement(WORLD_DEL_GAMEOBJECT_RESPAWN_TIMES, "DELETE FROM gameobject_respawn WHERE respawntime <= UNIX_TIMESTAMP(NOW())"); return true; } diff --git a/src/server/shared/Database/Implementation/WorldDatabase.h b/src/server/shared/Database/Implementation/WorldDatabase.h index e810a6a07f9..379cca0b517 100644 --- a/src/server/shared/Database/Implementation/WorldDatabase.h +++ b/src/server/shared/Database/Implementation/WorldDatabase.h @@ -48,6 +48,7 @@ enum WorldDatabaseStatements WORLD_LOAD_QUEST_POOLS, WORLD_DEL_CRELINKED_RESPAWN, WORLD_REP_CRELINKED_RESPAWN, + WORLD_DEL_GAMEOBJECT_RESPAWN_TIMES, MAX_WORLDDATABASE_STATEMENTS, }; |
