diff options
author | silinoron <none@none> | 2010-09-18 19:21:03 -0700 |
---|---|---|
committer | silinoron <none@none> | 2010-09-18 19:21:03 -0700 |
commit | 1e127eef730ccb7f4fd5bec0c128104d667132c4 (patch) | |
tree | d526218340e3f518de493459e531c70f1d0e7bb5 /src | |
parent | 52282986e1d0083856e3241e6327e334c940e18d (diff) |
Core/DBLayer: Change some regular statements to prepared statements.
Patch by thyros82@gmx.de.
Fixes issue #3774
--HG--
branch : trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 10 | ||||
-rw-r--r-- | src/server/shared/Database/Implementation/WorldDatabase.cpp | 2 | ||||
-rw-r--r-- | src/server/shared/Database/Implementation/WorldDatabase.h | 2 |
3 files changed, 12 insertions, 2 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 98fec0363b4..4bfb65b9989 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -1216,16 +1216,22 @@ bool ObjectMgr::SetCreatureLinkedRespawn(uint32 guid, uint32 linkedGuid) if (!linkedGuid) // we're removing the linking { mCreatureLinkedRespawnMap.erase(guid); - WorldDatabase.PExecute("DELETE FROM creature_linked_respawn WHERE guid = '%u'",guid); + PreparedStatement *stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CRELINKED_RESPAWN); + stmt->setUInt32(0, guid); + WorldDatabase.Execute(stmt); return true; } if (CheckCreatureLinkedRespawn(guid,linkedGuid)) // we add/change linking { mCreatureLinkedRespawnMap[guid] = linkedGuid; - WorldDatabase.PExecute("REPLACE INTO creature_linked_respawn (guid,linkedGuid) VALUES ('%u','%u')",guid,linkedGuid); + PreparedStatement *stmt = WorldDatabase.GetPreparedStatement(WORLD_REP_CRELINKED_RESPAWN); + stmt->setUInt32(0, guid); + stmt->setUInt64(1, linkedGuid); + WorldDatabase.Execute(stmt); return true; } + return false; } diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/shared/Database/Implementation/WorldDatabase.cpp index 9dbd8a400be..b018f921b44 100644 --- a/src/server/shared/Database/Implementation/WorldDatabase.cpp +++ b/src/server/shared/Database/Implementation/WorldDatabase.cpp @@ -33,6 +33,8 @@ bool WorldDatabaseConnection::Open(const std::string& infoString) PrepareStatement(WORLD_DEL_CRESPAWNTIME, "DELETE FROM creature_respawn WHERE guid = ? AND instance = ?"); PrepareStatement(WORLD_ADD_CRESPAWNTIME, "INSERT INTO creature_respawn VALUES (?, ?, ?)"); 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 (?, ?)"); return true; } diff --git a/src/server/shared/Database/Implementation/WorldDatabase.h b/src/server/shared/Database/Implementation/WorldDatabase.h index 7f909d0de23..e810a6a07f9 100644 --- a/src/server/shared/Database/Implementation/WorldDatabase.h +++ b/src/server/shared/Database/Implementation/WorldDatabase.h @@ -46,6 +46,8 @@ enum WorldDatabaseStatements WORLD_DEL_CRESPAWNTIME, WORLD_ADD_CRESPAWNTIME, WORLD_LOAD_QUEST_POOLS, + WORLD_DEL_CRELINKED_RESPAWN, + WORLD_REP_CRELINKED_RESPAWN, MAX_WORLDDATABASE_STATEMENTS, }; |