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/Entities | |
| parent | e8e89f58fb800014f53341f12505f60ee2b5fb6f (diff) | |
Core/DBLayer: Prevent committing transactions started on a different database
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/Corpse/Corpse.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Entities/Corpse/Corpse.h | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/Item/Container/Bag.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/Item/Container/Bag.h | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/Item/Item.cpp | 18 | ||||
| -rw-r--r-- | src/server/game/Entities/Item/Item.h | 14 | ||||
| -rw-r--r-- | src/server/game/Entities/Pet/Pet.cpp | 10 | ||||
| -rw-r--r-- | src/server/game/Entities/Pet/Pet.h | 4 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/CollectionMgr.cpp | 8 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/CollectionMgr.h | 8 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 98 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.h | 50 |
14 files changed, 117 insertions, 117 deletions
diff --git a/src/server/game/Entities/Corpse/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp index dd61c6d7fa5..9e1e680b589 100644 --- a/src/server/game/Entities/Corpse/Corpse.cpp +++ b/src/server/game/Entities/Corpse/Corpse.cpp @@ -95,7 +95,7 @@ bool Corpse::Create(ObjectGuid::LowType guidlow, Player* owner) void Corpse::SaveToDB() { // prevent DB data inconsistence problems and duplicates - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); DeleteFromDB(trans); std::ostringstream items; @@ -136,12 +136,12 @@ void Corpse::SaveToDB() CharacterDatabase.CommitTransaction(trans); } -void Corpse::DeleteFromDB(SQLTransaction& trans) +void Corpse::DeleteFromDB(CharacterDatabaseTransaction& trans) { DeleteFromDB(GetOwnerGUID(), trans); } -void Corpse::DeleteFromDB(ObjectGuid const& ownerGuid, SQLTransaction& trans) +void Corpse::DeleteFromDB(ObjectGuid const& ownerGuid, CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CORPSE); stmt->setUInt64(0, ownerGuid.GetCounter()); diff --git a/src/server/game/Entities/Corpse/Corpse.h b/src/server/game/Entities/Corpse/Corpse.h index 2aec35372d3..2412e979174 100644 --- a/src/server/game/Entities/Corpse/Corpse.h +++ b/src/server/game/Entities/Corpse/Corpse.h @@ -66,8 +66,8 @@ class TC_GAME_API Corpse : public WorldObject, public GridObject<Corpse> void SaveToDB(); bool LoadCorpseFromDB(ObjectGuid::LowType guid, Field* fields); - void DeleteFromDB(SQLTransaction& trans); - static void DeleteFromDB(ObjectGuid const& ownerGuid, SQLTransaction& trans); + void DeleteFromDB(CharacterDatabaseTransaction& trans); + static void DeleteFromDB(ObjectGuid const& ownerGuid, CharacterDatabaseTransaction& trans); void AddCorpseDynamicFlag(CorpseDynFlags dynamicFlags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::DynamicFlags), dynamicFlags); } void RemoveCorpseDynamicFlag(CorpseDynFlags dynamicFlags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::DynamicFlags), dynamicFlags); } diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 7aa36545a10..66186cdeeab 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1241,7 +1241,7 @@ void Creature::SaveToDB(uint32 mapid, std::vector<Difficulty> const& spawnDiffic data.phaseGroup = GetDBPhase() < 0 ? -GetDBPhase() : data.phaseGroup; // update in DB - SQLTransaction trans = WorldDatabase.BeginTransaction(); + WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction(); WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CREATURE); stmt->setUInt64(0, m_spawnId); @@ -1635,7 +1635,7 @@ void Creature::DeleteFromDB() GetMap()->RemoveCreatureRespawnTime(m_spawnId); sObjectMgr->DeleteCreatureData(m_spawnId); - SQLTransaction trans = WorldDatabase.BeginTransaction(); + WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction(); WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CREATURE); stmt->setUInt64(0, m_spawnId); diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 0c4bf935e16..944a1c0922d 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -962,7 +962,7 @@ void GameObject::SaveToDB(uint32 mapid, std::vector<Difficulty> const& spawnDiff data.phaseGroup = GetDBPhase() < 0 ? -GetDBPhase() : data.phaseGroup; // Update in DB - SQLTransaction trans = WorldDatabase.BeginTransaction(); + WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction(); uint8 index = 0; diff --git a/src/server/game/Entities/Item/Container/Bag.cpp b/src/server/game/Entities/Item/Container/Bag.cpp index 5d2df6b0466..43f0f518adf 100644 --- a/src/server/game/Entities/Item/Container/Bag.cpp +++ b/src/server/game/Entities/Item/Container/Bag.cpp @@ -104,7 +104,7 @@ bool Bag::Create(ObjectGuid::LowType guidlow, uint32 itemid, Player const* owner return true; } -void Bag::SaveToDB(SQLTransaction& trans) +void Bag::SaveToDB(CharacterDatabaseTransaction& trans) { Item::SaveToDB(trans); } @@ -127,7 +127,7 @@ bool Bag::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fie return true; } -void Bag::DeleteFromDB(SQLTransaction& trans) +void Bag::DeleteFromDB(CharacterDatabaseTransaction& trans) { for (uint8 i = 0; i < MAX_BAG_SIZE; ++i) if (m_bagslot[i]) diff --git a/src/server/game/Entities/Item/Container/Bag.h b/src/server/game/Entities/Item/Container/Bag.h index ffe5942fb0c..b59acb52b1c 100644 --- a/src/server/game/Entities/Item/Container/Bag.h +++ b/src/server/game/Entities/Item/Container/Bag.h @@ -51,11 +51,11 @@ class TC_GAME_API Bag : public Item // DB operations // overwrite virtual Item::SaveToDB - void SaveToDB(SQLTransaction& trans) override; + void SaveToDB(CharacterDatabaseTransaction& trans) override; // overwrite virtual Item::LoadFromDB bool LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fields, uint32 entry) override; // overwrite virtual Item::DeleteFromDB - void DeleteFromDB(SQLTransaction& trans) override; + void DeleteFromDB(CharacterDatabaseTransaction& trans) override; void BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) const override; void BuildValuesCreate(ByteBuffer* data, Player const* target) const override; diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp index 12c8c79295c..6bd47efb600 100644 --- a/src/server/game/Entities/Item/Item.cpp +++ b/src/server/game/Entities/Item/Item.cpp @@ -373,7 +373,7 @@ void Item::UpdateDuration(Player* owner, uint32 diff) SetState(ITEM_CHANGED, owner); // save new time in database } -void Item::SaveToDB(SQLTransaction& trans) +void Item::SaveToDB(CharacterDatabaseTransaction& trans) { bool isInTransaction = bool(trans); if (!isInTransaction) @@ -875,14 +875,14 @@ void Item::CheckArtifactRelicSlotUnlock(Player const* owner) } /*static*/ -void Item::DeleteFromDB(SQLTransaction& trans, ObjectGuid::LowType itemGuid) +void Item::DeleteFromDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType itemGuid) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_INSTANCE); stmt->setUInt64(0, itemGuid); trans->Append(stmt); } -void Item::DeleteFromDB(SQLTransaction& trans) +void Item::DeleteFromDB(CharacterDatabaseTransaction& trans) { DeleteFromDB(trans, GetGUID().GetCounter()); @@ -892,14 +892,14 @@ void Item::DeleteFromDB(SQLTransaction& trans) } /*static*/ -void Item::DeleteFromInventoryDB(SQLTransaction& trans, ObjectGuid::LowType itemGuid) +void Item::DeleteFromInventoryDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType itemGuid) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_INVENTORY_BY_ITEM); stmt->setUInt64(0, itemGuid); trans->Append(stmt); } -void Item::DeleteFromInventoryDB(SQLTransaction& trans) +void Item::DeleteFromInventoryDB(CharacterDatabaseTransaction& trans) { DeleteFromInventoryDB(trans, GetGUID().GetCounter()); } @@ -1486,7 +1486,7 @@ void Item::RemoveFromObjectUpdate() void Item::SaveRefundDataToDB() { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_REFUND_INSTANCE); stmt->setUInt64(0, GetGUID().GetCounter()); @@ -1502,7 +1502,7 @@ void Item::SaveRefundDataToDB() CharacterDatabase.CommitTransaction(trans); } -void Item::DeleteRefundDataFromDB(SQLTransaction* trans) +void Item::DeleteRefundDataFromDB(CharacterDatabaseTransaction* trans) { if (trans) { @@ -1513,7 +1513,7 @@ void Item::DeleteRefundDataFromDB(SQLTransaction* trans) } } -void Item::SetNotRefundable(Player* owner, bool changestate /*= true*/, SQLTransaction* trans /*= nullptr*/, bool addToCollection /*= true*/) +void Item::SetNotRefundable(Player* owner, bool changestate /*= true*/, CharacterDatabaseTransaction* trans /*= nullptr*/, bool addToCollection /*= true*/) { if (!HasItemFlag(ITEM_FIELD_FLAG_REFUNDABLE)) return; @@ -1949,7 +1949,7 @@ void Item::ItemContainerSaveLootToDB() if (loot.isLooted()) // no money and no loot return; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); loot.containerID = GetGUID(); // Save this for when a LootItem is removed diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h index cafb01c84ad..b5f9897a3e8 100644 --- a/src/server/game/Entities/Item/Item.h +++ b/src/server/game/Entities/Item/Item.h @@ -169,7 +169,7 @@ class TC_GAME_API Item : public Object bool IsBattlenetAccountBound() const { return (GetTemplate()->GetFlags2() & ITEM_FLAG2_BNET_ACCOUNT_TRADE_OK) != 0; } bool IsBindedNotWith(Player const* player) const; bool IsBoundByEnchant() const; - virtual void SaveToDB(SQLTransaction& trans); + virtual void SaveToDB(CharacterDatabaseTransaction& trans); virtual bool LoadFromDB(ObjectGuid::LowType guid, ObjectGuid ownerGuid, Field* fields, uint32 entry); void LoadArtifactData(Player* owner, uint64 xp, uint32 artifactAppearanceId, uint32 artifactTier, std::vector<ArtifactPowerLoadInfo>& powers); // must be called after LoadFromDB to have gems (relics) initialized void CheckArtifactRelicSlotUnlock(Player const* owner); @@ -178,9 +178,9 @@ class TC_GAME_API Item : public Object void SetBonuses(std::vector<int32> bonusListIDs); void ClearBonuses(); - static void DeleteFromDB(SQLTransaction& trans, ObjectGuid::LowType itemGuid); - virtual void DeleteFromDB(SQLTransaction& trans); - static void DeleteFromInventoryDB(SQLTransaction& trans, ObjectGuid::LowType itemGuid); + static void DeleteFromDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType itemGuid); + virtual void DeleteFromDB(CharacterDatabaseTransaction& trans); + static void DeleteFromInventoryDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType itemGuid); // Lootable items and their contents void ItemContainerSaveLootToDB(); @@ -190,9 +190,9 @@ class TC_GAME_API Item : public Object void ItemContainerDeleteLootMoneyFromDB(); void ItemContainerDeleteLootMoneyAndLootItemsFromDB(); - void DeleteFromInventoryDB(SQLTransaction& trans); + void DeleteFromInventoryDB(CharacterDatabaseTransaction& trans); void SaveRefundDataToDB(); - void DeleteRefundDataFromDB(SQLTransaction* trans); + void DeleteRefundDataFromDB(CharacterDatabaseTransaction* trans); Bag* ToBag() { if (IsBag()) return reinterpret_cast<Bag*>(this); else return NULL; } const Bag* ToBag() const { if (IsBag()) return reinterpret_cast<const Bag*>(this); else return NULL; } @@ -299,7 +299,7 @@ class TC_GAME_API Item : public Object void SetFixedLevel(uint8 level); // Item Refund system - void SetNotRefundable(Player* owner, bool changestate = true, SQLTransaction* trans = nullptr, bool addToCollection = true); + void SetNotRefundable(Player* owner, bool changestate = true, CharacterDatabaseTransaction* trans = nullptr, bool addToCollection = true); void SetRefundRecipient(ObjectGuid const& guid) { m_refundRecipient = guid; } void SetPaidMoney(uint64 money) { m_paidMoney = money; } void SetPaidExtendedCost(uint32 iece) { m_paidExtendedCost = iece; } diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index ee6e1d1aaf7..7a2b13f80ce 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -278,7 +278,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c // PET_SAVE_NOT_IN_SLOT(100) = not stable slot (summoning)) if (fields[7].GetUInt8()) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_PET_SLOT_BY_SLOT_EXCLUDE_ID); stmt->setUInt8(0, uint8(PET_SAVE_NOT_IN_SLOT)); @@ -410,7 +410,7 @@ void Pet::SavePetToDB(PetSaveMode mode) uint32 curhealth = GetHealth(); uint32 curmana = GetPower(POWER_MANA); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // save auras before possibly removing them _SaveAuras(trans); @@ -488,7 +488,7 @@ void Pet::SavePetToDB(PetSaveMode mode) void Pet::DeleteFromDB(uint32 guidlow) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_BY_ID); stmt->setUInt32(0, guidlow); @@ -1076,7 +1076,7 @@ void Pet::_LoadSpells() } } -void Pet::_SaveSpells(SQLTransaction& trans) +void Pet::_SaveSpells(CharacterDatabaseTransaction& trans) { for (PetSpellMap::iterator itr = m_spells.begin(), next = m_spells.begin(); itr != m_spells.end(); itr = next) { @@ -1229,7 +1229,7 @@ void Pet::_LoadAuras(uint32 timediff) } } -void Pet::_SaveAuras(SQLTransaction& trans) +void Pet::_SaveAuras(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_AURA_EFFECTS); stmt->setUInt32(0, m_charmInfo->GetPetNumber()); diff --git a/src/server/game/Entities/Pet/Pet.h b/src/server/game/Entities/Pet/Pet.h index 0ee1e732d6b..8f2547258d6 100644 --- a/src/server/game/Entities/Pet/Pet.h +++ b/src/server/game/Entities/Pet/Pet.h @@ -114,9 +114,9 @@ class TC_GAME_API Pet : public Guardian void _LoadSpellCooldowns(); void _LoadAuras(uint32 timediff); - void _SaveAuras(SQLTransaction& trans); + void _SaveAuras(CharacterDatabaseTransaction& trans); void _LoadSpells(); - void _SaveSpells(SQLTransaction& trans); + void _SaveSpells(CharacterDatabaseTransaction& trans); bool addSpell(uint32 spellId, ActiveStates active = ACT_DECIDE, PetSpellState state = PETSPELL_NEW, PetSpellType type = PETSPELL_NORMAL); bool learnSpell(uint32 spell_id); diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp index 9a263ca35bf..bfd63df4398 100644 --- a/src/server/game/Entities/Player/CollectionMgr.cpp +++ b/src/server/game/Entities/Player/CollectionMgr.cpp @@ -123,7 +123,7 @@ void CollectionMgr::LoadAccountToys(PreparedQueryResult result) } while (result->NextRow()); } -void CollectionMgr::SaveAccountToys(SQLTransaction& trans) +void CollectionMgr::SaveAccountToys(LoginDatabaseTransaction& trans) { LoginDatabasePreparedStatement* stmt = nullptr; for (auto const& toy : _toys) @@ -201,7 +201,7 @@ void CollectionMgr::LoadAccountHeirlooms(PreparedQueryResult result) } while (result->NextRow()); } -void CollectionMgr::SaveAccountHeirlooms(SQLTransaction& trans) +void CollectionMgr::SaveAccountHeirlooms(LoginDatabaseTransaction& trans) { LoginDatabasePreparedStatement* stmt = nullptr; for (auto const& heirloom : _heirlooms) @@ -395,7 +395,7 @@ void CollectionMgr::LoadAccountMounts(PreparedQueryResult result) } while (result->NextRow()); } -void CollectionMgr::SaveAccountMounts(SQLTransaction& trans) +void CollectionMgr::SaveAccountMounts(LoginDatabaseTransaction& trans) { for (auto const& mount : _mounts) { @@ -551,7 +551,7 @@ void CollectionMgr::LoadAccountItemAppearances(PreparedQueryResult knownAppearan } } -void CollectionMgr::SaveAccountItemAppearances(SQLTransaction& trans) +void CollectionMgr::SaveAccountItemAppearances(LoginDatabaseTransaction& trans) { uint16 blockIndex = 0; boost::to_block_range(*_appearances, DynamicBitsetBlockOutputIterator([this, &blockIndex, trans](uint32 blockValue) diff --git a/src/server/game/Entities/Player/CollectionMgr.h b/src/server/game/Entities/Player/CollectionMgr.h index 5292d07bf67..be3e1601145 100644 --- a/src/server/game/Entities/Player/CollectionMgr.h +++ b/src/server/game/Entities/Player/CollectionMgr.h @@ -86,7 +86,7 @@ public: // Account-wide toys void LoadToys(); void LoadAccountToys(PreparedQueryResult result); - void SaveAccountToys(SQLTransaction& trans); + void SaveAccountToys(LoginDatabaseTransaction& trans); void ToySetFavorite(uint32 itemId, bool favorite); void ToyClearFanfare(uint32 itemId); @@ -101,7 +101,7 @@ public: // Account-wide heirlooms void LoadHeirlooms(); void LoadAccountHeirlooms(PreparedQueryResult result); - void SaveAccountHeirlooms(SQLTransaction& trans); + void SaveAccountHeirlooms(LoginDatabaseTransaction& trans); void AddHeirloom(uint32 itemId, uint32 flags); void UpgradeHeirloom(uint32 itemId, int32 castItem); void CheckHeirloomUpgrades(Item* item); @@ -114,7 +114,7 @@ public: // Account-wide mounts void LoadMounts(); void LoadAccountMounts(PreparedQueryResult result); - void SaveAccountMounts(SQLTransaction& trans); + void SaveAccountMounts(LoginDatabaseTransaction& trans); bool AddMount(uint32 spellId, MountStatusFlags flags, bool factionMount = false, bool learned = false); void MountSetFavorite(uint32 spellId, bool favorite); void SendSingleMountUpdate(std::pair<uint32, MountStatusFlags> mount); @@ -123,7 +123,7 @@ public: // Appearances void LoadItemAppearances(); void LoadAccountItemAppearances(PreparedQueryResult knownAppearances, PreparedQueryResult favoriteAppearances); - void SaveAccountItemAppearances(SQLTransaction& trans); + void SaveAccountItemAppearances(LoginDatabaseTransaction& trans); void AddItemAppearance(Item* item); void AddItemAppearance(uint32 itemId, uint32 appearanceModId = 0); void AddTransmogSet(uint32 transmogSetId); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index dbdd375fedf..994e54b49e0 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2480,7 +2480,7 @@ void Player::GiveLevel(uint8 level) if (MailLevelReward const* mailReward = sObjectMgr->GetMailLevelReward(level, getRaceMask())) { /// @todo Poor design of mail system - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); MailDraft(mailReward->mailTemplateId).SendMailTo(trans, this, MailSender(MAIL_CREATURE, uint64(mailReward->senderEntry))); CharacterDatabase.CommitTransaction(trans); } @@ -3535,7 +3535,7 @@ bool Player::ResetTalents(bool noCost) RemoveTalent(talentInfo); } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); _SaveTalents(trans); _SaveSpells(trans); CharacterDatabase.CommitTransaction(trans); @@ -3572,7 +3572,7 @@ void Player::ResetPvpTalents() RemovePvpTalent(talentInfo); } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); _SaveTalents(trans); _SaveSpells(trans); CharacterDatabase.CommitTransaction(trans); @@ -3807,7 +3807,7 @@ void Player::DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRe charDeleteMethod = CHAR_DELETE_REMOVE; } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); if (ObjectGuid::LowType guildId = sCharacterCache->GetCharacterGuildIdByGuid(playerguid)) if (Guild* guild = sGuildMgr->GetGuildById(guildId)) guild->DeleteMember(trans, playerguid, false, false, true); @@ -4405,7 +4405,7 @@ void Player::KillPlayer() UpdateObjectVisibility(); } -void Player::OfflineResurrect(ObjectGuid const& guid, SQLTransaction& trans) +void Player::OfflineResurrect(ObjectGuid const& guid, CharacterDatabaseTransaction& trans) { Corpse::DeleteFromDB(guid, trans); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG); @@ -6611,7 +6611,7 @@ void Player::_LoadCurrency(PreparedQueryResult result) } while (result->NextRow()); } -void Player::_SaveCurrency(SQLTransaction& trans) +void Player::_SaveCurrency(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt; for (PlayerCurrenciesMap::iterator itr = _currencyStorage.begin(); itr != _currencyStorage.end(); ++itr) @@ -9955,7 +9955,7 @@ void Player::SetInventorySlotCount(uint8 slots) { std::size_t fullBatches = unstorableItems.size() / MAX_MAIL_ITEMS; std::size_t remainder = unstorableItems.size() % MAX_MAIL_ITEMS; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); auto sendItemsBatch = [this, &trans, &unstorableItems](std::size_t batchNumber, std::size_t batchSize) { @@ -15418,7 +15418,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, if (uint32 mail_template_id = quest->GetRewMailTemplateId()) { /// @todo Poor design of mail system - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); if (uint32 questMailSender = quest->GetRewMailSenderEntry()) MailDraft(mail_template_id).SendMailTo(trans, this, questMailSender, MAIL_CHECK_MASK_HAS_BODY, quest->GetRewMailDelaySecs()); else @@ -15449,7 +15449,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver, // StoreNewItem, mail reward, etc. save data directly to the database // to prevent exploitable data desynchronisation we save the quest status to the database too // (to prevent rewarding this quest another time while rewards were already given out) - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); _SaveQuestStatus(trans); SendQuestReward(quest, questGiver ? questGiver->ToCreature() : nullptr, XP, !announce); @@ -18598,7 +18598,7 @@ void Player::_LoadInventory(PreparedQueryResult result, PreparedQueryResult arti std::map<ObjectGuid, Bag*> bagMap; // fast guid lookup for bags std::map<ObjectGuid, Item*> invalidBagMap; // fast guid lookup for bags std::list<Item*> problematicItems; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // Prevent items from being added to the queue while loading m_itemUpdateQueueBlocked = true; @@ -18790,7 +18790,7 @@ void Player::_LoadVoidStorage(PreparedQueryResult result) while (result->NextRow()); } -Item* Player::_LoadItem(SQLTransaction& trans, uint32 zoneId, uint32 timeDiff, Field* fields) +Item* Player::_LoadItem(CharacterDatabaseTransaction& trans, uint32 zoneId, uint32 timeDiff, Field* fields) { Item* item = nullptr; ObjectGuid::LowType itemGuid = fields[0].GetUInt64(); @@ -18965,7 +18965,7 @@ void Player::_LoadMailedItems(Mail* mail) item->FSetState(ITEM_REMOVED); - SQLTransaction temp = SQLTransaction(nullptr); + CharacterDatabaseTransaction temp = CharacterDatabaseTransaction(nullptr); item->SaveToDB(temp); // it also deletes item object ! continue; } @@ -19899,7 +19899,7 @@ void Player::SaveToDB(bool create /*=false*/) if (!create) sScriptMgr->OnPlayerSave(this); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = nullptr; uint8 index = 0; @@ -20253,18 +20253,18 @@ void Player::SaveToDB(bool create /*=false*/) CharacterDatabase.CommitTransaction(trans); // TODO: Move this out - trans = LoginDatabase.BeginTransaction(); - GetSession()->GetCollectionMgr()->SaveAccountToys(trans); - GetSession()->GetBattlePetMgr()->SaveToDB(trans); - GetSession()->GetCollectionMgr()->SaveAccountHeirlooms(trans); - GetSession()->GetCollectionMgr()->SaveAccountMounts(trans); - GetSession()->GetCollectionMgr()->SaveAccountItemAppearances(trans); + LoginDatabaseTransaction loginTransaction = LoginDatabase.BeginTransaction(); + GetSession()->GetCollectionMgr()->SaveAccountToys(loginTransaction); + GetSession()->GetBattlePetMgr()->SaveToDB(loginTransaction); + GetSession()->GetCollectionMgr()->SaveAccountHeirlooms(loginTransaction); + GetSession()->GetCollectionMgr()->SaveAccountMounts(loginTransaction); + GetSession()->GetCollectionMgr()->SaveAccountItemAppearances(loginTransaction); LoginDatabasePreparedStatement* loginStmt = LoginDatabase.GetPreparedStatement(LOGIN_DEL_BNET_LAST_PLAYER_CHARACTERS); loginStmt->setUInt32(0, GetSession()->GetAccountId()); loginStmt->setUInt8(1, realm.Id.Region); loginStmt->setUInt8(2, realm.Id.Site); - trans->Append(loginStmt); + loginTransaction->Append(loginStmt); loginStmt = LoginDatabase.GetPreparedStatement(LOGIN_INS_BNET_LAST_PLAYER_CHARACTERS); loginStmt->setUInt32(0, GetSession()->GetAccountId()); @@ -20274,9 +20274,9 @@ void Player::SaveToDB(bool create /*=false*/) loginStmt->setString(4, GetName()); loginStmt->setUInt64(5, GetGUID().GetCounter()); loginStmt->setUInt32(6, time(nullptr)); - trans->Append(loginStmt); + loginTransaction->Append(loginStmt); - LoginDatabase.CommitTransaction(trans); + LoginDatabase.CommitTransaction(loginTransaction); // save pet (hunter pet level and experience and all type pets health/mana). if (Pet* pet = GetPet()) @@ -20284,14 +20284,14 @@ void Player::SaveToDB(bool create /*=false*/) } // fast save function for item/money cheating preventing - save only inventory and money state -void Player::SaveInventoryAndGoldToDB(SQLTransaction& trans) +void Player::SaveInventoryAndGoldToDB(CharacterDatabaseTransaction& trans) { _SaveInventory(trans); _SaveCurrency(trans); SaveGoldToDB(trans); } -void Player::SaveGoldToDB(SQLTransaction& trans) const +void Player::SaveGoldToDB(CharacterDatabaseTransaction& trans) const { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_MONEY); stmt->setUInt64(0, GetMoney()); @@ -20299,7 +20299,7 @@ void Player::SaveGoldToDB(SQLTransaction& trans) const trans->Append(stmt); } -void Player::_SaveActions(SQLTransaction& trans) +void Player::_SaveActions(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt; @@ -20347,7 +20347,7 @@ void Player::_SaveActions(SQLTransaction& trans) } } -void Player::_SaveAuras(SQLTransaction& trans) +void Player::_SaveAuras(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_AURA_EFFECT); stmt->setUInt64(0, GetGUID().GetCounter()); @@ -20402,7 +20402,7 @@ void Player::_SaveAuras(SQLTransaction& trans) } } -void Player::_SaveInventory(SQLTransaction& trans) +void Player::_SaveInventory(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt; // force items in buyback slots to new state @@ -20527,7 +20527,7 @@ void Player::_SaveInventory(SQLTransaction& trans) m_itemUpdateQueue.clear(); } -void Player::_SaveVoidStorage(SQLTransaction& trans) +void Player::_SaveVoidStorage(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = nullptr; @@ -20564,7 +20564,7 @@ void Player::_SaveVoidStorage(SQLTransaction& trans) } } -void Player::_SaveCUFProfiles(SQLTransaction& trans) +void Player::_SaveCUFProfiles(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt; for (uint8 i = 0; i < MAX_CUF_PROFILES; ++i) @@ -20600,7 +20600,7 @@ void Player::_SaveCUFProfiles(SQLTransaction& trans) } } -void Player::_SaveMail(SQLTransaction& trans) +void Player::_SaveMail(CharacterDatabaseTransaction& trans) { if (!m_mailsLoaded) return; @@ -20673,7 +20673,7 @@ void Player::_SaveMail(SQLTransaction& trans) m_mailsUpdated = false; } -void Player::_SaveQuestStatus(SQLTransaction& trans) +void Player::_SaveQuestStatus(CharacterDatabaseTransaction& trans) { bool isTransaction = bool(trans); if (!isTransaction) @@ -20756,7 +20756,7 @@ void Player::_SaveQuestStatus(SQLTransaction& trans) CharacterDatabase.CommitTransaction(trans); } -void Player::_SaveDailyQuestStatus(SQLTransaction& trans) +void Player::_SaveDailyQuestStatus(CharacterDatabaseTransaction& trans) { if (!m_DailyQuestChanged) return; @@ -20792,7 +20792,7 @@ void Player::_SaveDailyQuestStatus(SQLTransaction& trans) } } -void Player::_SaveWeeklyQuestStatus(SQLTransaction& trans) +void Player::_SaveWeeklyQuestStatus(CharacterDatabaseTransaction& trans) { if (!m_WeeklyQuestChanged || m_weeklyquests.empty()) return; @@ -20815,7 +20815,7 @@ void Player::_SaveWeeklyQuestStatus(SQLTransaction& trans) m_WeeklyQuestChanged = false; } -void Player::_SaveSeasonalQuestStatus(SQLTransaction& trans) +void Player::_SaveSeasonalQuestStatus(CharacterDatabaseTransaction& trans) { if (!m_SeasonalQuestChanged || m_seasonalquests.empty()) return; @@ -20844,7 +20844,7 @@ void Player::_SaveSeasonalQuestStatus(SQLTransaction& trans) m_SeasonalQuestChanged = false; } -void Player::_SaveMonthlyQuestStatus(SQLTransaction& trans) +void Player::_SaveMonthlyQuestStatus(CharacterDatabaseTransaction& trans) { if (!m_MonthlyQuestChanged || m_monthlyquests.empty()) return; @@ -20867,7 +20867,7 @@ void Player::_SaveMonthlyQuestStatus(SQLTransaction& trans) m_MonthlyQuestChanged = false; } -void Player::_SaveSkills(SQLTransaction& trans) +void Player::_SaveSkills(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt; // we don't need transactions here. @@ -20915,7 +20915,7 @@ void Player::_SaveSkills(SQLTransaction& trans) } } -void Player::_SaveSpells(SQLTransaction& trans) +void Player::_SaveSpells(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt; @@ -20955,7 +20955,7 @@ void Player::_SaveSpells(SQLTransaction& trans) // save player stats -- only for external usage // real stats will be recalculated on player login -void Player::_SaveStats(SQLTransaction& trans) const +void Player::_SaveStats(CharacterDatabaseTransaction& trans) const { // check if stat saving is enabled and if char level is high enough if (!sWorld->getIntConfig(CONFIG_MIN_LEVEL_STAT_SAVE) || getLevel() < sWorld->getIntConfig(CONFIG_MIN_LEVEL_STAT_SAVE)) @@ -21058,7 +21058,7 @@ bool Player::CanSpeak() const /*** LOW LEVEL FUNCTIONS:Notifiers ***/ /*********************************************************/ -void Player::SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGuid guid, SQLTransaction& trans) +void Player::SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGuid guid, CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHARACTER_POSITION); @@ -21991,7 +21991,7 @@ void Player::RemovePetitionsAndSigns(ObjectGuid guid) CharacterDatabase.Execute(stmt); } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PETITION_BY_OWNER); stmt->setUInt64(0, guid.GetCounter()); @@ -24656,7 +24656,7 @@ void Player::AutoUnequipOffhandIfNeed(bool force /*= false*/) else { MoveItemFromInventory(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND, true); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); offItem->DeleteFromInventoryDB(trans); // deletes item from character's inventory offItem->SaveToDB(trans); // recursive and not have transaction guard into self, item not in inventory and can be save standalone @@ -26550,7 +26550,7 @@ void Player::SetEquipmentSet(EquipmentSetInfo::EquipmentSetData const& newEqSet) eqSlot.State = eqSlot.State == EQUIPMENT_SET_NEW ? EQUIPMENT_SET_NEW : EQUIPMENT_SET_CHANGED; } -void Player::_SaveEquipmentSets(SQLTransaction& trans) +void Player::_SaveEquipmentSets(CharacterDatabaseTransaction& trans) { for (EquipmentSetContainer::iterator itr = _equipmentSets.begin(); itr != _equipmentSets.end();) { @@ -26643,7 +26643,7 @@ void Player::_SaveEquipmentSets(SQLTransaction& trans) } } -void Player::_SaveBGData(SQLTransaction& trans) +void Player::_SaveBGData(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PLAYER_BGDATA); stmt->setUInt64(0, GetGUID().GetCounter()); @@ -26736,7 +26736,7 @@ void Player::_LoadGlyphs(PreparedQueryResult result) } while (result->NextRow()); } -void Player::_SaveGlyphs(SQLTransaction& trans) const +void Player::_SaveGlyphs(CharacterDatabaseTransaction& trans) const { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_GLYPHS); stmt->setUInt64(0, GetGUID().GetCounter()); @@ -26783,7 +26783,7 @@ void Player::_LoadPvpTalents(PreparedQueryResult result) } } -void Player::_SaveTalents(SQLTransaction& trans) +void Player::_SaveTalents(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_TALENT); stmt->setUInt64(0, GetGUID().GetCounter()); @@ -26835,7 +26835,7 @@ void Player::ActivateTalentGroup(ChrSpecializationEntry const* spec) if (IsNonMeleeSpellCast(false)) InterruptNonMeleeSpells(false); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); _SaveActions(trans); CharacterDatabase.CommitTransaction(trans); @@ -27240,7 +27240,7 @@ void Player::RefundItem(Item* item) uint64 moneyRefund = item->GetPaidMoney(); // item-> will be invalidated in DestroyItem // Save all relevant data to DB to prevent desynchronisation exploits - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // Delete any references to the refund data item->SetNotRefundable(this, true, &trans, false); @@ -27289,7 +27289,7 @@ void Player::SendItemRetrievalMail(uint32 itemEntry, uint32 count) { MailSender sender(MAIL_CREATURE, UI64LIT(34337) /* The Postmaster */); MailDraft draft("Recovered Item", "We recovered a lost item in the twisting nether and noted that it was yours.$B$BPlease find said object enclosed."); // This is the text used in Cataclysm, it probably wasn't changed. - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); if (Item* item = Item::CreateItem(itemEntry, count, nullptr)) { @@ -27354,7 +27354,7 @@ void Player::_LoadInstanceTimeRestrictions(PreparedQueryResult result) } while (result->NextRow()); } -void Player::_SaveInstanceTimeRestrictions(SQLTransaction& trans) +void Player::_SaveInstanceTimeRestrictions(CharacterDatabaseTransaction& trans) { if (_instanceResetTimes.empty()) return; diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 73f37ecd97f..93e33a350d6 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1450,11 +1450,11 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> /*********************************************************/ void SaveToDB(bool create = false); - void SaveInventoryAndGoldToDB(SQLTransaction& trans); // fast save function for item/money cheating preventing - void SaveGoldToDB(SQLTransaction& trans) const; + void SaveInventoryAndGoldToDB(CharacterDatabaseTransaction& trans); // fast save function for item/money cheating preventing + void SaveGoldToDB(CharacterDatabaseTransaction& trans) const; static void SetUInt32ValueInArray(Tokenizer& data, uint16 index, uint32 value); - static void SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGuid guid, SQLTransaction& trans); + static void SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGuid guid, CharacterDatabaseTransaction& trans); static void DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRealmChars = true, bool deleteFinally = false); static void DeleteOldCharacters(); @@ -1839,7 +1839,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> void SpawnCorpseBones(bool triggerSave = true); Corpse* CreateCorpse(); void KillPlayer(); - static void OfflineResurrect(ObjectGuid const& guid, SQLTransaction& trans); + static void OfflineResurrect(ObjectGuid const& guid, CharacterDatabaseTransaction& trans); bool HasCorpse() const { return _corpseLocation.GetMapId() != MAPID_INVALID; } WorldLocation GetCorpseLocation() const { return _corpseLocation; } void InitializeSelfResurrectionSpells(); @@ -2521,26 +2521,26 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> /*** SAVE SYSTEM ***/ /*********************************************************/ - void _SaveActions(SQLTransaction& trans); - void _SaveAuras(SQLTransaction& trans); - void _SaveInventory(SQLTransaction& trans); - void _SaveVoidStorage(SQLTransaction& trans); - void _SaveMail(SQLTransaction& trans); - void _SaveQuestStatus(SQLTransaction& trans); - void _SaveDailyQuestStatus(SQLTransaction& trans); - void _SaveWeeklyQuestStatus(SQLTransaction& trans); - void _SaveMonthlyQuestStatus(SQLTransaction& trans); - void _SaveSeasonalQuestStatus(SQLTransaction& trans); - void _SaveSkills(SQLTransaction& trans); - void _SaveSpells(SQLTransaction& trans); - void _SaveEquipmentSets(SQLTransaction& trans); - void _SaveBGData(SQLTransaction& trans); - void _SaveGlyphs(SQLTransaction& trans) const; - void _SaveTalents(SQLTransaction& trans); - void _SaveStats(SQLTransaction& trans) const; - void _SaveInstanceTimeRestrictions(SQLTransaction& trans); - void _SaveCurrency(SQLTransaction& trans); - void _SaveCUFProfiles(SQLTransaction& trans); + void _SaveActions(CharacterDatabaseTransaction& trans); + void _SaveAuras(CharacterDatabaseTransaction& trans); + void _SaveInventory(CharacterDatabaseTransaction& trans); + void _SaveVoidStorage(CharacterDatabaseTransaction& trans); + void _SaveMail(CharacterDatabaseTransaction& trans); + void _SaveQuestStatus(CharacterDatabaseTransaction& trans); + void _SaveDailyQuestStatus(CharacterDatabaseTransaction& trans); + void _SaveWeeklyQuestStatus(CharacterDatabaseTransaction& trans); + void _SaveMonthlyQuestStatus(CharacterDatabaseTransaction& trans); + void _SaveSeasonalQuestStatus(CharacterDatabaseTransaction& trans); + void _SaveSkills(CharacterDatabaseTransaction& trans); + void _SaveSpells(CharacterDatabaseTransaction& trans); + void _SaveEquipmentSets(CharacterDatabaseTransaction& trans); + void _SaveBGData(CharacterDatabaseTransaction& trans); + void _SaveGlyphs(CharacterDatabaseTransaction& trans) const; + void _SaveTalents(CharacterDatabaseTransaction& trans); + void _SaveStats(CharacterDatabaseTransaction& trans) const; + void _SaveInstanceTimeRestrictions(CharacterDatabaseTransaction& trans); + void _SaveCurrency(CharacterDatabaseTransaction& trans); + void _SaveCUFProfiles(CharacterDatabaseTransaction& trans); /*********************************************************/ /*** ENVIRONMENTAL SYSTEM ***/ @@ -2711,7 +2711,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> InventoryResult CanStoreItem_InBag(uint8 bag, ItemPosCountVec& dest, ItemTemplate const* pProto, uint32& count, bool merge, bool non_specialized, Item* pSrcItem, uint8 skip_bag, uint8 skip_slot) const; InventoryResult CanStoreItem_InInventorySlots(uint8 slot_begin, uint8 slot_end, ItemPosCountVec& dest, ItemTemplate const* pProto, uint32& count, bool merge, Item* pSrcItem, uint8 skip_bag, uint8 skip_slot) const; Item* _StoreItem(uint16 pos, Item* pItem, uint32 count, bool clone, bool update); - Item* _LoadItem(SQLTransaction& trans, uint32 zoneId, uint32 timeDiff, Field* fields); + Item* _LoadItem(CharacterDatabaseTransaction& trans, uint32 zoneId, uint32 timeDiff, Field* fields); CinematicMgr* _cinematicMgr; |
