aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2016-08-18 01:35:42 -0300
committerjoschiwald <joschiwald.trinity@gmail.com>2017-02-12 15:41:28 +0100
commit804496e2df4df0bb1a45c9c54927ca29e1464990 (patch)
tree88ec5d97bd09fffa108eace18ad2150af6c603dd /src
parente5ba8f1e4d771a0921b1be0dc1e66a2263b26a44 (diff)
Core/World: short circuit setWorldState and avoid a db query in case there's nothing to update really
(cherry picked from commit c7b8f0f773b5c5ad711ae73475a4db9f6174de81)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/World/World.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index d381a7aa029..2addacc2051 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -3431,6 +3431,9 @@ void World::setWorldState(uint32 index, uint32 value)
WorldStatesMap::const_iterator it = m_worldstates.find(index);
if (it != m_worldstates.end())
{
+ if (it->second == value)
+ return;
+
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_WORLDSTATE);
stmt->setUInt32(0, uint32(value));