diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index 309bb2f1d..47c3b2a4f 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -5595,8 +5595,10 @@ void ObjectMgr::PackGroupIds() if (id == 0) { + CharacterDatabase.BeginTransaction(); CharacterDatabase.PExecute("DELETE FROM groups WHERE groupId = '%u'", id); CharacterDatabase.PExecute("DELETE FROM group_member WHERE groupId = '%u'", id); + CharacterDatabase.CommitTransactionDirect(); continue; } @@ -5616,8 +5618,10 @@ void ObjectMgr::PackGroupIds() if (*i != groupId) { // remap group id + CharacterDatabase.BeginTransaction(); CharacterDatabase.PExecute("UPDATE groups SET groupId = '%u' WHERE groupId = '%u'", groupId, *i); CharacterDatabase.PExecute("UPDATE group_member SET groupId = '%u' WHERE groupId = '%u'", groupId, *i); + CharacterDatabase.CommitTransactionDirect(); } ++groupId; @@ -5661,10 +5665,12 @@ void ObjectMgr::SetHighestGuids() } // Cleanup other tables from nonexistent guids (>=m_hiItemGuid) + CharacterDatabase.BeginTransaction(); CharacterDatabase.PExecute("DELETE FROM character_inventory WHERE item >= '%u'", m_ItemGuids.GetNextAfterMaxUsed()); CharacterDatabase.PExecute("DELETE FROM mail_items WHERE item_guid >= '%u'", m_ItemGuids.GetNextAfterMaxUsed()); CharacterDatabase.PExecute("DELETE FROM auction WHERE itemguid >= '%u'", m_ItemGuids.GetNextAfterMaxUsed()); CharacterDatabase.PExecute("DELETE FROM guild_bank_item WHERE item_guid >= '%u'", m_ItemGuids.GetNextAfterMaxUsed()); + CharacterDatabase.CommitTransactionDirect(); result = WorldDatabase.Query("SELECT MAX(guid) FROM gameobject" ); if( result ) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 3b1829237..eed967e50 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "11046" + #define REVISION_NR "11047" #endif // __REVISION_NR_H__