aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2016-08-18 01:35:42 -0300
committerariel- <ariel-@users.noreply.github.com>2016-08-18 01:35:42 -0300
commitc7b8f0f773b5c5ad711ae73475a4db9f6174de81 (patch)
treeebc695807e6b73e99e655a58c94ccd5d7394d1c6 /src
parent1d7013e0e2758b1468a488dd17e3f5c5ce5f265d (diff)
Core/World: short circuit setWorldState and avoid a db query in case there's nothing to update really
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 8bda53f7a8f..6d8a4b17dc1 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -3224,6 +3224,9 @@ void World::setWorldState(uint32 index, uint64 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));