diff options
| author | Shauren <shauren.trinity@gmail.com> | 2019-07-27 10:52:33 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2019-07-27 10:52:33 +0200 |
| commit | f6e2b8cdc1c8a3dd291947f67566b41dac116622 (patch) | |
| tree | 22a01cb91b2d47827ae73b48fcace3926587a341 /src/server/game/Guilds | |
| parent | e8e89f58fb800014f53341f12505f60ee2b5fb6f (diff) | |
Core/DBLayer: Prevent committing transactions started on a different database
Diffstat (limited to 'src/server/game/Guilds')
| -rw-r--r-- | src/server/game/Guilds/Guild.cpp | 102 | ||||
| -rw-r--r-- | src/server/game/Guilds/Guild.h | 70 | ||||
| -rw-r--r-- | src/server/game/Guilds/GuildFinderMgr.cpp | 10 |
3 files changed, 91 insertions, 91 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 06576175c37..6a25fb9bbe7 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -93,7 +93,7 @@ inline void Guild::LogHolder::LoadEvent(LogEntry* entry) // Adds new event happened in game. // If maximum number of events is reached, oldest event is removed from collection. -inline void Guild::LogHolder::AddEvent(SQLTransaction& trans, LogEntry* entry) +inline void Guild::LogHolder::AddEvent(CharacterDatabaseTransaction& trans, LogEntry* entry) { // Check max records limit if (m_log.size() >= m_maxRecords) @@ -120,7 +120,7 @@ inline uint32 Guild::LogHolder::GetNextGUID() } // EventLogEntry -void Guild::EventLogEntry::SaveToDB(SQLTransaction& trans) const +void Guild::EventLogEntry::SaveToDB(CharacterDatabaseTransaction& trans) const { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_EVENTLOG); stmt->setUInt64(0, m_guildId); @@ -154,7 +154,7 @@ void Guild::EventLogEntry::WritePacket(WorldPackets::Guild::GuildEventLogQueryRe } // BankEventLogEntry -void Guild::BankEventLogEntry::SaveToDB(SQLTransaction& trans) const +void Guild::BankEventLogEntry::SaveToDB(CharacterDatabaseTransaction& trans) const { uint8 index = 0; @@ -209,7 +209,7 @@ void Guild::BankEventLogEntry::WritePacket(WorldPackets::Guild:: GuildBankLogQue packet.Entry.push_back(bankLogEntry); } -void Guild::NewsLogEntry::SaveToDB(SQLTransaction& trans) const +void Guild::NewsLogEntry::SaveToDB(CharacterDatabaseTransaction& trans) const { uint8 index = 0; CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_GUILD_NEWS); @@ -258,7 +258,7 @@ void Guild::RankInfo::LoadFromDB(Field* fields) m_rights |= GR_RIGHT_ALL; } -void Guild::RankInfo::SaveToDB(SQLTransaction& trans) const +void Guild::RankInfo::SaveToDB(CharacterDatabaseTransaction& trans) const { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_GUILD_RANK); stmt->setUInt64(0, m_guildId); @@ -269,7 +269,7 @@ void Guild::RankInfo::SaveToDB(SQLTransaction& trans) const CharacterDatabase.ExecuteOrAppend(trans, stmt); } -void Guild::RankInfo::CreateMissingTabsIfNeeded(uint8 tabs, SQLTransaction& trans, bool logOnCreate /* = false */) +void Guild::RankInfo::CreateMissingTabsIfNeeded(uint8 tabs, CharacterDatabaseTransaction& trans, bool logOnCreate /* = false */) { for (uint8 i = 0; i < tabs; ++i) { @@ -411,7 +411,7 @@ bool Guild::BankTab::LoadItemFromDB(Field* fields) } // Deletes contents of the tab from the world (and from DB if necessary) -void Guild::BankTab::Delete(SQLTransaction& trans, bool removeItemsFromDB) +void Guild::BankTab::Delete(CharacterDatabaseTransaction& trans, bool removeItemsFromDB) { for (uint8 slotId = 0; slotId < GUILD_BANK_MAX_SLOTS; ++slotId) { @@ -459,7 +459,7 @@ void Guild::BankTab::SetText(std::string const& text) // Sets/removes contents of specified slot. // If pItem == nullptr contents are removed. -bool Guild::BankTab::SetItem(SQLTransaction& trans, uint8 slotId, Item* item) +bool Guild::BankTab::SetItem(CharacterDatabaseTransaction& trans, uint8 slotId, Item* item) { if (slotId >= GUILD_BANK_MAX_SLOTS) return false; @@ -579,7 +579,7 @@ void Guild::Member::SetOfficerNote(std::string const& officerNote) CharacterDatabase.Execute(stmt); } -void Guild::Member::ChangeRank(SQLTransaction& trans, uint8 newRank) +void Guild::Member::ChangeRank(CharacterDatabaseTransaction& trans, uint8 newRank) { m_rankId = newRank; @@ -593,7 +593,7 @@ void Guild::Member::ChangeRank(SQLTransaction& trans, uint8 newRank) CharacterDatabase.ExecuteOrAppend(trans, stmt); } -void Guild::Member::SaveToDB(SQLTransaction& trans) const +void Guild::Member::SaveToDB(CharacterDatabaseTransaction& trans) const { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_GUILD_MEMBER); stmt->setUInt64(0, m_guildId); @@ -667,7 +667,7 @@ float Guild::Member::GetInactiveDays() const } // Decreases amount of slots left for today. -void Guild::Member::UpdateBankTabWithdrawValue(SQLTransaction& trans, uint8 tabId, uint32 amount) +void Guild::Member::UpdateBankTabWithdrawValue(CharacterDatabaseTransaction& trans, uint8 tabId, uint32 amount) { m_bankWithdraw[tabId] += amount; @@ -683,7 +683,7 @@ void Guild::Member::UpdateBankTabWithdrawValue(SQLTransaction& trans, uint8 tabI } // Decreases amount of money left for today. -void Guild::Member::UpdateBankMoneyWithdrawValue(SQLTransaction& trans, uint64 amount) +void Guild::Member::UpdateBankMoneyWithdrawValue(CharacterDatabaseTransaction& trans, uint64 amount) { m_bankWithdrawMoney += amount; @@ -836,7 +836,7 @@ bool Guild::PlayerMoveItemData::InitItem() return (m_pItem != nullptr); } -void Guild::PlayerMoveItemData::RemoveItem(SQLTransaction& trans, MoveItemData* /*pOther*/, uint32 splitedAmount) +void Guild::PlayerMoveItemData::RemoveItem(CharacterDatabaseTransaction& trans, MoveItemData* /*pOther*/, uint32 splitedAmount) { if (splitedAmount) { @@ -852,7 +852,7 @@ void Guild::PlayerMoveItemData::RemoveItem(SQLTransaction& trans, MoveItemData* } } -Item* Guild::PlayerMoveItemData::StoreItem(SQLTransaction& trans, Item* pItem) +Item* Guild::PlayerMoveItemData::StoreItem(CharacterDatabaseTransaction& trans, Item* pItem) { ASSERT(pItem); m_pPlayer->MoveItemToInventory(m_vec, pItem, true); @@ -860,7 +860,7 @@ Item* Guild::PlayerMoveItemData::StoreItem(SQLTransaction& trans, Item* pItem) return pItem; } -void Guild::PlayerMoveItemData::LogBankEvent(SQLTransaction& trans, MoveItemData* pFrom, uint32 count) const +void Guild::PlayerMoveItemData::LogBankEvent(CharacterDatabaseTransaction& trans, MoveItemData* pFrom, uint32 count) const { ASSERT(pFrom); // Bank -> Char @@ -903,7 +903,7 @@ bool Guild::BankMoveItemData::HasWithdrawRights(MoveItemData* pOther) const return slots != 0; } -void Guild::BankMoveItemData::RemoveItem(SQLTransaction& trans, MoveItemData* pOther, uint32 splitedAmount) +void Guild::BankMoveItemData::RemoveItem(CharacterDatabaseTransaction& trans, MoveItemData* pOther, uint32 splitedAmount) { ASSERT(m_pItem); if (splitedAmount) @@ -922,7 +922,7 @@ void Guild::BankMoveItemData::RemoveItem(SQLTransaction& trans, MoveItemData* pO m_pGuild->_UpdateMemberWithdrawSlots(trans, m_pPlayer->GetGUID(), m_container); } -Item* Guild::BankMoveItemData::StoreItem(SQLTransaction& trans, Item* pItem) +Item* Guild::BankMoveItemData::StoreItem(CharacterDatabaseTransaction& trans, Item* pItem) { if (!pItem) return nullptr; @@ -944,7 +944,7 @@ Item* Guild::BankMoveItemData::StoreItem(SQLTransaction& trans, Item* pItem) return pLastItem; } -void Guild::BankMoveItemData::LogBankEvent(SQLTransaction& trans, MoveItemData* pFrom, uint32 count) const +void Guild::BankMoveItemData::LogBankEvent(CharacterDatabaseTransaction& trans, MoveItemData* pFrom, uint32 count) const { ASSERT(pFrom->GetItem()); if (pFrom->IsBank()) @@ -970,7 +970,7 @@ void Guild::BankMoveItemData::LogAction(MoveItemData* pFrom) const } } -Item* Guild::BankMoveItemData::_StoreItem(SQLTransaction& trans, BankTab* pTab, Item* pItem, ItemPosCount& pos, bool clone) const +Item* Guild::BankMoveItemData::_StoreItem(CharacterDatabaseTransaction& trans, BankTab* pTab, Item* pItem, ItemPosCount& pos, bool clone) const { uint8 slotId = uint8(pos.pos); uint32 count = pos.count; @@ -1108,7 +1108,7 @@ Guild::Guild(): Guild::~Guild() { - SQLTransaction temp(nullptr); + CharacterDatabaseTransaction temp(nullptr); _DeleteBankItems(temp); // Cleanup @@ -1153,7 +1153,7 @@ bool Guild::Create(Player* pLeader, std::string const& name) TC_LOG_DEBUG("guild", "GUILD: creating guild [%s] for leader %s (%s)", name.c_str(), pLeader->GetName().c_str(), m_leaderGuid.ToString().c_str()); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_MEMBERS); stmt->setUInt64(0, m_id); @@ -1201,7 +1201,7 @@ void Guild::Disband() WorldPackets::Guild::GuildEventDisbanded packet; BroadcastPacket(packet.Write()); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // Remove all members while (!m_members.empty()) { @@ -1249,7 +1249,7 @@ void Guild::Disband() void Guild::SaveToDB() { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); m_achievementMgr.SaveToDB(trans); @@ -1547,7 +1547,7 @@ void Guild::HandleSetNewGuildMaster(WorldSession* session, std::string const& na return; } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); _SetLeader(trans, newGuildMaster); oldGuildMaster->ChangeRank(trans, GR_INITIATE); @@ -1738,7 +1738,7 @@ void Guild::HandleAcceptMember(WorldSession* session) player->GetTeam() != sCharacterCache->GetCharacterTeamByGuid(GetLeaderGUID())) return; - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); AddMember(trans, player->GetGUID()); } @@ -1765,7 +1765,7 @@ void Guild::HandleLeaveMember(WorldSession* session) _LogEvent(GUILD_EVENT_LOG_LEAVE_GUILD, player->GetGUID().GetCounter()); SendEventPlayerLeft(GetMember(player->GetGUID())); - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); DeleteMember(trans, player->GetGUID(), false, false); SendCommandResult(session, GUILD_COMMAND_LEAVE_GUILD, ERR_GUILD_COMMAND_SUCCESS, m_name); @@ -1803,7 +1803,7 @@ void Guild::HandleRemoveMember(WorldSession* session, ObjectGuid guid) SendEventPlayerLeft(member, memberMe, true); // After call to DeleteMember pointer to member becomes invalid - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); DeleteMember(trans, guid, false, true); SendCommandResult(session, GUILD_COMMAND_REMOVE_PLAYER, ERR_GUILD_COMMAND_SUCCESS, name); @@ -1860,7 +1860,7 @@ void Guild::HandleUpdateMemberRank(WorldSession* session, ObjectGuid guid, bool } uint32 newRankId = member->GetRankId() + (demote ? 1 : -1); - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); member->ChangeRank(trans, newRankId); _LogEvent(demote ? GUILD_EVENT_LOG_DEMOTE_PLAYER : GUILD_EVENT_LOG_PROMOTE_PLAYER, player->GetGUID().GetCounter(), member->GetGUID().GetCounter(), newRankId); //_BroadcastEvent(demote ? GE_DEMOTION : GE_PROMOTION, ObjectGuid::Empty, player->GetName().c_str(), name.c_str(), _GetRankName(newRankId).c_str()); @@ -1908,7 +1908,7 @@ void Guild::HandleAddNewRank(WorldSession* session, std::string const& name) // Only leader can add new rank if (_IsLeader(session->GetPlayer())) { - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); if (_CreateRank(trans, name, GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK)) { WorldPackets::Guild::GuildEventRanksUpdated eventPacket; @@ -1953,7 +1953,7 @@ void Guild::HandleMemberDepositMoney(WorldSession* session, uint64 amount, bool // Call script after validation and before money transfer. sScriptMgr->OnGuildMemberDepositMoney(this, player, amount); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); _ModifyBankMoney(trans, amount, true); if (!cashFlow) { @@ -1997,7 +1997,7 @@ bool Guild::HandleMemberWithdrawMoney(WorldSession* session, uint64 amount, bool // Call script after validation and before money transfer. sScriptMgr->OnGuildMemberWitdrawMoney(this, player, amount, repair); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // Add money to player (if required) if (!repair) { @@ -2369,7 +2369,7 @@ bool Guild::LoadMemberFromDB(Field* fields) Member* member = new Member(m_id, playerGuid, fields[2].GetUInt8()); if (!member->LoadFromDB(fields)) { - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); Guild::_DeleteMemberFromDB(trans, lowguid); delete member; return false; @@ -2492,7 +2492,7 @@ bool Guild::Validate() bool broken_ranks = false; uint8 ranks = _GetRanksSize(); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); if (ranks < GUILD_RANKS_MIN_COUNT || ranks > GUILD_RANKS_MAX_COUNT) { TC_LOG_ERROR("guild", "Guild " UI64FMTD " has invalid number of ranks, creating new...", m_id); @@ -2530,7 +2530,7 @@ bool Guild::Validate() Member* leader = GetMember(m_leaderGuid); if (!leader) { - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); DeleteMember(trans, m_leaderGuid); // If no more members left, disband guild if (m_members.empty()) @@ -2634,7 +2634,7 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max } // Members handling -bool Guild::AddMember(SQLTransaction& trans, ObjectGuid guid, uint8 rankId) +bool Guild::AddMember(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 rankId) { Player* player = ObjectAccessor::FindConnectedPlayer(guid); // Player cannot be in guild @@ -2720,7 +2720,7 @@ bool Guild::AddMember(SQLTransaction& trans, ObjectGuid guid, uint8 rankId) return true; } -void Guild::DeleteMember(SQLTransaction& trans, ObjectGuid guid, bool isDisbanding, bool isKicked, bool canDeleteGuild) +void Guild::DeleteMember(CharacterDatabaseTransaction& trans, ObjectGuid guid, bool isDisbanding, bool isKicked, bool canDeleteGuild) { // Guild master can be deleted when loading guild and guid doesn't exist in characters table // or when he is removed from guild by gm command @@ -2779,7 +2779,7 @@ void Guild::DeleteMember(SQLTransaction& trans, ObjectGuid guid, bool isDisbandi _UpdateAccountsNumber(); } -bool Guild::ChangeMemberRank(SQLTransaction& trans, ObjectGuid guid, uint8 newRank) +bool Guild::ChangeMemberRank(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 newRank) { if (newRank <= _GetLowestRankId()) // Validate rank (allow only existing ranks) { @@ -2849,7 +2849,7 @@ bool Guild::_HasRankRight(Player const* player, uint32 right) const return false; } -void Guild::_DeleteMemberFromDB(SQLTransaction& trans, ObjectGuid::LowType lowguid) +void Guild::_DeleteMemberFromDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType lowguid) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_MEMBER); stmt->setUInt64(0, lowguid); @@ -2870,7 +2870,7 @@ void Guild::_CreateNewBankTab() uint8 tabId = _GetPurchasedTabsSize(); // Next free id m_bankTabs.push_back(new BankTab(m_id, tabId)); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_BANK_TAB); stmt->setUInt64(0, m_id); @@ -2889,7 +2889,7 @@ void Guild::_CreateNewBankTab() CharacterDatabase.CommitTransaction(trans); } -void Guild::_CreateDefaultGuildRanks(SQLTransaction& trans, LocaleConstant loc) +void Guild::_CreateDefaultGuildRanks(CharacterDatabaseTransaction& trans, LocaleConstant loc) { ASSERT(trans); @@ -2908,7 +2908,7 @@ void Guild::_CreateDefaultGuildRanks(SQLTransaction& trans, LocaleConstant loc) _CreateRank(trans, sObjectMgr->GetTrinityString(LANG_GUILD_INITIATE, loc), GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK); } -bool Guild::_CreateRank(SQLTransaction& trans, std::string const& name, uint32 rights) +bool Guild::_CreateRank(CharacterDatabaseTransaction& trans, std::string const& name, uint32 rights) { uint8 newRankId = _GetRanksSize(); if (newRankId >= GUILD_RANKS_MAX_COUNT) @@ -2955,7 +2955,7 @@ bool Guild::_IsLeader(Player* player) const return false; } -void Guild::_DeleteBankItems(SQLTransaction& trans, bool removeItemsFromDB) +void Guild::_DeleteBankItems(CharacterDatabaseTransaction& trans, bool removeItemsFromDB) { for (uint8 tabId = 0; tabId < _GetPurchasedTabsSize(); ++tabId) { @@ -2966,7 +2966,7 @@ void Guild::_DeleteBankItems(SQLTransaction& trans, bool removeItemsFromDB) m_bankTabs.clear(); } -bool Guild::_ModifyBankMoney(SQLTransaction& trans, uint64 amount, bool add) +bool Guild::_ModifyBankMoney(CharacterDatabaseTransaction& trans, uint64 amount, bool add) { if (add) m_bankMoney += amount; @@ -2985,7 +2985,7 @@ bool Guild::_ModifyBankMoney(SQLTransaction& trans, uint64 amount, bool add) return true; } -void Guild::_SetLeader(SQLTransaction& trans, Member* leader) +void Guild::_SetLeader(CharacterDatabaseTransaction& trans, Member* leader) { if (!leader) return; @@ -3092,7 +3092,7 @@ inline int64 Guild::_GetMemberRemainingMoney(Member const* member) const return 0; } -inline void Guild::_UpdateMemberWithdrawSlots(SQLTransaction& trans, ObjectGuid guid, uint8 tabId) +inline void Guild::_UpdateMemberWithdrawSlots(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 tabId) { if (Member* member = GetMember(guid)) member->UpdateBankTabWithdrawValue(trans, tabId, 1); @@ -3113,7 +3113,7 @@ inline bool Guild::_MemberHasTabRights(ObjectGuid guid, uint8 tabId, int32 right // Add new event log record inline void Guild::_LogEvent(GuildEventLogTypes eventType, ObjectGuid::LowType playerGuid1, ObjectGuid::LowType playerGuid2, uint8 newRank) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); m_eventLog->AddEvent(trans, new EventLogEntry(m_id, m_eventLog->GetNextGUID(), eventType, playerGuid1, playerGuid2, newRank)); CharacterDatabase.CommitTransaction(trans); @@ -3121,7 +3121,7 @@ inline void Guild::_LogEvent(GuildEventLogTypes eventType, ObjectGuid::LowType p } // Add new bank event log record -void Guild::_LogBankEvent(SQLTransaction& trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType lowguid, uint64 itemOrMoney, uint16 itemStackCount, uint8 destTabId) +void Guild::_LogBankEvent(CharacterDatabaseTransaction& trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType lowguid, uint64 itemOrMoney, uint16 itemStackCount, uint8 destTabId) { if (tabId > GUILD_BANK_MAX_TABS) return; @@ -3149,7 +3149,7 @@ inline Item* Guild::_GetItem(uint8 tabId, uint8 slotId) const return nullptr; } -inline void Guild::_RemoveItem(SQLTransaction& trans, uint8 tabId, uint8 slotId) +inline void Guild::_RemoveItem(CharacterDatabaseTransaction& trans, uint8 tabId, uint8 slotId) { if (BankTab* pTab = GetBankTab(tabId)) pTab->SetItem(trans, slotId, nullptr); @@ -3236,7 +3236,7 @@ bool Guild::_DoItemsMove(MoveItemData* pSrc, MoveItemData* pDest, bool sendError if (swap) pSrc->LogAction(pDest); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // 3. Log bank events pDest->LogBankEvent(trans, pSrc, pSrcItem->GetCount()); if (swap) @@ -3435,7 +3435,7 @@ void Guild::SendGuildRanksUpdate(ObjectGuid setterGuid, ObjectGuid targetGuid, u rankChange.Promote = (rank < member->GetRankId()); BroadcastPacket(rankChange.Write()); - SQLTransaction trans; + CharacterDatabaseTransaction trans; member->ChangeRank(trans, rank); TC_LOG_DEBUG("network", "SMSG_GUILD_RANKS_UPDATE [Broadcast] Target: %s, Issuer: %s, RankId: %u", @@ -3459,7 +3459,7 @@ void Guild::AddGuildNews(uint8 type, ObjectGuid guid, uint32 flags, uint32 value { NewsLogEntry* news = new NewsLogEntry(m_id, m_newsLog->GetNextGUID(), GuildNews(type), guid, flags, value); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); m_newsLog->AddEvent(trans, news); CharacterDatabase.CommitTransaction(trans); diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h index d29f24785a5..6a3e216a87f 100644 --- a/src/server/game/Guilds/Guild.h +++ b/src/server/game/Guilds/Guild.h @@ -347,7 +347,7 @@ class TC_GAME_API Guild void ResetFlags() { m_flags = GUILDMEMBER_STATUS_NONE; } bool LoadFromDB(Field* fields); - void SaveToDB(SQLTransaction& trans) const; + void SaveToDB(CharacterDatabaseTransaction& trans) const; ObjectGuid const& GetGUID() const { return m_guid; } std::string const& GetName() const { return m_name; } @@ -374,15 +374,15 @@ class TC_GAME_API Guild bool IsOnline() const { return (m_flags & GUILDMEMBER_STATUS_ONLINE); } - void ChangeRank(SQLTransaction& trans, uint8 newRank); + void ChangeRank(CharacterDatabaseTransaction& trans, uint8 newRank); inline void UpdateLogoutTime() { m_logoutTime = ::time(nullptr); } inline bool IsRank(uint8 rankId) const { return m_rankId == rankId; } inline bool IsRankNotLower(uint8 rankId) const { return m_rankId <= rankId; } inline bool IsSamePlayer(ObjectGuid guid) const { return m_guid == guid; } - void UpdateBankTabWithdrawValue(SQLTransaction& trans, uint8 tabId, uint32 amount); - void UpdateBankMoneyWithdrawValue(SQLTransaction& trans, uint64 amount); + void UpdateBankTabWithdrawValue(CharacterDatabaseTransaction& trans, uint8 tabId, uint32 amount); + void UpdateBankMoneyWithdrawValue(CharacterDatabaseTransaction& trans, uint64 amount); uint32 GetBankTabWithdrawValue(uint8 tabId) const { return m_bankWithdraw[tabId]; }; uint64 GetBankMoneyWithdrawValue() const { return m_bankWithdrawMoney; }; void ResetValues(bool weekly = false); @@ -429,7 +429,7 @@ class TC_GAME_API Guild uint32 GetGUID() const { return m_guid; } uint64 GetTimestamp() const { return m_timestamp; } - virtual void SaveToDB(SQLTransaction& trans) const = 0; + virtual void SaveToDB(CharacterDatabaseTransaction& trans) const = 0; protected: ObjectGuid::LowType m_guildId; @@ -449,7 +449,7 @@ class TC_GAME_API Guild ~EventLogEntry() { } - void SaveToDB(SQLTransaction& trans) const override; + void SaveToDB(CharacterDatabaseTransaction& trans) const override; void WritePacket(WorldPackets::Guild::GuildEventLogQueryResults& packet) const; private: @@ -487,7 +487,7 @@ class TC_GAME_API Guild ~BankEventLogEntry() { } - void SaveToDB(SQLTransaction& trans) const override; + void SaveToDB(CharacterDatabaseTransaction& trans) const override; void WritePacket(WorldPackets::Guild::GuildBankLogQueryResults& packet) const; private: @@ -523,7 +523,7 @@ class TC_GAME_API Guild m_flags &= ~1; } - void SaveToDB(SQLTransaction& trans) const override; + void SaveToDB(CharacterDatabaseTransaction& trans) const override; void WritePacket(WorldPackets::Guild::GuildNews& newsPacket) const; private: @@ -548,7 +548,7 @@ class TC_GAME_API Guild // Adds event from DB to collection void LoadEvent(LogEntry* entry); // Adds new event to collection and saves it to DB - void AddEvent(SQLTransaction& trans, LogEntry* entry); + void AddEvent(CharacterDatabaseTransaction& trans, LogEntry* entry); uint32 GetNextGUID(); GuildLog* GetGuildLog() { return &m_log; } @@ -568,7 +568,7 @@ class TC_GAME_API Guild m_guildId(guildId), m_rankId(rankId), m_name(name), m_rights(rights), m_bankMoneyPerDay(money) { } void LoadFromDB(Field* fields); - void SaveToDB(SQLTransaction& trans) const; + void SaveToDB(CharacterDatabaseTransaction& trans) const; uint8 GetId() const { return m_rankId; } @@ -596,7 +596,7 @@ class TC_GAME_API Guild } void SetBankTabSlotsAndRights(GuildBankRightsAndSlots rightsAndSlots, bool saveToDB); - void CreateMissingTabsIfNeeded(uint8 ranks, SQLTransaction& trans, bool logOnCreate = false); + void CreateMissingTabsIfNeeded(uint8 ranks, CharacterDatabaseTransaction& trans, bool logOnCreate = false); private: ObjectGuid::LowType m_guildId; @@ -614,7 +614,7 @@ class TC_GAME_API Guild void LoadFromDB(Field* fields); bool LoadItemFromDB(Field* fields); - void Delete(SQLTransaction& trans, bool removeItemsFromDB = false); + void Delete(CharacterDatabaseTransaction& trans, bool removeItemsFromDB = false); void SetInfo(std::string const& name, std::string const& icon); void SetText(std::string const& text); @@ -625,7 +625,7 @@ class TC_GAME_API Guild std::string const& GetText() const { return m_text; } inline Item* GetItem(uint8 slotId) const { return slotId < GUILD_BANK_MAX_SLOTS ? m_items[slotId] : nullptr; } - bool SetItem(SQLTransaction& trans, uint8 slotId, Item* item); + bool SetItem(CharacterDatabaseTransaction& trans, uint8 slotId, Item* item); private: ObjectGuid::LowType m_guildId; @@ -658,11 +658,11 @@ class TC_GAME_API Guild // Clones stored item bool CloneItem(uint32 count); // Remove item from container (if splited update items fields) - virtual void RemoveItem(SQLTransaction& trans, MoveItemData* pOther, uint32 splitedAmount = 0) = 0; + virtual void RemoveItem(CharacterDatabaseTransaction& trans, MoveItemData* pOther, uint32 splitedAmount = 0) = 0; // Saves item to container - virtual Item* StoreItem(SQLTransaction& trans, Item* pItem) = 0; + virtual Item* StoreItem(CharacterDatabaseTransaction& trans, Item* pItem) = 0; // Log bank event - virtual void LogBankEvent(SQLTransaction& trans, MoveItemData* pFrom, uint32 count) const = 0; + virtual void LogBankEvent(CharacterDatabaseTransaction& trans, MoveItemData* pFrom, uint32 count) const = 0; // Log GM action virtual void LogAction(MoveItemData* pFrom) const; // Copy slots id from position vector @@ -692,9 +692,9 @@ class TC_GAME_API Guild bool IsBank() const override { return false; } bool InitItem() override; - void RemoveItem(SQLTransaction& trans, MoveItemData* pOther, uint32 splitedAmount = 0) override; - Item* StoreItem(SQLTransaction& trans, Item* pItem) override; - void LogBankEvent(SQLTransaction& trans, MoveItemData* pFrom, uint32 count) const override; + void RemoveItem(CharacterDatabaseTransaction& trans, MoveItemData* pOther, uint32 splitedAmount = 0) override; + Item* StoreItem(CharacterDatabaseTransaction& trans, Item* pItem) override; + void LogBankEvent(CharacterDatabaseTransaction& trans, MoveItemData* pFrom, uint32 count) const override; protected: InventoryResult CanStore(Item* pItem, bool swap) override; @@ -710,16 +710,16 @@ class TC_GAME_API Guild bool InitItem() override; bool HasStoreRights(MoveItemData* pOther) const override; bool HasWithdrawRights(MoveItemData* pOther) const override; - void RemoveItem(SQLTransaction& trans, MoveItemData* pOther, uint32 splitedAmount) override; - Item* StoreItem(SQLTransaction& trans, Item* pItem) override; - void LogBankEvent(SQLTransaction& trans, MoveItemData* pFrom, uint32 count) const override; + void RemoveItem(CharacterDatabaseTransaction& trans, MoveItemData* pOther, uint32 splitedAmount) override; + Item* StoreItem(CharacterDatabaseTransaction& trans, Item* pItem) override; + void LogBankEvent(CharacterDatabaseTransaction& trans, MoveItemData* pFrom, uint32 count) const override; void LogAction(MoveItemData* pFrom) const override; protected: InventoryResult CanStore(Item* pItem, bool swap) override; private: - Item* _StoreItem(SQLTransaction& trans, BankTab* pTab, Item* pItem, ItemPosCount& pos, bool clone) const; + Item* _StoreItem(CharacterDatabaseTransaction& trans, BankTab* pTab, Item* pItem, ItemPosCount& pos, bool clone) const; bool _ReserveSpace(uint8 slotId, Item* pItem, Item* pItemDest, uint32& count); void CanStoreItemInTab(Item* pItem, uint8 skipSlotId, bool merge, uint32& count); }; @@ -834,9 +834,9 @@ class TC_GAME_API Guild // Members // Adds member to guild. If rankId == GUILD_RANK_NONE, lowest rank is assigned. - bool AddMember(SQLTransaction& trans, ObjectGuid guid, uint8 rankId = GUILD_RANK_NONE); - void DeleteMember(SQLTransaction& trans, ObjectGuid guid, bool isDisbanding = false, bool isKicked = false, bool canDeleteGuild = false); - bool ChangeMemberRank(SQLTransaction& trans, ObjectGuid guid, uint8 newRank); + bool AddMember(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 rankId = GUILD_RANK_NONE); + void DeleteMember(CharacterDatabaseTransaction& trans, ObjectGuid guid, bool isDisbanding = false, bool isKicked = false, bool canDeleteGuild = false); + bool ChangeMemberRank(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 newRank); bool IsMember(ObjectGuid guid) const; uint32 GetMembersCount() const { return uint32(m_members.size()); } @@ -916,22 +916,22 @@ class TC_GAME_API Guild return nullptr; } - static void _DeleteMemberFromDB(SQLTransaction& trans, ObjectGuid::LowType lowguid); + static void _DeleteMemberFromDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType lowguid); // Creates log holders (either when loading or when creating guild) void _CreateLogHolders(); // Tries to create new bank tab void _CreateNewBankTab(); // Creates default guild ranks with names in given locale - void _CreateDefaultGuildRanks(SQLTransaction& trans, LocaleConstant loc); + void _CreateDefaultGuildRanks(CharacterDatabaseTransaction& trans, LocaleConstant loc); // Creates new rank - bool _CreateRank(SQLTransaction& trans, std::string const& name, uint32 rights); + bool _CreateRank(CharacterDatabaseTransaction& trans, std::string const& name, uint32 rights); // Update account number when member added/removed from guild void _UpdateAccountsNumber(); bool _IsLeader(Player* player) const; - void _DeleteBankItems(SQLTransaction& trans, bool removeItemsFromDB = false); - bool _ModifyBankMoney(SQLTransaction& trans, uint64 amount, bool add); - void _SetLeader(SQLTransaction& trans, Member* leader); + void _DeleteBankItems(CharacterDatabaseTransaction& trans, bool removeItemsFromDB = false); + bool _ModifyBankMoney(CharacterDatabaseTransaction& trans, uint64 amount, bool add); + void _SetLeader(CharacterDatabaseTransaction& trans, Member* leader); void _SetRankBankMoneyPerDay(uint8 rankId, uint32 moneyPerDay); void _SetRankBankTabRightsAndSlots(uint8 rankId, GuildBankRightsAndSlots rightsAndSlots, bool saveToDB = true); @@ -943,14 +943,14 @@ class TC_GAME_API Guild int32 _GetMemberRemainingSlots(Member const* member, uint8 tabId) const; int64 _GetMemberRemainingMoney(Member const* member) const; - void _UpdateMemberWithdrawSlots(SQLTransaction& trans, ObjectGuid guid, uint8 tabId); + void _UpdateMemberWithdrawSlots(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 tabId); bool _MemberHasTabRights(ObjectGuid guid, uint8 tabId, int32 rights) const; void _LogEvent(GuildEventLogTypes eventType, ObjectGuid::LowType playerGuid1, ObjectGuid::LowType playerGuid2 = UI64LIT(0), uint8 newRank = 0); - void _LogBankEvent(SQLTransaction& trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType playerGuid, uint64 itemOrMoney, uint16 itemStackCount = 0, uint8 destTabId = 0); + void _LogBankEvent(CharacterDatabaseTransaction& trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType playerGuid, uint64 itemOrMoney, uint16 itemStackCount = 0, uint8 destTabId = 0); Item* _GetItem(uint8 tabId, uint8 slotId) const; - void _RemoveItem(SQLTransaction& trans, uint8 tabId, uint8 slotId); + void _RemoveItem(CharacterDatabaseTransaction& trans, uint8 tabId, uint8 slotId); void _MoveItems(MoveItemData* pSrc, MoveItemData* pDest, uint32 splitedAmount) const; static bool _DoItemsMove(MoveItemData* pSrc, MoveItemData* pDest, bool sendError, uint32 splitedAmount = 0); diff --git a/src/server/game/Guilds/GuildFinderMgr.cpp b/src/server/game/Guilds/GuildFinderMgr.cpp index dc6a63df900..3c92ed4b2b5 100644 --- a/src/server/game/Guilds/GuildFinderMgr.cpp +++ b/src/server/game/Guilds/GuildFinderMgr.cpp @@ -132,7 +132,7 @@ void GuildFinderMgr::AddMembershipRequest(ObjectGuid const& guildGuid, Membershi _membershipRequestsByGuild[guildGuid][request.GetPlayerGUID()] = request; _membershipRequestsByPlayer[request.GetPlayerGUID()][guildGuid] = request; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_GUILD_FINDER_APPLICANT); stmt->setUInt64(0, request.GetGuildGuid().GetCounter()); stmt->setUInt64(1, request.GetPlayerGUID().GetCounter()); @@ -159,7 +159,7 @@ void GuildFinderMgr::RemoveAllMembershipRequestsFromPlayer(ObjectGuid const& pla if (playerItr == _membershipRequestsByPlayer.end()) return; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); for (auto& guildRequestPair : playerItr->second) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_FINDER_APPLICANT); @@ -203,7 +203,7 @@ void GuildFinderMgr::RemoveMembershipRequest(ObjectGuid const& playerId, ObjectG _membershipRequestsByPlayer.erase(playerItr); } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_FINDER_APPLICANT); stmt->setUInt64(0, guildId.GetCounter()); @@ -285,7 +285,7 @@ void GuildFinderMgr::SetGuildSettings(ObjectGuid const& guildGuid, LFGuildSettin { _guildSettings[guildGuid] = settings; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_GUILD_FINDER_GUILD_SETTINGS); stmt->setUInt64(0, settings.GetGUID().GetCounter()); @@ -302,7 +302,7 @@ void GuildFinderMgr::SetGuildSettings(ObjectGuid const& guildGuid, LFGuildSettin void GuildFinderMgr::DeleteGuild(ObjectGuid const& guildId) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); auto guildItr = _membershipRequestsByGuild.find(guildId); if (guildItr != _membershipRequestsByGuild.end()) { |
