diff options
| author | ariel- <ariel-@users.noreply.github.com> | 2016-11-19 23:28:52 -0300 |
|---|---|---|
| committer | ariel- <ariel-@users.noreply.github.com> | 2016-11-19 23:28:52 -0300 |
| commit | 25281ecb3198a543ddb18aab41b8a206512bdd0c (patch) | |
| tree | b70ec523854382497027aa4cd299eb50348ba552 /src/server/game/Handlers/CharacterHandler.cpp | |
| parent | d2bf7237a38a29ff7a75aa1d137ec0b08610fa3c (diff) | |
Core/Guild: avoid data integrity problems wrapping delete+insert statements in a transaction
Diffstat (limited to 'src/server/game/Handlers/CharacterHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 53c62858c04..157511afd96 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -1843,13 +1843,10 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recvData) { // Reset guild stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_GUILD_MEMBER); - stmt->setUInt32(0, lowGuid); - - PreparedQueryResult result = CharacterDatabase.Query(stmt); - if (result) + if (PreparedQueryResult result = CharacterDatabase.Query(stmt)) if (Guild* guild = sGuildMgr->GetGuildById((result->Fetch()[0]).GetUInt32())) - guild->DeleteMember(factionChangeInfo.Guid, false, false, true); + guild->DeleteMember(trans, factionChangeInfo.Guid, false, false, true); Player::LeaveAllArenaTeams(factionChangeInfo.Guid); } |
