diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2016-08-18 01:35:42 -0300 |
|---|---|---|
| committer | ariel- <ariel-@users.noreply.github.com> | 2016-08-18 01:35:42 -0300 |
| commit | c7b8f0f773b5c5ad711ae73475a4db9f6174de81 (patch) | |
| tree | ebc695807e6b73e99e655a58c94ccd5d7394d1c6 /src | |
| parent | 1d7013e0e2758b1468a488dd17e3f5c5ce5f265d (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.cpp | 3 |
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)); |
