Core/World: fix race condition in _UpdateRealmCharCount

(cherry picked from commit 5251dadf29)
This commit is contained in:
ariel-
2016-07-16 20:11:15 -03:00
committed by joschiwald
parent e5e1834bd5
commit f2c5c6995f

View File

@@ -3045,16 +3045,20 @@ void World::_UpdateRealmCharCount(PreparedQueryResult resultCharCount)
uint32 accountId = fields[0].GetUInt32();
uint8 charCount = uint8(fields[1].GetUInt64());
SQLTransaction trans = LoginDatabase.BeginTransaction();
PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_DEL_REALM_CHARACTERS_BY_REALM);
stmt->setUInt32(0, accountId);
stmt->setUInt32(1, realm.Id.Realm);
LoginDatabase.Execute(stmt);
trans->Append(stmt);
stmt = LoginDatabase.GetPreparedStatement(LOGIN_INS_REALM_CHARACTERS);
stmt->setUInt8(0, charCount);
stmt->setUInt32(1, accountId);
stmt->setUInt32(2, realm.Id.Realm);
LoginDatabase.Execute(stmt);
trans->Append(stmt);
LoginDatabase.CommitTransaction(trans);
}
}