diff options
author | click <none@none> | 2010-11-19 15:53:14 +0100 |
---|---|---|
committer | click <none@none> | 2010-11-19 15:53:14 +0100 |
commit | 5cd39040592f526719d99b960a1a0d16499f86b4 (patch) | |
tree | ef668f219c2bfc0c56d69312f56ab8f08fe26cb5 /src/server/game/Globals/ObjectMgr.cpp | |
parent | 3e27be75014ec74efc94a8d7bcc03f2391dcc098 (diff) |
Core/DBLayer: Move tables reserved_name, gameobject_respawn and creature_respawn from WORLD database to CHARACTER database as it's content is realm-specific and should be preserved (thanks to leak for the cleanup)
*** TO PRESERVE (COPY) THE DATA CONTAINED IN THE OLD TABLES, YOU MUST FOLLOW THE FOLLOWING SQL-RECIPE (REPLACE DATABASENAMES WHERE NEEDED!) ***
-- Move creature_respawn from world to characters db
INSERT INTO `characters`.`creature_respawn` (`guid`, `respawntime`, `instance`)
SELECT `guid, `respawntime` `instance` * FROM `world`.`creature_respawn`;
-- Remove creature_respawn table from world db
DROP TABLE `world`.`creature_respawn`;
-- Move gameobject_respawn from world to characters db
INSERT INTO `characters`.`gameobject_respawn` (`guid`, `respawntime`, `instance`)
SELECT `guid`, `respawntime`, `instance` FROM `world`.`gameobject_respawn`;
-- Remove creature_respawn table from world db
DROP TABLE `world`.`gameobject_respawn`;
-- Move reserved names from world to characters db
INSERT INTO `characters`.`reserved_name` (`name`)
SELECT `name` FROM `world`.`reserved_name`;
-- Remove reserved_names table from world db
DROP TABLE `world`.`reserved_name`;
*** THE ABOVE MUST BE DONE, OR EXISTING INSTANCES WILL BE FULLY RESPAWNED - YOU HAVE BEEN WARNED ***
Closes issue 4842. Closes issue 4849.
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rwxr-xr-x | src/server/game/Globals/ObjectMgr.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 5faa13ac575..47b27d34d1b 100755 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -1814,7 +1814,7 @@ void ObjectMgr::LoadCreatureRespawnTimes() { uint32 count = 0; - QueryResult result = WorldDatabase.Query("SELECT guid,respawntime,instance FROM creature_respawn"); + QueryResult result = CharacterDatabase.Query("SELECT guid,respawntime,instance FROM creature_respawn"); if (!result) { @@ -1850,12 +1850,12 @@ void ObjectMgr::LoadCreatureRespawnTimes() void ObjectMgr::LoadGameobjectRespawnTimes() { // remove outdated data - PreparedStatement *stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_GAMEOBJECT_RESPAWN_TIMES); - WorldDatabase.Execute(stmt); + PreparedStatement *stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GAMEOBJECT_RESPAWN_TIMES); + CharacterDatabase.Execute(stmt); uint32 count = 0; - QueryResult result = WorldDatabase.Query("SELECT guid,respawntime,instance FROM gameobject_respawn"); + QueryResult result = CharacterDatabase.Query("SELECT guid,respawntime,instance FROM gameobject_respawn"); if (!result) { @@ -7518,18 +7518,18 @@ void ObjectMgr::SaveCreatureRespawnTime(uint32 loguid, uint32 instance, time_t t m_CreatureRespawnTimesMtx.release(); } - PreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CRESPAWNTIME); + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CRESPAWNTIME); stmt->setUInt32(0, loguid); stmt->setUInt32(1, instance); - WorldDatabase.Execute(stmt); + CharacterDatabase.Execute(stmt); if (t) { - stmt = WorldDatabase.GetPreparedStatement(WORLD_ADD_CRESPAWNTIME); + stmt = CharacterDatabase.GetPreparedStatement(CHAR_ADD_CRESPAWNTIME); stmt->setUInt32(0, loguid); stmt->setUInt64(1, uint64(t)); stmt->setUInt32(2, instance); - WorldDatabase.Execute(stmt); + CharacterDatabase.Execute(stmt); } } @@ -7552,9 +7552,9 @@ void ObjectMgr::SaveGORespawnTime(uint32 loguid, uint32 instance, time_t t) m_GORespawnTimesMtx.release(); } - WorldDatabase.PExecute("DELETE FROM gameobject_respawn WHERE guid = '%u' AND instance = '%u'", loguid, instance); + CharacterDatabase.PExecute("DELETE FROM gameobject_respawn WHERE guid = '%u' AND instance = '%u'", loguid, instance); if (t) - WorldDatabase.PExecute("INSERT INTO gameobject_respawn VALUES ('%u', '" UI64FMTD "', '%u')", loguid, uint64(t), instance); + CharacterDatabase.PExecute("INSERT INTO gameobject_respawn VALUES ('%u', '" UI64FMTD "', '%u')", loguid, uint64(t), instance); } void ObjectMgr::DeleteRespawnTimeForInstance(uint32 instance) @@ -7586,8 +7586,8 @@ void ObjectMgr::DeleteRespawnTimeForInstance(uint32 instance) } m_CreatureRespawnTimesMtx.release(); } - WorldDatabase.PExecute("DELETE FROM creature_respawn WHERE instance = '%u'", instance); - WorldDatabase.PExecute("DELETE FROM gameobject_respawn WHERE instance = '%u'", instance); + CharacterDatabase.PExecute("DELETE FROM creature_respawn WHERE instance = '%u'", instance); + CharacterDatabase.PExecute("DELETE FROM gameobject_respawn WHERE instance = '%u'", instance); } void ObjectMgr::DeleteGOData(uint32 guid) @@ -7725,7 +7725,7 @@ void ObjectMgr::LoadReservedPlayersNames() { m_ReservedNames.clear(); // need for reload case - QueryResult result = WorldDatabase.Query("SELECT name FROM reserved_name"); + QueryResult result = CharacterDatabase.Query("SELECT name FROM reserved_name"); uint32 count = 0; |