diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2016-08-18 01:35:42 -0300 |
|---|---|---|
| committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-02-12 15:41:28 +0100 |
| commit | 804496e2df4df0bb1a45c9c54927ca29e1464990 (patch) | |
| tree | 88ec5d97bd09fffa108eace18ad2150af6c603dd /src | |
| parent | e5ba8f1e4d771a0921b1be0dc1e66a2263b26a44 (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.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 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)); |
