diff options
author | Shauren <shauren.trinity@gmail.com> | 2019-07-27 10:52:33 +0200 |
---|---|---|
committer | Giacomo Pozzoni <giacomopoz@gmail.com> | 2020-03-31 13:42:01 +0000 |
commit | 635b8d52d58f7d502fc249c11c1044923e80935f (patch) | |
tree | 3305f07a454da2d7385e1cd60fd20a3dde5e2cec | |
parent | fe1003bdbd88e2bccf2ac91ffd18804a6d9b6fb3 (diff) |
Core/DBLayer: Prevent committing transactions started on a different database
(cherry picked from commit f6e2b8cdc1c8a3dd291947f67566b41dac116622)
# Conflicts:
# src/server/bnetserver/REST/LoginRESTService.cpp
# src/server/database/Database/DatabaseWorkerPool.cpp
# src/server/database/Database/DatabaseWorkerPool.h
# src/server/database/Database/Implementation/HotfixDatabase.h
# src/server/database/Database/MySQLConnection.h
# src/server/database/Database/Transaction.cpp
# src/server/database/Database/Transaction.h
# src/server/game/Achievements/AchievementMgr.cpp
# src/server/game/Achievements/AchievementMgr.h
# src/server/game/AuctionHouse/AuctionHouseMgr.cpp
# src/server/game/AuctionHouse/AuctionHouseMgr.h
# src/server/game/BattlePets/BattlePetMgr.cpp
# src/server/game/BattlePets/BattlePetMgr.h
# src/server/game/BlackMarket/BlackMarketMgr.cpp
# src/server/game/BlackMarket/BlackMarketMgr.h
# src/server/game/Entities/Creature/Creature.cpp
# src/server/game/Entities/Item/Item.cpp
# src/server/game/Entities/Item/Item.h
# src/server/game/Entities/Player/CollectionMgr.cpp
# src/server/game/Entities/Player/CollectionMgr.h
# src/server/game/Entities/Player/Player.cpp
# src/server/game/Entities/Player/Player.h
# src/server/game/Garrison/Garrison.cpp
# src/server/game/Garrison/Garrison.h
# src/server/game/Groups/Group.cpp
# src/server/game/Guilds/Guild.cpp
# src/server/game/Guilds/Guild.h
# src/server/game/Guilds/GuildFinderMgr.cpp
# src/server/game/Handlers/BlackMarketHandler.cpp
# src/server/game/Handlers/CalendarHandler.cpp
# src/server/game/Handlers/CharacterHandler.cpp
# src/server/game/Handlers/MailHandler.cpp
# src/server/game/Handlers/PetHandler.cpp
# src/server/game/Handlers/PetitionsHandler.cpp
# src/server/game/Mails/Mail.cpp
# src/server/game/Pools/PoolMgr.cpp
# src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
# src/server/game/Quests/QuestObjectiveCriteriaMgr.h
# src/server/game/Scenarios/InstanceScenario.cpp
# src/server/game/Server/WorldSession.cpp
# src/server/game/Server/WorldSession.h
# src/server/game/Spells/SpellHistory.cpp
# src/server/game/Support/SupportMgr.cpp
# src/server/game/Tools/PlayerDump.cpp
# src/server/scripts/Commands/cs_misc.cpp
80 files changed, 409 insertions, 385 deletions
diff --git a/src/server/database/Database/DatabaseEnvFwd.h b/src/server/database/Database/DatabaseEnvFwd.h index 1fe95c54a5c..f6f7653c3f9 100644 --- a/src/server/database/Database/DatabaseEnvFwd.h +++ b/src/server/database/Database/DatabaseEnvFwd.h @@ -28,11 +28,21 @@ typedef std::shared_ptr<ResultSet> QueryResult; typedef std::future<QueryResult> QueryResultFuture; typedef std::promise<QueryResult> QueryResultPromise; +class CharacterDatabaseConnection; +class HotfixDatabaseConnection; +class LoginDatabaseConnection; +class WorldDatabaseConnection; + class PreparedStatementBase; template<typename T> class PreparedStatement; +using CharacterDatabasePreparedStatement = PreparedStatement<CharacterDatabaseConnection>; +using HotfixDatabasePreparedStatement = PreparedStatement<HotfixDatabaseConnection>; +using LoginDatabasePreparedStatement = PreparedStatement<LoginDatabaseConnection>; +using WorldDatabasePreparedStatement = PreparedStatement<WorldDatabaseConnection>; + class PreparedResultSet; typedef std::shared_ptr<PreparedResultSet> PreparedQueryResult; typedef std::future<PreparedQueryResult> PreparedQueryResultFuture; @@ -40,8 +50,18 @@ typedef std::promise<PreparedQueryResult> PreparedQueryResultPromise; class QueryCallback; +class TransactionBase; + +template<typename T> class Transaction; -typedef std::shared_ptr<Transaction> SQLTransaction; + +template<typename T> +using SQLTransaction = std::shared_ptr<Transaction<T>>; + +using CharacterDatabaseTransaction = SQLTransaction<CharacterDatabaseConnection>; +using HotfixDatabaseTransaction = SQLTransaction<HotfixDatabaseConnection>; +using LoginDatabaseTransaction = SQLTransaction<LoginDatabaseConnection>; +using WorldDatabaseTransaction = SQLTransaction<WorldDatabaseConnection>; class SQLQueryHolder; typedef std::future<SQLQueryHolder*> QueryResultHolderFuture; diff --git a/src/server/database/Database/DatabaseWorkerPool.cpp b/src/server/database/Database/DatabaseWorkerPool.cpp index da30c84a753..ac1cc3c71dc 100644 --- a/src/server/database/Database/DatabaseWorkerPool.cpp +++ b/src/server/database/Database/DatabaseWorkerPool.cpp @@ -232,13 +232,13 @@ QueryResultHolderFuture DatabaseWorkerPool<T>::DelayQueryHolder(SQLQueryHolder* } template <class T> -SQLTransaction DatabaseWorkerPool<T>::BeginTransaction() +SQLTransaction<T> DatabaseWorkerPool<T>::BeginTransaction() { - return std::make_shared<Transaction>(); + return std::make_shared<Transaction<T>>(); } template <class T> -void DatabaseWorkerPool<T>::CommitTransaction(SQLTransaction transaction) +void DatabaseWorkerPool<T>::CommitTransaction(SQLTransaction<T> transaction) { #ifdef TRINITY_DEBUG //! Only analyze transaction weaknesses in Debug mode. @@ -261,7 +261,7 @@ void DatabaseWorkerPool<T>::CommitTransaction(SQLTransaction transaction) } template <class T> -void DatabaseWorkerPool<T>::DirectCommitTransaction(SQLTransaction& transaction) +void DatabaseWorkerPool<T>::DirectCommitTransaction(SQLTransaction<T>& transaction) { T* connection = GetFreeConnection(); int errorCode = connection->ExecuteTransaction(transaction); @@ -447,7 +447,7 @@ void DatabaseWorkerPool<T>::DirectExecute(PreparedStatement<T>* stmt) } template <class T> -void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, char const* sql) +void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction<T>& trans, char const* sql) { if (!trans) Execute(sql); @@ -456,7 +456,7 @@ void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, char const* s } template <class T> -void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, PreparedStatement<T>* stmt) +void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction<T>& trans, PreparedStatement<T>* stmt) { if (!trans) Execute(stmt); diff --git a/src/server/database/Database/DatabaseWorkerPool.h b/src/server/database/Database/DatabaseWorkerPool.h index 635670dce08..25cd87bf6cd 100644 --- a/src/server/database/Database/DatabaseWorkerPool.h +++ b/src/server/database/Database/DatabaseWorkerPool.h @@ -167,23 +167,23 @@ class DatabaseWorkerPool */ //! Begins an automanaged transaction pointer that will automatically rollback if not commited. (Autocommit=0) - SQLTransaction BeginTransaction(); + SQLTransaction<T> BeginTransaction(); //! Enqueues a collection of one-way SQL operations (can be both adhoc and prepared). The order in which these operations //! were appended to the transaction will be respected during execution. - void CommitTransaction(SQLTransaction transaction); + void CommitTransaction(SQLTransaction<T> transaction); //! Directly executes a collection of one-way SQL operations (can be both adhoc and prepared). The order in which these operations //! were appended to the transaction will be respected during execution. - void DirectCommitTransaction(SQLTransaction& transaction); + void DirectCommitTransaction(SQLTransaction<T>& transaction); //! Method used to execute ad-hoc statements in a diverse context. //! Will be wrapped in a transaction if valid object is present, otherwise executed standalone. - void ExecuteOrAppend(SQLTransaction& trans, char const* sql); + void ExecuteOrAppend(SQLTransaction<T>& trans, char const* sql); //! Method used to execute prepared statements in a diverse context. //! Will be wrapped in a transaction if valid object is present, otherwise executed standalone. - void ExecuteOrAppend(SQLTransaction& trans, PreparedStatement<T>* stmt); + void ExecuteOrAppend(SQLTransaction<T>& trans, PreparedStatement<T>* stmt); /** Other diff --git a/src/server/database/Database/Implementation/CharacterDatabase.h b/src/server/database/Database/Implementation/CharacterDatabase.h index bb78cdbc542..1367971d697 100644 --- a/src/server/database/Database/Implementation/CharacterDatabase.h +++ b/src/server/database/Database/Implementation/CharacterDatabase.h @@ -540,6 +540,4 @@ public: void DoPrepareStatements() override; }; -using CharacterDatabasePreparedStatement = PreparedStatement<CharacterDatabaseConnection>; - #endif diff --git a/src/server/database/Database/Implementation/LoginDatabase.h b/src/server/database/Database/Implementation/LoginDatabase.h index ea9b0d4a30f..f9a18960728 100644 --- a/src/server/database/Database/Implementation/LoginDatabase.h +++ b/src/server/database/Database/Implementation/LoginDatabase.h @@ -137,6 +137,4 @@ public: void DoPrepareStatements() override; }; -using LoginDatabasePreparedStatement = PreparedStatement<LoginDatabaseConnection>; - #endif diff --git a/src/server/database/Database/Implementation/WorldDatabase.h b/src/server/database/Database/Implementation/WorldDatabase.h index d767908244a..7b009320716 100644 --- a/src/server/database/Database/Implementation/WorldDatabase.h +++ b/src/server/database/Database/Implementation/WorldDatabase.h @@ -118,6 +118,4 @@ public: void DoPrepareStatements() override; }; -using WorldDatabasePreparedStatement = PreparedStatement<WorldDatabaseConnection>; - #endif diff --git a/src/server/database/Database/MySQLConnection.cpp b/src/server/database/Database/MySQLConnection.cpp index 06e7f703437..8205b70f38d 100644 --- a/src/server/database/Database/MySQLConnection.cpp +++ b/src/server/database/Database/MySQLConnection.cpp @@ -366,7 +366,7 @@ void MySQLConnection::CommitTransaction() Execute("COMMIT"); } -int MySQLConnection::ExecuteTransaction(SQLTransaction& transaction) +int MySQLConnection::ExecuteTransaction(std::shared_ptr<TransactionBase> transaction) { std::vector<SQLElementData> const& queries = transaction->m_queries; if (queries.empty()) diff --git a/src/server/database/Database/MySQLConnection.h b/src/server/database/Database/MySQLConnection.h index 411f570ba32..e4368db44ba 100644 --- a/src/server/database/Database/MySQLConnection.h +++ b/src/server/database/Database/MySQLConnection.h @@ -76,7 +76,7 @@ class TC_DATABASE_API MySQLConnection void BeginTransaction(); void RollbackTransaction(); void CommitTransaction(); - int ExecuteTransaction(SQLTransaction& transaction); + int ExecuteTransaction(std::shared_ptr<TransactionBase> transaction); size_t EscapeString(char* to, const char* from, size_t length); void Ping(); diff --git a/src/server/database/Database/Transaction.cpp b/src/server/database/Database/Transaction.cpp index 867dcf1f1f0..be5c28bceb3 100644 --- a/src/server/database/Database/Transaction.cpp +++ b/src/server/database/Database/Transaction.cpp @@ -29,7 +29,7 @@ std::mutex TransactionTask::_deadlockLock; #define DEADLOCK_MAX_RETRY_TIME_MS 60000 //- Append a raw ad-hoc query to the transaction -void Transaction::Append(char const* sql) +void TransactionBase::Append(char const* sql) { SQLElementData data; data.type = SQL_ELEMENT_RAW; @@ -38,7 +38,7 @@ void Transaction::Append(char const* sql) } //- Append a prepared statement to the transaction -void Transaction::Append(PreparedStatementBase* stmt) +void TransactionBase::AppendPreparedStatement(PreparedStatementBase* stmt) { SQLElementData data; data.type = SQL_ELEMENT_PREPARED; @@ -46,7 +46,7 @@ void Transaction::Append(PreparedStatementBase* stmt) m_queries.push_back(data); } -void Transaction::Cleanup() +void TransactionBase::Cleanup() { // This might be called by explicit calls to Cleanup or by the auto-destructor if (_cleanedUp) diff --git a/src/server/database/Database/Transaction.h b/src/server/database/Database/Transaction.h index 0a926f1e55d..b11f94ce14e 100644 --- a/src/server/database/Database/Transaction.h +++ b/src/server/database/Database/Transaction.h @@ -26,7 +26,7 @@ #include <vector> /*! Transactions, high level class. */ -class TC_DATABASE_API Transaction +class TC_DATABASE_API TransactionBase { friend class TransactionTask; friend class MySQLConnection; @@ -35,10 +35,9 @@ class TC_DATABASE_API Transaction friend class DatabaseWorkerPool; public: - Transaction() : _cleanedUp(false) { } - ~Transaction() { Cleanup(); } + TransactionBase() : _cleanedUp(false) { } + virtual ~TransactionBase() { Cleanup(); } - void Append(PreparedStatementBase* statement); void Append(char const* sql); template<typename Format, typename... Args> void PAppend(Format&& sql, Args&&... args) @@ -49,12 +48,23 @@ class TC_DATABASE_API Transaction std::size_t GetSize() const { return m_queries.size(); } protected: + void AppendPreparedStatement(PreparedStatementBase* statement); void Cleanup(); std::vector<SQLElementData> m_queries; private: bool _cleanedUp; +}; +template<typename T> +class Transaction : public TransactionBase +{ +public: + using TransactionBase::Append; + void Append(PreparedStatement<T>* statement) + { + AppendPreparedStatement(statement); + } }; /*! Low level class*/ @@ -64,13 +74,13 @@ class TC_DATABASE_API TransactionTask : public SQLOperation friend class DatabaseWorker; public: - TransactionTask(SQLTransaction trans) : m_trans(trans) { } + TransactionTask(std::shared_ptr<TransactionBase> trans) : m_trans(trans) { } ~TransactionTask() { } protected: bool Execute() override; - SQLTransaction m_trans; + std::shared_ptr<TransactionBase> m_trans; static std::mutex _deadlockLock; }; diff --git a/src/server/game/Accounts/AccountMgr.cpp b/src/server/game/Accounts/AccountMgr.cpp index 6b5af4ab6a9..3b92289c02e 100644 --- a/src/server/game/Accounts/AccountMgr.cpp +++ b/src/server/game/Accounts/AccountMgr.cpp @@ -119,7 +119,7 @@ AccountOpResult AccountMgr::DeleteAccount(uint32 accountId) stmt->setUInt32(0, accountId); CharacterDatabase.Execute(stmt); - SQLTransaction trans = LoginDatabase.BeginTransaction(); + LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction(); loginStmt = LoginDatabase.GetPreparedStatement(LOGIN_DEL_ACCOUNT); loginStmt->setUInt32(0, accountId); @@ -508,7 +508,7 @@ void AccountMgr::UpdateAccountAccess(rbac::RBACData* rbac, uint32 accountId, uin if (rbac && securityLevel != rbac->GetSecurityLevel()) rbac->SetSecurityLevel(securityLevel); - SQLTransaction trans = LoginDatabase.BeginTransaction(); + LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction(); // Delete old security level from DB if (realmId == -1) { diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index a9b35b46786..ee6e0da0f4c 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -535,7 +535,7 @@ void AchievementMgr::ResetAchievementCriteria(AchievementCriteriaCondition condi void AchievementMgr::DeleteFromDB(ObjectGuid guid) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT); stmt->setUInt32(0, guid.GetCounter()); @@ -548,7 +548,7 @@ void AchievementMgr::DeleteFromDB(ObjectGuid guid) CharacterDatabase.CommitTransaction(trans); } -void AchievementMgr::SaveToDB(SQLTransaction& trans) +void AchievementMgr::SaveToDB(CharacterDatabaseTransaction& trans) { if (!m_completedAchievements.empty()) { @@ -1563,7 +1563,7 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement) draft = MailDraft(subject, text); } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); Item* item = reward->ItemId ? Item::CreateItem(reward->ItemId, 1, GetPlayer()) : nullptr; if (item) diff --git a/src/server/game/Achievements/AchievementMgr.h b/src/server/game/Achievements/AchievementMgr.h index c3cd3d0ea2b..6af7f7b82f3 100644 --- a/src/server/game/Achievements/AchievementMgr.h +++ b/src/server/game/Achievements/AchievementMgr.h @@ -278,7 +278,7 @@ class TC_GAME_API AchievementMgr void Reset(); static void DeleteFromDB(ObjectGuid lowguid); void LoadFromDB(PreparedQueryResult achievementResult, PreparedQueryResult criteriaResult); - void SaveToDB(SQLTransaction& trans); + void SaveToDB(CharacterDatabaseTransaction& trans); void ResetAchievementCriteria(AchievementCriteriaCondition condition, uint32 value, bool evenIfCriteriaComplete); void UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1 = 0, uint32 miscValue2 = 0, WorldObject* ref = nullptr); void CompletedAchievement(AchievementEntry const* entry); diff --git a/src/server/game/Addons/AddonMgr.cpp b/src/server/game/Addons/AddonMgr.cpp index 42c783615e9..0597d1a8744 100644 --- a/src/server/game/Addons/AddonMgr.cpp +++ b/src/server/game/Addons/AddonMgr.cpp @@ -97,7 +97,7 @@ void LoadFromDB() void SaveAddon(std::string const& name, uint32 publicKeyCrc) { - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_ADDON); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_ADDON); stmt->setString(0, name); stmt->setUInt32(1, publicKeyCrc); diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp index 18836b71983..8aa0793df74 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp @@ -120,7 +120,7 @@ uint32 AuctionHouseMgr::GetAuctionDeposit(AuctionHouseEntry const* entry, uint32 } //does not clear ram -void AuctionHouseMgr::SendAuctionWonMail(AuctionEntry* auction, SQLTransaction& trans) +void AuctionHouseMgr::SendAuctionWonMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans) { Item* pItem = GetAItem(auction->itemGUIDLow); if (!pItem) @@ -189,7 +189,7 @@ void AuctionHouseMgr::SendAuctionWonMail(AuctionEntry* auction, SQLTransaction& } } -void AuctionHouseMgr::SendAuctionSalePendingMail(AuctionEntry* auction, SQLTransaction& trans) +void AuctionHouseMgr::SendAuctionSalePendingMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans) { ObjectGuid owner_guid(HighGuid::Player, auction->owner); Player* owner = ObjectAccessor::FindConnectedPlayer(owner_guid); @@ -201,7 +201,7 @@ void AuctionHouseMgr::SendAuctionSalePendingMail(AuctionEntry* auction, SQLTrans } //call this method to send mail to auction owner, when auction is successful, it does not clear ram -void AuctionHouseMgr::SendAuctionSuccessfulMail(AuctionEntry* auction, SQLTransaction& trans) +void AuctionHouseMgr::SendAuctionSuccessfulMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans) { ObjectGuid owner_guid(HighGuid::Player, auction->owner); Player* owner = ObjectAccessor::FindConnectedPlayer(owner_guid); @@ -227,7 +227,7 @@ void AuctionHouseMgr::SendAuctionSuccessfulMail(AuctionEntry* auction, SQLTransa } //does not clear ram -void AuctionHouseMgr::SendAuctionExpiredMail(AuctionEntry* auction, SQLTransaction& trans) +void AuctionHouseMgr::SendAuctionExpiredMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans) { //return an item in auction to its owner by mail Item* pItem = GetAItem(auction->itemGUIDLow); @@ -255,7 +255,7 @@ void AuctionHouseMgr::SendAuctionExpiredMail(AuctionEntry* auction, SQLTransacti } //this function sends mail to old bidder -void AuctionHouseMgr::SendAuctionOutbiddedMail(AuctionEntry* auction, uint32 newPrice, Player* newBidder, SQLTransaction& trans) +void AuctionHouseMgr::SendAuctionOutbiddedMail(AuctionEntry* auction, uint32 newPrice, Player* newBidder, CharacterDatabaseTransaction& trans) { ObjectGuid oldBidder_guid(HighGuid::Player, auction->bidder); Player* oldBidder = ObjectAccessor::FindConnectedPlayer(oldBidder_guid); @@ -277,7 +277,7 @@ void AuctionHouseMgr::SendAuctionOutbiddedMail(AuctionEntry* auction, uint32 new } //this function sends mail, when auction is cancelled to old bidder -void AuctionHouseMgr::SendAuctionCancelledToBidderMail(AuctionEntry* auction, SQLTransaction& trans) +void AuctionHouseMgr::SendAuctionCancelledToBidderMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans) { ObjectGuid bidder_guid = ObjectGuid(HighGuid::Player, auction->bidder); Player* bidder = ObjectAccessor::FindConnectedPlayer(bidder_guid); @@ -381,7 +381,7 @@ void AuctionHouseMgr::LoadAuctions() // parse auctions from db uint32 countAuctions = 0; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); do { Field* fields = resultAuctions->Fetch(); @@ -414,7 +414,7 @@ void AuctionHouseMgr::AddAItem(Item* it) mAitems[it->GetGUID().GetCounter()] = it; } -bool AuctionHouseMgr::RemoveAItem(ObjectGuid::LowType id, bool deleteItem /*= false*/, SQLTransaction* trans /*= nullptr*/) +bool AuctionHouseMgr::RemoveAItem(ObjectGuid::LowType id, bool deleteItem /*= false*/, CharacterDatabaseTransaction* trans /*= nullptr*/) { ItemMap::iterator i = mAitems.find(id); if (i == mAitems.end()) @@ -490,7 +490,7 @@ void AuctionHouseMgr::PendingAuctionProcess(Player* player) // expire auctions we cannot afford if (itrAH != thisAH->end()) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); do { @@ -534,7 +534,7 @@ void AuctionHouseMgr::UpdatePendingAuctions() TC_LOG_WARN("auctionHouse", "Player %s was offline, unable to retrieve deposit!", playerGUID.ToString().c_str()); PlayerAuctions* thisAH = itr->second.first; ++itr; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); for (auto AHitr = thisAH->begin(); AHitr != thisAH->end();) { AuctionEntry* AH = (*AHitr); @@ -622,7 +622,7 @@ void AuctionHouseObject::Update() ++itr; } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); for (AuctionEntryMap::iterator it = AuctionsMap.begin(); it != AuctionsMap.end();) { @@ -873,7 +873,7 @@ uint32 AuctionEntry::GetAuctionOutBid() const return outbid ? outbid : 1; } -void AuctionEntry::DeleteFromDB(SQLTransaction& trans) const +void AuctionEntry::DeleteFromDB(CharacterDatabaseTransaction& trans) const { CharacterDatabasePreparedStatement* stmt; @@ -886,7 +886,7 @@ void AuctionEntry::DeleteFromDB(SQLTransaction& trans) const trans->Append(stmt); } -void AuctionEntry::SaveToDB(SQLTransaction& trans) const +void AuctionEntry::SaveToDB(CharacterDatabaseTransaction& trans) const { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_AUCTION); stmt->setUInt32(0, Id); diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.h b/src/server/game/AuctionHouse/AuctionHouseMgr.h index 488ee1aae9d..fe3b7056080 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.h +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h @@ -95,8 +95,8 @@ struct TC_GAME_API AuctionEntry uint32 GetAuctionCut() const; uint32 GetAuctionOutBid() const; bool BuildAuctionInfo(WorldPacket & data, Item* sourceItem = nullptr) const; - void DeleteFromDB(SQLTransaction& trans) const; - void SaveToDB(SQLTransaction& trans) const; + void DeleteFromDB(CharacterDatabaseTransaction& trans) const; + void SaveToDB(CharacterDatabaseTransaction& trans) const; bool LoadFromDB(Field* fields); std::string BuildAuctionMailSubject(MailAuctionAnswers response) const; static std::string BuildAuctionMailBody(ObjectGuid::LowType lowGuid, uint32 bid, uint32 buyout, uint32 deposit, uint32 cut); @@ -175,12 +175,12 @@ class TC_GAME_API AuctionHouseMgr } //auction messages - void SendAuctionWonMail(AuctionEntry* auction, SQLTransaction& trans); - void SendAuctionSalePendingMail(AuctionEntry* auction, SQLTransaction& trans); - void SendAuctionSuccessfulMail(AuctionEntry* auction, SQLTransaction& trans); - void SendAuctionExpiredMail(AuctionEntry* auction, SQLTransaction& trans); - void SendAuctionOutbiddedMail(AuctionEntry* auction, uint32 newPrice, Player* newBidder, SQLTransaction& trans); - void SendAuctionCancelledToBidderMail(AuctionEntry* auction, SQLTransaction& trans); + void SendAuctionWonMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans); + void SendAuctionSalePendingMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans); + void SendAuctionSuccessfulMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans); + void SendAuctionExpiredMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans); + void SendAuctionOutbiddedMail(AuctionEntry* auction, uint32 newPrice, Player* newBidder, CharacterDatabaseTransaction& trans); + void SendAuctionCancelledToBidderMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans); static uint32 GetAuctionDeposit(AuctionHouseEntry const* entry, uint32 time, Item* pItem, uint32 count); static AuctionHouseEntry const* GetAuctionHouseEntry(uint32 factionTemplateId); @@ -192,7 +192,7 @@ class TC_GAME_API AuctionHouseMgr void LoadAuctions(); void AddAItem(Item* it); - bool RemoveAItem(ObjectGuid::LowType id, bool deleteItem = false, SQLTransaction* trans = nullptr); + bool RemoveAItem(ObjectGuid::LowType id, bool deleteItem = false, CharacterDatabaseTransaction* trans = nullptr); bool PendingAuctionAdd(Player* player, AuctionEntry* aEntry); uint32 PendingAuctionCount(Player const* player) const; void PendingAuctionProcess(Player* player); diff --git a/src/server/game/AuctionHouseBot/AuctionHouseBot.cpp b/src/server/game/AuctionHouseBot/AuctionHouseBot.cpp index 4617beeb006..96fd4fc5b7c 100644 --- a/src/server/game/AuctionHouseBot/AuctionHouseBot.cpp +++ b/src/server/game/AuctionHouseBot/AuctionHouseBot.cpp @@ -67,7 +67,7 @@ bool AuctionBotConfig::Initialize() { // find account guids associated with ahbot account uint32 count = 0; - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARS_BY_ACCOUNT_ID); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHARS_BY_ACCOUNT_ID); stmt->setUInt32(0, ahBotAccId); if (PreparedQueryResult result = CharacterDatabase.Query(stmt)) { diff --git a/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp b/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp index a972744c424..380d719e2be 100644 --- a/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp +++ b/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp @@ -391,7 +391,7 @@ void AuctionBotBuyer::BuyEntry(AuctionEntry* auction, AuctionHouseObject* auctio { TC_LOG_DEBUG("ahbot", "AHBot: Entry %u bought at %.2fg", auction->Id, float(auction->buyout) / GOLD); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // Send mail to previous bidder if any if (auction->bidder && !sAuctionBotConfig->IsBotChar(auction->bidder)) @@ -422,7 +422,7 @@ void AuctionBotBuyer::PlaceBidToEntry(AuctionEntry* auction, uint32 bidPrice) { TC_LOG_DEBUG("ahbot", "AHBot: Bid placed to entry %u, %.2fg", auction->Id, float(bidPrice) / GOLD); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // Send mail to previous bidder if any if (auction->bidder && !sAuctionBotConfig->IsBotChar(auction->bidder)) diff --git a/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp b/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp index 7f1f432c5fd..dfbe396e660 100644 --- a/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp +++ b/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp @@ -854,7 +854,7 @@ void AuctionBotSeller::AddNewAuctions(SellerConfiguration& config) AllItemsArray allItems(MAX_AUCTION_QUALITY, std::vector<uint32>(MAX_ITEM_CLASS)); // Main loop // getRandomArray will give what categories of items should be added (return true if there is at least 1 items missed) - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); while (GetItemsToSell(config, itemsToSell, allItems) && items > 0) { --items; diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp index 59cb877f303..810fa7d78fc 100644 --- a/src/server/game/Battlegrounds/ArenaTeam.cpp +++ b/src/server/game/Battlegrounds/ArenaTeam.cpp @@ -386,7 +386,7 @@ void ArenaTeam::Disband(WorldSession* session) } // Update database - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ARENA_TEAM); stmt->setUInt32(0, TeamId); @@ -409,7 +409,7 @@ void ArenaTeam::Disband() DelMember(Members.front().Guid, false); // Update database - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ARENA_TEAM); stmt->setUInt32(0, TeamId); @@ -914,7 +914,7 @@ void ArenaTeam::SaveToDB() // Save team and member stats to db // Called after a match has ended or when calculating arena_points - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ARENA_TEAM_STATS); stmt->setUInt16(0, Stats.Rating); diff --git a/src/server/game/Battlegrounds/ArenaTeamMgr.cpp b/src/server/game/Battlegrounds/ArenaTeamMgr.cpp index c29b90e4e88..5e7fa725e70 100644 --- a/src/server/game/Battlegrounds/ArenaTeamMgr.cpp +++ b/src/server/game/Battlegrounds/ArenaTeamMgr.cpp @@ -156,9 +156,9 @@ void ArenaTeamMgr::DistributeArenaPoints() if (ArenaTeam* at = teamItr->second) at->UpdateArenaPointsHelper(PlayerPoints); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); - PreparedStatement* stmt; + CharacterDatabasePreparedStatement* stmt; // Cycle that gives points to all players for (std::map<uint32, uint32>::iterator playerItr = PlayerPoints.begin(); playerItr != PlayerPoints.end(); ++playerItr) diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp index ab1ee0d043f..1ea35dd92b6 100644 --- a/src/server/game/Battlegrounds/Battleground.cpp +++ b/src/server/game/Battlegrounds/Battleground.cpp @@ -857,7 +857,7 @@ void Battleground::RemovePlayerAtLeave(ObjectGuid guid, bool Transport, bool Sen } else { - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); Player::OfflineResurrect(guid, trans); } diff --git a/src/server/game/Battlegrounds/BattlegroundQueue.cpp b/src/server/game/Battlegrounds/BattlegroundQueue.cpp index e0b607d6bbf..21da93e27e7 100644 --- a/src/server/game/Battlegrounds/BattlegroundQueue.cpp +++ b/src/server/game/Battlegrounds/BattlegroundQueue.cpp @@ -1079,7 +1079,7 @@ bool BGQueueRemoveEvent::Execute(uint64 /*e_time*/, uint32 /*p_time*/) if (bg && bg->isBattleground() && sWorld->getBoolConfig(CONFIG_BATTLEGROUND_TRACK_DESERTERS) && (bg->GetStatus() == STATUS_IN_PROGRESS || bg->GetStatus() == STATUS_WAIT_JOIN)) { - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_DESERTER_TRACK); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_DESERTER_TRACK); stmt->setUInt32(0, player->GetGUID().GetCounter()); stmt->setUInt8(1, BG_DESERTION_TYPE_NO_ENTER_BUTTON); CharacterDatabase.Execute(stmt); diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp index c32c2b410a6..5ec4d38c2f0 100644 --- a/src/server/game/Calendar/CalendarMgr.cpp +++ b/src/server/game/Calendar/CalendarMgr.cpp @@ -146,11 +146,11 @@ void CalendarMgr::AddEvent(CalendarEvent* calendarEvent, CalendarSendEventType s void CalendarMgr::AddInvite(CalendarEvent* calendarEvent, CalendarInvite* invite) { - SQLTransaction dummy; + CharacterDatabaseTransaction dummy; AddInvite(calendarEvent, invite, dummy); } -void CalendarMgr::AddInvite(CalendarEvent* calendarEvent, CalendarInvite* invite, SQLTransaction& trans) +void CalendarMgr::AddInvite(CalendarEvent* calendarEvent, CalendarInvite* invite, CharacterDatabaseTransaction& trans) { if (!calendarEvent->IsGuildAnnouncement()) SendCalendarEventInvite(*invite); @@ -188,7 +188,7 @@ void CalendarMgr::RemoveEvent(CalendarEvent* calendarEvent, ObjectGuid remover) SendCalendarEventRemovedAlert(*calendarEvent); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt; MailDraft mail(calendarEvent->BuildCalendarMailSubject(remover), calendarEvent->BuildCalendarMailBody()); @@ -234,7 +234,7 @@ void CalendarMgr::RemoveInvite(uint64 inviteId, uint64 eventId, ObjectGuid /*rem if (itr == _invites[eventId].end()) return; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CALENDAR_INVITE); stmt->setUInt64(0, (*itr)->GetInviteId()); trans->Append(stmt); @@ -271,11 +271,11 @@ void CalendarMgr::UpdateEvent(CalendarEvent* calendarEvent) void CalendarMgr::UpdateInvite(CalendarInvite* invite) { - SQLTransaction dummy; + CharacterDatabaseTransaction dummy; UpdateInvite(invite, dummy); } -void CalendarMgr::UpdateInvite(CalendarInvite* invite, SQLTransaction& trans) +void CalendarMgr::UpdateInvite(CalendarInvite* invite, CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_CALENDAR_INVITE); stmt->setUInt64(0, invite->GetInviteId()); diff --git a/src/server/game/Calendar/CalendarMgr.h b/src/server/game/Calendar/CalendarMgr.h index 38c86604ba7..bd98f20db01 100644 --- a/src/server/game/Calendar/CalendarMgr.h +++ b/src/server/game/Calendar/CalendarMgr.h @@ -323,10 +323,10 @@ class TC_GAME_API CalendarMgr void UpdateEvent(CalendarEvent* calendarEvent); void AddInvite(CalendarEvent* calendarEvent, CalendarInvite* invite); - void AddInvite(CalendarEvent* calendarEvent, CalendarInvite* invite, SQLTransaction& trans); + void AddInvite(CalendarEvent* calendarEvent, CalendarInvite* invite, CharacterDatabaseTransaction& trans); void RemoveInvite(uint64 inviteId, uint64 eventId, ObjectGuid remover); void UpdateInvite(CalendarInvite* invite); - void UpdateInvite(CalendarInvite* invite, SQLTransaction& trans); + void UpdateInvite(CalendarInvite* invite, CharacterDatabaseTransaction& trans); void RemoveAllPlayerEventsAndInvites(ObjectGuid guid); void RemovePlayerGuildEventsAndSignups(ObjectGuid guid, ObjectGuid::LowType guildId); diff --git a/src/server/game/Chat/Channels/ChannelMgr.cpp b/src/server/game/Chat/Channels/ChannelMgr.cpp index 27681bd0e5b..9d05ff3caae 100644 --- a/src/server/game/Chat/Channels/ChannelMgr.cpp +++ b/src/server/game/Chat/Channels/ChannelMgr.cpp @@ -44,7 +44,7 @@ ChannelMgr::~ChannelMgr() uint32 oldMSTime = getMSTime(); if (uint32 days = sWorld->getIntConfig(CONFIG_PRESERVE_CUSTOM_CHANNEL_DURATION)) { - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_OLD_CHANNELS); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_OLD_CHANNELS); stmt->setUInt32(0, days * DAY); CharacterDatabase.Execute(stmt); } @@ -95,7 +95,7 @@ ChannelMgr::~ChannelMgr() for (auto pair : toDelete) { - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHANNEL); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHANNEL); stmt->setString(0, pair.first); stmt->setUInt32(1, pair.second); CharacterDatabase.Execute(stmt); diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp index d094455cae4..d1d1359c701 100644 --- a/src/server/game/DungeonFinding/LFGMgr.cpp +++ b/src/server/game/DungeonFinding/LFGMgr.cpp @@ -100,7 +100,7 @@ void LFGMgr::_SaveToDB(ObjectGuid guid, uint32 db_guid) if (!guid.IsGroup()) return; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_LFG_DATA); stmt->setUInt32(0, db_guid); diff --git a/src/server/game/Entities/Corpse/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp index f96956a34b1..5cd71aabf0a 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); uint16 index = 0; @@ -122,12 +122,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->setUInt32(0, ownerGuid.GetCounter()); diff --git a/src/server/game/Entities/Corpse/Corpse.h b/src/server/game/Entities/Corpse/Corpse.h index ebb6c43c50c..6d6101cb9e6 100644 --- a/src/server/game/Entities/Corpse/Corpse.h +++ b/src/server/game/Entities/Corpse/Corpse.h @@ -60,8 +60,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); ObjectGuid GetOwnerGUID() const override { return GetGuidValue(CORPSE_FIELD_OWNER); } uint32 GetFaction() const override; diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 8a49c7295b2..eea3138a259 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1350,7 +1350,7 @@ void Creature::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask) data.spawnGroupData = sObjectMgr->GetDefaultSpawnGroup(); // update in DB - SQLTransaction trans = WorldDatabase.BeginTransaction(); + WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction(); WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CREATURE); stmt->setUInt32(0, m_spawnId); @@ -1737,10 +1737,10 @@ bool Creature::hasInvolvedQuest(uint32 quest_id) const if (!data) return false; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction charTrans = CharacterDatabase.BeginTransaction(); sMapMgr->DoForAllMapsWithMapId(data->mapId, - [spawnId, trans](Map* map) -> void + [spawnId, charTrans](Map* map) -> void { // despawn all active creatures, and remove their respawns std::vector<Creature*> toUnload; @@ -1748,16 +1748,16 @@ bool Creature::hasInvolvedQuest(uint32 quest_id) const toUnload.push_back(pair.second); for (Creature* creature : toUnload) map->AddObjectToRemoveList(creature); - map->RemoveRespawnTime(SPAWN_TYPE_CREATURE, spawnId, trans); + map->RemoveRespawnTime(SPAWN_TYPE_CREATURE, spawnId, charTrans); } ); // delete data from memory ... sObjectMgr->DeleteCreatureData(spawnId); - CharacterDatabase.CommitTransaction(trans); + CharacterDatabase.CommitTransaction(charTrans); - trans = WorldDatabase.BeginTransaction(); + WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction(); // ... and the database WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CREATURE); diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index a3ef16abc60..725b4bee19f 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1011,7 +1011,7 @@ void GameObject::SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask) data.spawnGroupData = sObjectMgr->GetDefaultSpawnGroup(); // Update in DB - SQLTransaction trans = WorldDatabase.BeginTransaction(); + WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction(); uint8 index = 0; @@ -1114,10 +1114,10 @@ bool GameObject::LoadFromDB(ObjectGuid::LowType spawnId, Map* map, bool addToMap if (!data) return false; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction charTrans = CharacterDatabase.BeginTransaction(); sMapMgr->DoForAllMapsWithMapId(data->mapId, - [spawnId, trans](Map* map) -> void + [spawnId, charTrans](Map* map) -> void { // despawn all active objects, and remove their respawns std::vector<GameObject*> toUnload; @@ -1125,16 +1125,16 @@ bool GameObject::LoadFromDB(ObjectGuid::LowType spawnId, Map* map, bool addToMap toUnload.push_back(pair.second); for (GameObject* obj : toUnload) map->AddObjectToRemoveList(obj); - map->RemoveRespawnTime(SPAWN_TYPE_GAMEOBJECT, spawnId, trans); + map->RemoveRespawnTime(SPAWN_TYPE_GAMEOBJECT, spawnId, charTrans); } ); // delete data from memory sObjectMgr->DeleteGameObjectData(spawnId); - CharacterDatabase.CommitTransaction(trans); + CharacterDatabase.CommitTransaction(charTrans); - trans = WorldDatabase.BeginTransaction(); + WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction(); // ... and the database WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_GAMEOBJECT); diff --git a/src/server/game/Entities/Item/Container/Bag.cpp b/src/server/game/Entities/Item/Container/Bag.cpp index dd24c0f9ad3..774be9ba90f 100644 --- a/src/server/game/Entities/Item/Container/Bag.cpp +++ b/src/server/game/Entities/Item/Container/Bag.cpp @@ -103,7 +103,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); } @@ -126,7 +126,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 0eabd0ab2be..bf5f21664dd 100644 --- a/src/server/game/Entities/Item/Container/Bag.h +++ b/src/server/game/Entities/Item/Container/Bag.h @@ -48,11 +48,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; diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp index cbb6cbf9d8f..ab0b8291945 100644 --- a/src/server/game/Entities/Item/Item.cpp +++ b/src/server/game/Entities/Item/Item.cpp @@ -319,7 +319,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) @@ -489,14 +489,14 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fi } /*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->setUInt32(0, itemGuid); trans->Append(stmt); } -void Item::DeleteFromDB(SQLTransaction& trans) +void Item::DeleteFromDB(CharacterDatabaseTransaction& trans) { DeleteFromDB(trans, GetGUID().GetCounter()); @@ -506,14 +506,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->setUInt32(0, itemGuid); trans->Append(stmt); } -void Item::DeleteFromInventoryDB(SQLTransaction& trans) +void Item::DeleteFromInventoryDB(CharacterDatabaseTransaction& trans) { DeleteFromInventoryDB(trans, GetGUID().GetCounter()); } @@ -1070,7 +1070,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->setUInt32(0, GetGUID().GetCounter()); @@ -1086,7 +1086,7 @@ void Item::SaveRefundDataToDB() CharacterDatabase.CommitTransaction(trans); } -void Item::DeleteRefundDataFromDB(SQLTransaction* trans) +void Item::DeleteRefundDataFromDB(CharacterDatabaseTransaction* trans) { if (trans) { @@ -1097,7 +1097,7 @@ void Item::DeleteRefundDataFromDB(SQLTransaction* trans) } } -void Item::SetNotRefundable(Player* owner, bool changestate /*=true*/, SQLTransaction* trans /*=nullptr*/) +void Item::SetNotRefundable(Player* owner, bool changestate /*=true*/, CharacterDatabaseTransaction* trans /*=nullptr*/) { if (!IsRefundable()) return; diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h index c69cde17a96..3025dc23c85 100644 --- a/src/server/game/Entities/Item/Item.h +++ b/src/server/game/Entities/Item/Item.h @@ -82,15 +82,15 @@ class TC_GAME_API Item : public Object bool IsBoundAccountWide() const { return GetTemplate()->HasFlag(ITEM_FLAG_IS_BOUND_TO_ACCOUNT); } 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 owner_guid, Field* fields, uint32 entry); - 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); - 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 nullptr; } Bag const* ToBag() const { if (IsBag()) return reinterpret_cast<Bag const*>(this); else return nullptr; } @@ -180,7 +180,7 @@ class TC_GAME_API Item : public Object bool IsConjuredConsumable() const { return GetTemplate()->IsConjuredConsumable(); } // Item Refund system - void SetNotRefundable(Player* owner, bool changestate = true, SQLTransaction* trans = nullptr); + void SetNotRefundable(Player* owner, bool changestate = true, CharacterDatabaseTransaction* trans = nullptr); void SetRefundRecipient(ObjectGuid::LowType pGuidLow) { m_refundRecipient = pGuidLow; } void SetPaidMoney(uint32 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 0998b97c36d..e91d203b98a 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -282,7 +282,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); @@ -486,7 +486,7 @@ void Pet::SavePetToDB(PetSaveMode mode) void Pet::DeleteFromDB(ObjectGuid::LowType guidlow) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_BY_ID); stmt->setUInt32(0, guidlow); @@ -1136,7 +1136,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) { @@ -1266,7 +1266,7 @@ void Pet::_LoadAuras(uint32 timediff) } } -void Pet::_SaveAuras(SQLTransaction& trans) +void Pet::_SaveAuras(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_AURAS); 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 40bc2ab31b3..f74f7ffecc2 100644 --- a/src/server/game/Entities/Pet/Pet.h +++ b/src/server/game/Entities/Pet/Pet.h @@ -108,9 +108,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/Player.cpp b/src/server/game/Entities/Player/Player.cpp index adb1b502433..85443e6efaa 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2657,7 +2657,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, mailReward->senderEntry)); CharacterDatabase.CommitTransaction(trans); } @@ -3943,7 +3943,7 @@ bool Player::ResetTalents(bool no_cost) } } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); _SaveTalents(trans); _SaveSpells(trans); CharacterDatabase.CommitTransaction(trans); @@ -4107,7 +4107,7 @@ void Player::DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRe charDelete_method = 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); @@ -4691,7 +4691,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); @@ -6916,7 +6916,7 @@ void Player::SetArenaPoints(uint32 value) AddKnownCurrency(ITEM_ARENA_POINTS_ID); } -void Player::ModifyHonorPoints(int32 value, SQLTransaction trans) +void Player::ModifyHonorPoints(int32 value, CharacterDatabaseTransaction trans) { int32 newValue = int32(GetHonorPoints()) + value; if (newValue < 0) @@ -6932,7 +6932,7 @@ void Player::ModifyHonorPoints(int32 value, SQLTransaction trans) } } -void Player::ModifyArenaPoints(int32 value, SQLTransaction trans) +void Player::ModifyArenaPoints(int32 value, CharacterDatabaseTransaction trans) { int32 newValue = int32(GetArenaPoints()) + value; if (newValue < 0) @@ -15177,7 +15177,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 @@ -18085,7 +18085,7 @@ void Player::_LoadInventory(PreparedQueryResult result, uint32 timeDiff) std::map<ObjectGuid::LowType, Bag*> bagMap; // fast guid lookup for bags std::map<ObjectGuid::LowType, 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; @@ -18201,7 +18201,7 @@ void Player::_LoadInventory(PreparedQueryResult result, uint32 timeDiff) _ApplyAllItemMods(); } -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[13].GetUInt32(); @@ -18376,7 +18376,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; } @@ -19280,7 +19280,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; @@ -19580,13 +19580,13 @@ 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); SaveGoldToDB(trans); } -void Player::SaveGoldToDB(SQLTransaction& trans) const +void Player::SaveGoldToDB(CharacterDatabaseTransaction& trans) const { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_MONEY); stmt->setUInt32(0, GetMoney()); @@ -19594,7 +19594,7 @@ void Player::SaveGoldToDB(SQLTransaction& trans) const trans->Append(stmt); } -void Player::_SaveActions(SQLTransaction& trans) +void Player::_SaveActions(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt; @@ -19642,7 +19642,7 @@ void Player::_SaveActions(SQLTransaction& trans) } } -void Player::_SaveAuras(SQLTransaction& trans) +void Player::_SaveAuras(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_AURA); stmt->setUInt32(0, GetGUID().GetCounter()); @@ -19700,7 +19700,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 @@ -19842,7 +19842,7 @@ void Player::_SaveInventory(SQLTransaction& trans) } -void Player::_SaveMail(SQLTransaction& trans) +void Player::_SaveMail(CharacterDatabaseTransaction& trans) { if (!m_mailsLoaded) return; @@ -19915,7 +19915,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) @@ -19989,7 +19989,7 @@ void Player::_SaveQuestStatus(SQLTransaction& trans) CharacterDatabase.CommitTransaction(trans); } -void Player::_SaveDailyQuestStatus(SQLTransaction& trans) +void Player::_SaveDailyQuestStatus(CharacterDatabaseTransaction& trans) { if (!m_DailyQuestChanged) return; @@ -20028,7 +20028,7 @@ void Player::_SaveDailyQuestStatus(SQLTransaction& trans) } } -void Player::_SaveWeeklyQuestStatus(SQLTransaction& trans) +void Player::_SaveWeeklyQuestStatus(CharacterDatabaseTransaction& trans) { if (!m_WeeklyQuestChanged || m_weeklyquests.empty()) return; @@ -20051,7 +20051,7 @@ void Player::_SaveWeeklyQuestStatus(SQLTransaction& trans) m_WeeklyQuestChanged = false; } -void Player::_SaveSeasonalQuestStatus(SQLTransaction& trans) +void Player::_SaveSeasonalQuestStatus(CharacterDatabaseTransaction& trans) { if (!m_SeasonalQuestChanged) return; @@ -20083,7 +20083,7 @@ void Player::_SaveSeasonalQuestStatus(SQLTransaction& trans) } } -void Player::_SaveMonthlyQuestStatus(SQLTransaction& trans) +void Player::_SaveMonthlyQuestStatus(CharacterDatabaseTransaction& trans) { if (!m_MonthlyQuestChanged || m_monthlyquests.empty()) return; @@ -20106,7 +20106,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. @@ -20162,7 +20162,7 @@ void Player::_SaveSkills(SQLTransaction& trans) } } -void Player::_SaveSpells(SQLTransaction& trans) +void Player::_SaveSpells(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt; @@ -20203,7 +20203,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)) @@ -20301,7 +20301,7 @@ void Player::UpdateSpeakTime() /*** 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); @@ -20327,7 +20327,7 @@ void Player::SetUInt32ValueInArray(Tokenizer& tokens, uint16 index, uint32 value tokens[index] = buf; } -void Player::Customize(CharacterCustomizeInfo const* customizeInfo, SQLTransaction& trans) +void Player::Customize(CharacterCustomizeInfo const* customizeInfo, CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_GENDER_AND_APPEARANCE); @@ -23604,7 +23604,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 @@ -25726,7 +25726,7 @@ void Player::SetEquipmentSet(EquipmentSetInfo::EquipmentSetData const& eqSet) eqSlot.State = (oldState == 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();) { @@ -25776,7 +25776,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->setUInt32(0, GetGUID().GetCounter()); @@ -25870,7 +25870,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->setUInt32(0, GetGUID().GetCounter()); @@ -25904,7 +25904,7 @@ void Player::_LoadTalents(PreparedQueryResult result) } } -void Player::_SaveTalents(SQLTransaction& trans) +void Player::_SaveTalents(CharacterDatabaseTransaction& trans) { CharacterDatabasePreparedStatement* stmt = nullptr; @@ -25953,7 +25953,7 @@ void Player::UpdateSpecCount(uint8 count) if (m_activeSpec >= count) ActivateSpec(0); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt; // Copy spec data @@ -26002,7 +26002,7 @@ void Player::ActivateSpec(uint8 spec) if (IsNonMeleeSpellCast(false)) InterruptNonMeleeSpells(false); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); _SaveActions(trans); CharacterDatabase.CommitTransaction(trans); @@ -26340,7 +26340,7 @@ void Player::RefundItem(Item* item) uint32 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); @@ -26384,7 +26384,7 @@ void Player::SendItemRetrievalMail(uint32 itemEntry, uint32 count) { MailSender sender(MAIL_CREATURE, 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)) { @@ -26449,7 +26449,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 26a1f010741..d9f0bcc5f2b 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1332,12 +1332,12 @@ 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 Customize(CharacterCustomizeInfo const* customizeInfo, SQLTransaction& trans); - static void SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGuid guid, SQLTransaction& trans); + static void Customize(CharacterCustomizeInfo const* customizeInfo, CharacterDatabaseTransaction& 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(); @@ -1687,7 +1687,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; } uint32 GetResurrectionSpellId(); @@ -1786,8 +1786,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> bool RewardHonor(Unit* victim, uint32 groupsize, int32 honor = -1, bool pvptoken = false); uint32 GetHonorPoints() const { return GetUInt32Value(PLAYER_FIELD_HONOR_CURRENCY); } uint32 GetArenaPoints() const { return GetUInt32Value(PLAYER_FIELD_ARENA_CURRENCY); } - void ModifyHonorPoints(int32 value, SQLTransaction trans = SQLTransaction(nullptr)); //! If trans is specified, honor save query will be added to trans - void ModifyArenaPoints(int32 value, SQLTransaction trans = SQLTransaction(nullptr)); //! If trans is specified, arena point save query will be added to trans + void ModifyHonorPoints(int32 value, CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr)); //! If trans is specified, honor save query will be added to trans + void ModifyArenaPoints(int32 value, CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr)); //! If trans is specified, arena point save query will be added to trans uint32 GetMaxPersonalArenaRatingRequirement(uint32 minarenaslot) const; void SetHonorPoints(uint32 value); void SetArenaPoints(uint32 value); @@ -2249,23 +2249,23 @@ 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 _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 _SaveActions(CharacterDatabaseTransaction& trans); + void _SaveAuras(CharacterDatabaseTransaction& trans); + void _SaveInventory(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); /*********************************************************/ /*** ENVIRONMENTAL SYSTEM ***/ @@ -2432,7 +2432,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; diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp index 45297504450..cf90b42378c 100644 --- a/src/server/game/Events/GameEventMgr.cpp +++ b/src/server/game/Events/GameEventMgr.cpp @@ -200,7 +200,7 @@ void GameEventMgr::StopEvent(uint16 event_id, bool overwrite) for (itr = data.conditions.begin(); itr != data.conditions.end(); ++itr) itr->second.done = 0; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ALL_GAME_EVENT_CONDITION_SAVE); stmt->setUInt8(0, uint8(event_id)); trans->Append(stmt); @@ -1627,7 +1627,7 @@ void GameEventMgr::HandleQuestComplete(uint32 quest_id) if (citr->second.done > citr->second.reqNum) citr->second.done = citr->second.reqNum; // save the change to db - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GAME_EVENT_CONDITION_SAVE); stmt->setUInt8(0, uint8(event_id)); @@ -1672,7 +1672,7 @@ bool GameEventMgr::CheckOneGameEventConditions(uint16 event_id) void GameEventMgr::SaveWorldEventStateToDB(uint16 event_id) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GAME_EVENT_SAVE); stmt->setUInt8(0, uint8(event_id)); diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index f00774ee69a..55072d4df9e 100644 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -701,7 +701,7 @@ void Group::ChangeLeader(ObjectGuid newLeaderGuid) if (!isBGGroup() && !isBFGroup()) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // Remove the groups permanent instance bindings for (uint8 i = 0; i < MAX_DIFFICULTY; ++i) @@ -849,7 +849,7 @@ void Group::Disband(bool hideDestroy /* = false */) if (!isBGGroup() && !isBFGroup()) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GROUP); stmt->setUInt32(0, m_dbStoreId); diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index d1ec74ebe48..70062312802 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -141,7 +141,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) @@ -170,7 +170,7 @@ inline uint32 Guild::LogHolder::GetNextGUID() Guild::LogEntry::LogEntry(ObjectGuid::LowType guildId, uint32 guid) : m_guildId(guildId), m_guid(guid), m_timestamp(GameTime::GetGameTime()) { } // EventLogEntry -void Guild::EventLogEntry::SaveToDB(SQLTransaction& trans) const +void Guild::EventLogEntry::SaveToDB(CharacterDatabaseTransaction& trans) const { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_EVENTLOG); stmt->setUInt32(0, m_guildId); @@ -204,7 +204,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; @@ -267,7 +267,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->setUInt32(0, m_guildId); @@ -278,7 +278,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) { @@ -423,7 +423,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) { @@ -471,7 +471,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; @@ -583,7 +583,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; @@ -602,7 +602,7 @@ void Guild::Member::UpdateLogoutTime() m_logoutTime = GameTime::GetGameTime(); } -void Guild::Member::SaveToDB(SQLTransaction& trans) const +void Guild::Member::SaveToDB(CharacterDatabaseTransaction& trans) const { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_GUILD_MEMBER); stmt->setUInt32(0, m_guildId); @@ -675,7 +675,7 @@ Player* Guild::Member::FindConnectedPlayer() const // Decreases amount of money/slots left for today. // If (tabId == GUILD_BANK_MAX_TABS) decrease money amount. // Otherwise decrease remaining items amount for specified tab. -void Guild::Member::UpdateBankWithdrawValue(SQLTransaction& trans, uint8 tabId, uint32 amount) +void Guild::Member::UpdateBankWithdrawValue(CharacterDatabaseTransaction& trans, uint8 tabId, uint32 amount) { m_bankWithdraw[tabId] += amount; @@ -817,7 +817,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) { @@ -833,7 +833,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); @@ -841,7 +841,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 @@ -884,7 +884,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) @@ -903,7 +903,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; @@ -927,7 +927,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()) @@ -953,7 +953,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; @@ -1089,7 +1089,7 @@ Guild::Guild(): Guild::~Guild() { - SQLTransaction temp(nullptr); + CharacterDatabaseTransaction temp(nullptr); _DeleteBankItems(temp); // Cleanup @@ -1132,7 +1132,7 @@ bool Guild::Create(Player* pLeader, std::string const& name) TC_LOG_DEBUG("guild", "GUILD: creating guild [%s] for leader %s (%u)", name.c_str(), pLeader->GetName().c_str(), m_leaderGuid.GetCounter()); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_MEMBERS); stmt->setUInt32(0, m_id); @@ -1173,7 +1173,7 @@ void Guild::Disband() _BroadcastEvent(GE_DISBANDED, ObjectGuid::Empty); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // Remove all members while (!m_members.empty()) { @@ -1404,7 +1404,7 @@ void Guild::HandleSetLeader(WorldSession* session, std::string const& name) { _SetLeaderGUID(pNewLeader); - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); pOldLeader->ChangeRank(trans, GR_OFFICER); _BroadcastEvent(GE_LEADER_CHANGED, ObjectGuid::Empty, player->GetName().c_str(), name.c_str()); } @@ -1552,7 +1552,7 @@ void Guild::HandleAcceptMember(WorldSession* session) player->GetTeam() != sCharacterCache->GetCharacterTeamByGuid(GetLeaderGUID())) return; - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); AddMember(trans, player->GetGUID()); } @@ -1576,7 +1576,7 @@ void Guild::HandleLeaveMember(WorldSession* session) } else { - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); DeleteMember(trans, player->GetGUID(), false, false); _LogEvent(GUILD_EVENT_LOG_LEAVE_GUILD, player->GetGUID().GetCounter()); @@ -1613,7 +1613,7 @@ void Guild::HandleRemoveMember(WorldSession* session, std::string const& name) ObjectGuid guid = member->GetGUID(); // After call to DeleteMember pointer to member becomes invalid - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); DeleteMember(trans, guid, false, true); _LogEvent(GUILD_EVENT_LOG_UNINVITE_PLAYER, player->GetGUID().GetCounter(), guid.GetCounter()); _BroadcastEvent(GE_REMOVED, ObjectGuid::Empty, name.c_str(), player->GetName().c_str()); @@ -1669,7 +1669,7 @@ void Guild::HandleUpdateMemberRank(WorldSession* session, std::string const& nam } 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()); @@ -1685,7 +1685,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)) _BroadcastEvent(GE_RANK_UPDATED, ObjectGuid::Empty, std::to_string(size).c_str(), name.c_str(), std::to_string(m_ranks.size()).c_str()); } @@ -1732,7 +1732,7 @@ void Guild::HandleMemberDepositMoney(WorldSession* session, uint32 amount) return; } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); _ModifyBankMoney(trans, amount, true); player->ModifyMoney(-int32(amount)); @@ -1772,7 +1772,7 @@ bool Guild::HandleMemberWithdrawMoney(WorldSession* session, uint32 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) { @@ -1997,7 +1997,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); _DeleteMemberFromDB(trans, lowguid); delete member; return false; @@ -2105,7 +2105,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 %u has invalid number of ranks, creating new...", m_id); @@ -2143,7 +2143,7 @@ bool Guild::Validate() Member* pLeader = GetMember(m_leaderGuid); if (!pLeader) { - SQLTransaction dummy(nullptr); + CharacterDatabaseTransaction dummy(nullptr); DeleteMember(dummy, m_leaderGuid); // If no more members left, disband guild if (m_members.empty()) @@ -2231,7 +2231,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 @@ -2308,7 +2308,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) { ObjectGuid::LowType lowguid = guid.GetCounter(); Player* player = ObjectAccessor::FindConnectedPlayer(guid); @@ -2372,7 +2372,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) { @@ -2432,7 +2432,7 @@ bool Guild::_HasRankRight(Player* 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->setUInt32(0, lowguid); @@ -2452,7 +2452,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->setUInt32(0, m_id); @@ -2471,7 +2471,7 @@ void Guild::_CreateNewBankTab() CharacterDatabase.CommitTransaction(trans); } -void Guild::_CreateDefaultGuildRanks(SQLTransaction& trans, LocaleConstant loc) +void Guild::_CreateDefaultGuildRanks(CharacterDatabaseTransaction& trans, LocaleConstant loc) { ASSERT(trans); @@ -2490,7 +2490,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) @@ -2537,7 +2537,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) { @@ -2548,7 +2548,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; @@ -2572,7 +2572,7 @@ void Guild::_SetLeaderGUID(Member* pLeader) if (!pLeader) return; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); m_leaderGuid = pLeader->GetGUID(); pLeader->ChangeRank(trans, GR_GUILDMASTER); @@ -2670,7 +2670,7 @@ inline int32 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)) { @@ -2696,7 +2696,7 @@ inline bool Guild::_MemberHasTabRights(ObjectGuid guid, uint8 tabId, uint32 righ // 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); @@ -2704,7 +2704,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, uint32 itemOrMoney, uint16 itemStackCount, uint8 destTabId) +void Guild::_LogBankEvent(CharacterDatabaseTransaction& trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType lowguid, uint32 itemOrMoney, uint16 itemStackCount, uint8 destTabId) { if (tabId > GUILD_BANK_MAX_TABS) return; @@ -2732,7 +2732,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); @@ -2819,7 +2819,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) diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h index 65a055d1a96..013dc776961 100644 --- a/src/server/game/Guilds/Guild.h +++ b/src/server/game/Guilds/Guild.h @@ -301,7 +301,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 GetGUID() const { return m_guid; } std::string const& GetName() const { return m_name; } @@ -317,14 +317,14 @@ class TC_GAME_API Guild uint32 GetZoneId() const { return m_zoneId; } bool IsOnline() const { return (m_flags & GUILDMEMBER_STATUS_ONLINE); } - void ChangeRank(SQLTransaction& trans, uint8 newRank); + void ChangeRank(CharacterDatabaseTransaction& trans, uint8 newRank); inline void UpdateLogoutTime(); 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 UpdateBankWithdrawValue(SQLTransaction& trans, uint8 tabId, uint32 amount); + void UpdateBankWithdrawValue(CharacterDatabaseTransaction& trans, uint8 tabId, uint32 amount); int32 GetBankWithdrawValue(uint8 tabId) const; void ResetValues(); @@ -362,7 +362,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; @@ -382,7 +382,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: @@ -419,7 +419,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: @@ -446,7 +446,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; } @@ -467,7 +467,7 @@ class TC_GAME_API Guild m_bankMoneyPerDay(rankId != GR_GUILDMASTER ? money : GUILD_WITHDRAW_MONEY_UNLIMITED) { } void LoadFromDB(Field* fields); - void SaveToDB(SQLTransaction& trans) const; + void SaveToDB(CharacterDatabaseTransaction& trans) const; uint8 GetId() const { return m_rankId; } @@ -492,7 +492,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; @@ -511,7 +511,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); @@ -522,7 +522,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* pItem); + bool SetItem(CharacterDatabaseTransaction& trans, uint8 slotId, Item* pItem); private: ObjectGuid::LowType m_guildId; @@ -555,11 +555,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 @@ -589,9 +589,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; }; @@ -606,16 +606,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); }; @@ -713,9 +713,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); // Bank void SwapItems(Player* player, uint8 tabId, uint8 slotId, uint8 destTabId, uint8 destSlotId, uint32 splitedAmount); @@ -779,21 +779,21 @@ 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 _DeleteBankItems(CharacterDatabaseTransaction& trans, bool removeItemsFromDB = false); + bool _ModifyBankMoney(CharacterDatabaseTransaction& trans, uint64 amount, bool add); void _SetLeaderGUID(Member* pLeader); void _SetRankBankMoneyPerDay(uint8 rankId, uint32 moneyPerDay); @@ -806,14 +806,14 @@ class TC_GAME_API Guild int32 _GetMemberRemainingSlots(Member const* member, uint8 tabId) const; int32 _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, uint32 rights) const; void _LogEvent(GuildEventLogTypes eventType, ObjectGuid::LowType playerGuid1, ObjectGuid::LowType playerGuid2 = 0, uint8 newRank = 0); - void _LogBankEvent(SQLTransaction& trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType playerGuid, uint32 itemOrMoney, uint16 itemStackCount = 0, uint8 destTabId = 0); + void _LogBankEvent(CharacterDatabaseTransaction& trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType playerGuid, uint32 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); bool _DoItemsMove(MoveItemData* pSrc, MoveItemData* pDest, bool sendError, uint32 splitedAmount = 0); diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp index d45568869cd..dba0f961737 100644 --- a/src/server/game/Handlers/AuctionHouseHandler.cpp +++ b/src/server/game/Handlers/AuctionHouseHandler.cpp @@ -326,7 +326,7 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData) auctionHouse->AddAuction(AH); _player->MoveItemFromInventory(item->GetBagSlot(), item->GetSlot(), true); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); item->DeleteFromInventoryDB(trans); item->SaveToDB(trans); @@ -390,7 +390,7 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData) { _player->MoveItemFromInventory(item2->GetBagSlot(), item2->GetSlot(), true); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); item2->DeleteFromInventoryDB(trans); item2->DeleteFromDB(trans); CharacterDatabase.CommitTransaction(trans); @@ -403,13 +403,13 @@ void WorldSession::HandleAuctionSellItem(WorldPacket& recvData) _player->ItemRemovedQuestCheck(item2->GetEntry(), count[j]); item2->SendUpdateToPlayer(_player); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); item2->SaveToDB(trans); CharacterDatabase.CommitTransaction(trans); } } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); newItem->SaveToDB(trans); AH->SaveToDB(trans); _player->SaveInventoryAndGoldToDB(trans); @@ -487,7 +487,7 @@ void WorldSession::HandleAuctionPlaceBid(WorldPacket& recvData) return; } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); if (price < auction->buyout || auction->buyout == 0) { @@ -585,7 +585,7 @@ void WorldSession::HandleAuctionRemoveItem(WorldPacket& recvData) AuctionEntry* auction = auctionHouse->GetAuction(auctionId); Player* player = GetPlayer(); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); if (auction && auction->owner == player->GetGUID().GetCounter()) { Item* pItem = sAuctionMgr->GetAItem(auction->itemGUIDLow); diff --git a/src/server/game/Handlers/BattleGroundHandler.cpp b/src/server/game/Handlers/BattleGroundHandler.cpp index 3aba85383b9..5aeac652705 100644 --- a/src/server/game/Handlers/BattleGroundHandler.cpp +++ b/src/server/game/Handlers/BattleGroundHandler.cpp @@ -517,7 +517,7 @@ void WorldSession::HandleBattleFieldPortOpcode(WorldPacket &recvData) if (bg->isBattleground() && sWorld->getBoolConfig(CONFIG_BATTLEGROUND_TRACK_DESERTERS) && (bg->GetStatus() == STATUS_IN_PROGRESS || bg->GetStatus() == STATUS_WAIT_JOIN)) { - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_DESERTER_TRACK); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_DESERTER_TRACK); stmt->setUInt32(0, _player->GetGUID().GetCounter()); stmt->setUInt8(1, BG_DESERTION_TYPE_LEAVE_QUEUE); CharacterDatabase.Execute(stmt); diff --git a/src/server/game/Handlers/CalendarHandler.cpp b/src/server/game/Handlers/CalendarHandler.cpp index cbbff25136d..9e4fb8256c2 100644 --- a/src/server/game/Handlers/CalendarHandler.cpp +++ b/src/server/game/Handlers/CalendarHandler.cpp @@ -330,7 +330,7 @@ void WorldSession::HandleCalendarAddEvent(WorldPacket& recvData) throw; } - SQLTransaction trans; + CharacterDatabaseTransaction trans; if (inviteCount > 1) trans = CharacterDatabase.BeginTransaction(); @@ -489,7 +489,7 @@ void WorldSession::HandleCalendarCopyEvent(WorldPacket& recvData) sCalendarMgr->AddEvent(newEvent, CALENDAR_SENDTYPE_COPY); CalendarInviteStore invites = sCalendarMgr->GetEventInvites(eventId); - SQLTransaction trans; + CharacterDatabaseTransaction trans; if (invites.size() > 1) trans = CharacterDatabase.BeginTransaction(); diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 85f03d8856b..963fc2e5477 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -575,7 +575,7 @@ void WorldSession::HandleCharCreateOpcode(WorldPacket& recvData) newChar.SaveToDB(true); createInfo->CharCount += 1; - SQLTransaction trans = LoginDatabase.BeginTransaction(); + LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction(); LoginDatabasePreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_DEL_REALM_CHARACTERS_BY_REALM); stmt->setUInt32(0, GetAccountId()); @@ -1148,7 +1148,7 @@ void WorldSession::HandleCharRenameCallback(std::shared_ptr<CharacterRenameInfo> atLoginFlags &= ~AT_LOGIN_RENAME; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // Update name and at_login flag in the db CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_NAME_AT_LOGIN); @@ -1230,7 +1230,7 @@ void WorldSession::HandleSetPlayerDeclinedNames(WorldPacket& recvData) for (int i = 0; i < MAX_DECLINED_NAME_CASES; ++i) CharacterDatabase.EscapeString(declinedname.name[i]); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_DECLINED_NAME); stmt->setUInt32(0, guid.GetCounter()); @@ -1435,7 +1435,7 @@ void WorldSession::HandleCharCustomizeCallback(std::shared_ptr<CharacterCustomiz } CharacterDatabasePreparedStatement* stmt = nullptr; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); ObjectGuid::LowType lowGuid = customizeInfo->Guid.GetCounter(); @@ -1727,7 +1727,7 @@ void WorldSession::HandleCharFactionOrRaceChangeCallback(std::shared_ptr<Charact ObjectGuid::LowType lowGuid = factionChangeInfo->Guid.GetCounter(); CharacterDatabasePreparedStatement* stmt = nullptr; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // resurrect the character in case he's dead Player::OfflineResurrect(factionChangeInfo->Guid, trans); diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp index fcbdf5c5d2f..62e4ac001e5 100644 --- a/src/server/game/Handlers/ItemHandler.cpp +++ b/src/server/game/Handlers/ItemHandler.cpp @@ -1028,7 +1028,7 @@ void WorldSession::HandleWrapItemOpcode(WorldPacket& recvData) return; } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_GIFT); stmt->setUInt32(0, item->GetOwnerGUID().GetCounter()); diff --git a/src/server/game/Handlers/MailHandler.cpp b/src/server/game/Handlers/MailHandler.cpp index 6ea0c0b6b96..0a42214cc59 100644 --- a/src/server/game/Handlers/MailHandler.cpp +++ b/src/server/game/Handlers/MailHandler.cpp @@ -279,7 +279,7 @@ void WorldSession::HandleSendMail(WorldPacket& recvData) MailDraft draft(subject, body); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); if (items_count > 0 || money > 0) { @@ -408,7 +408,7 @@ void WorldSession::HandleMailReturnToSender(WorldPacket& recvData) } //we can return mail now //so firstly delete the old one - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_MAIL_BY_ID); stmt->setUInt32(0, mailId); @@ -493,7 +493,7 @@ void WorldSession::HandleMailTakeItem(WorldPacket& recvData) uint8 msg = _player->CanStoreItem(NULL_BAG, NULL_SLOT, dest, it, false); if (msg == EQUIP_ERR_OK) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); m->RemoveItem(itemId); m->removedItems.push_back(itemId); @@ -587,7 +587,7 @@ void WorldSession::HandleMailTakeMoney(WorldPacket& recvData) player->SendMailResult(mailId, MAIL_MONEY_TAKEN, MAIL_OK); // save money and mail to prevent cheating - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); player->SaveGoldToDB(trans); player->_SaveMail(trans); CharacterDatabase.CommitTransaction(trans); diff --git a/src/server/game/Handlers/PetHandler.cpp b/src/server/game/Handlers/PetHandler.cpp index 58c05a5cc35..ca029b23e28 100644 --- a/src/server/game/Handlers/PetHandler.cpp +++ b/src/server/game/Handlers/PetHandler.cpp @@ -648,7 +648,7 @@ void WorldSession::HandlePetRename(WorldPacket& recvData) } } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); if (isdeclined) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_DECLINEDNAME); diff --git a/src/server/game/Handlers/PetitionsHandler.cpp b/src/server/game/Handlers/PetitionsHandler.cpp index 7520b64d6ad..f6db3e8001e 100644 --- a/src/server/game/Handlers/PetitionsHandler.cpp +++ b/src/server/game/Handlers/PetitionsHandler.cpp @@ -694,7 +694,7 @@ void WorldSession::HandleTurnInPetitionOpcode(WorldPacket& recvData) Guild::SendCommandResult(this, GUILD_COMMAND_CREATE, ERR_GUILD_COMMAND_SUCCESS, name); { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // Add members from signatures for (Signature const& signature : signatures) diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index b7ea3f690c8..65195f70eda 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -267,7 +267,7 @@ void WorldSession::HandleOpenWrappedItemCallback(uint16 pos, ObjectGuid itemGuid return; } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); Field* fields = result->Fetch(); uint32 entry = fields[0].GetUInt32(); diff --git a/src/server/game/Handlers/TicketHandler.cpp b/src/server/game/Handlers/TicketHandler.cpp index cc1a62f03f9..bd8f3f941bf 100644 --- a/src/server/game/Handlers/TicketHandler.cpp +++ b/src/server/game/Handlers/TicketHandler.cpp @@ -138,7 +138,7 @@ void WorldSession::HandleGMTicketUpdateOpcode(WorldPacket& recvData) GMTicketResponse response = GMTICKET_RESPONSE_UPDATE_ERROR; if (GmTicket* ticket = sTicketMgr->GetTicketByPlayer(GetPlayer()->GetGUID())) { - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); ticket->SetMessage(message); ticket->SaveToDB(trans); @@ -199,7 +199,7 @@ void WorldSession::HandleGMSurveySubmit(WorldPacket& recvData) recvData >> mainSurvey; std::unordered_set<uint32> surveyIds; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // sub_survey1, r1, comment1, sub_survey2, r2, comment2, sub_survey3, r3, comment3, sub_survey4, r4, comment4, sub_survey5, r5, comment5, sub_survey6, r6, comment6, sub_survey7, r7, comment7, sub_survey8, r8, comment8, sub_survey9, r9, comment9, sub_survey10, r10, comment10, for (uint8 i = 0; i < 10; i++) { diff --git a/src/server/game/Handlers/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp index b1819700774..0b457c4c80f 100644 --- a/src/server/game/Handlers/TradeHandler.cpp +++ b/src/server/game/Handlers/TradeHandler.cpp @@ -533,7 +533,7 @@ void WorldSession::HandleAcceptTradeOpcode(WorldPacket& /*recvPacket*/) trader->m_trade = nullptr; // desynchronized with the other saves here (SaveInventoryAndGoldToDB() not have own transaction guards) - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); _player->SaveInventoryAndGoldToDB(trans); trader->SaveInventoryAndGoldToDB(trans); CharacterDatabase.CommitTransaction(trans); diff --git a/src/server/game/Instances/InstanceSaveMgr.cpp b/src/server/game/Instances/InstanceSaveMgr.cpp index a38c039855d..6fc7f499ccf 100644 --- a/src/server/game/Instances/InstanceSaveMgr.cpp +++ b/src/server/game/Instances/InstanceSaveMgr.cpp @@ -129,7 +129,7 @@ InstanceSave* InstanceSaveManager::GetInstanceSave(uint32 InstanceId) void InstanceSaveManager::DeleteInstanceFromDB(uint32 instanceid) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_INSTANCE_BY_INSTANCE); stmt->setUInt32(0, instanceid); @@ -642,7 +642,7 @@ void InstanceSaveManager::_ResetOrWarnAll(uint32 mapid, Difficulty difficulty, b return; // delete/promote instance binds from the DB, even if not loaded - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_EXPIRED_CHAR_INSTANCE_BY_MAP_DIFF); stmt->setUInt16(0, uint16(mapid)); diff --git a/src/server/game/Loot/LootItemStorage.cpp b/src/server/game/Loot/LootItemStorage.cpp index b5bfde1c372..988dabe9356 100644 --- a/src/server/game/Loot/LootItemStorage.cpp +++ b/src/server/game/Loot/LootItemStorage.cpp @@ -59,8 +59,8 @@ void LootItemStorage::LoadStorageFromDB() _lootItemStore.clear(); uint32 count = 0; - SQLTransaction trans = SQLTransaction(nullptr); - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_ITEMCONTAINER_ITEMS); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_ITEMCONTAINER_ITEMS); PreparedQueryResult result = CharacterDatabase.Query(stmt); if (result) { @@ -208,8 +208,8 @@ void LootItemStorage::RemoveStoredLootForContainer(uint32 containerId) _lootItemStore.erase(containerId); } - SQLTransaction trans = CharacterDatabase.BeginTransaction(); - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEMCONTAINER_ITEMS); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEMCONTAINER_ITEMS); stmt->setUInt32(0, containerId); trans->Append(stmt); @@ -252,11 +252,11 @@ void LootItemStorage::AddNewStoredLoot(Loot* loot, Player* player) StoredLootContainer container(loot->containerID); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); if (loot->gold) container.AddMoney(loot->gold, trans); - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEMCONTAINER_ITEMS); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEMCONTAINER_ITEMS); stmt->setUInt32(0, loot->containerID); trans->Append(stmt); @@ -287,13 +287,13 @@ void LootItemStorage::AddNewStoredLoot(Loot* loot, Player* player) } } -void StoredLootContainer::AddLootItem(LootItem const& lootItem, SQLTransaction& trans) +void StoredLootContainer::AddLootItem(LootItem const& lootItem, CharacterDatabaseTransaction& trans) { _lootItems.emplace(std::piecewise_construct, std::forward_as_tuple(lootItem.itemid), std::forward_as_tuple(lootItem)); if (!trans) return; - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_ITEMCONTAINER_ITEMS); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_ITEMCONTAINER_ITEMS); // container_id, item_id, item_count, follow_rules, ffa, blocked, counted, under_threshold, needs_quest, rnd_prop, rnd_suffix stmt->setUInt32(0, _containerId); @@ -310,13 +310,13 @@ void StoredLootContainer::AddLootItem(LootItem const& lootItem, SQLTransaction& trans->Append(stmt); } -void StoredLootContainer::AddMoney(uint32 money, SQLTransaction& trans) +void StoredLootContainer::AddMoney(uint32 money, CharacterDatabaseTransaction& trans) { _money = money; if (!trans) return; - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEMCONTAINER_MONEY); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEMCONTAINER_MONEY); stmt->setUInt32(0, _containerId); trans->Append(stmt); @@ -330,7 +330,7 @@ void StoredLootContainer::RemoveMoney() { _money = 0; - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEMCONTAINER_MONEY); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEMCONTAINER_MONEY); stmt->setUInt32(0, _containerId); CharacterDatabase.Execute(stmt); } @@ -348,7 +348,7 @@ void StoredLootContainer::RemoveItem(uint32 itemId, uint32 count) } // Deletes a single item associated with an openable item from the DB - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEMCONTAINER_ITEM); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEMCONTAINER_ITEM); stmt->setUInt32(0, _containerId); stmt->setUInt32(1, itemId); stmt->setUInt32(2, count); diff --git a/src/server/game/Loot/LootItemStorage.h b/src/server/game/Loot/LootItemStorage.h index 4e49cd6d2b5..e1c32b5aeb8 100644 --- a/src/server/game/Loot/LootItemStorage.h +++ b/src/server/game/Loot/LootItemStorage.h @@ -56,8 +56,8 @@ class StoredLootContainer explicit StoredLootContainer(uint32 containerId) : _containerId(containerId), _money(0) { } - void AddLootItem(LootItem const& lootItem, SQLTransaction& trans); - void AddMoney(uint32 money, SQLTransaction& trans); + void AddLootItem(LootItem const& lootItem, CharacterDatabaseTransaction& trans); + void AddMoney(uint32 money, CharacterDatabaseTransaction& trans); void RemoveMoney(); void RemoveItem(uint32 itemId, uint32 count); diff --git a/src/server/game/Mails/Mail.cpp b/src/server/game/Mails/Mail.cpp index 4bd3cf0fb97..c42bd2a8e63 100644 --- a/src/server/game/Mails/Mail.cpp +++ b/src/server/game/Mails/Mail.cpp @@ -92,7 +92,7 @@ MailDraft& MailDraft::AddItem(Item* item) m_items[item->GetGUID().GetCounter()] = item; return *this; } -void MailDraft::prepareItems(Player* receiver, SQLTransaction& trans) +void MailDraft::prepareItems(Player* receiver, CharacterDatabaseTransaction& trans) { if (!m_mailTemplateId || !m_mailTemplateItemsNeed) return; @@ -122,7 +122,7 @@ void MailDraft::prepareItems(Player* receiver, SQLTransaction& trans) } } -void MailDraft::deleteIncludedItems(SQLTransaction& trans, bool inDB /*= false*/ ) +void MailDraft::deleteIncludedItems(CharacterDatabaseTransaction& trans, bool inDB /*= false*/ ) { for (MailItemMap::iterator mailItemIter = m_items.begin(); mailItemIter != m_items.end(); ++mailItemIter) { @@ -141,7 +141,7 @@ void MailDraft::deleteIncludedItems(SQLTransaction& trans, bool inDB /*= false*/ m_items.clear(); } -void MailDraft::SendReturnToSender(uint32 sender_acc, ObjectGuid::LowType sender_guid, ObjectGuid::LowType receiver_guid, SQLTransaction& trans) +void MailDraft::SendReturnToSender(uint32 sender_acc, ObjectGuid::LowType sender_guid, ObjectGuid::LowType receiver_guid, CharacterDatabaseTransaction& trans) { ObjectGuid receiverGuid(HighGuid::Player, receiver_guid); Player* receiver = ObjectAccessor::FindConnectedPlayer(receiverGuid); @@ -184,7 +184,7 @@ void MailDraft::SendReturnToSender(uint32 sender_acc, ObjectGuid::LowType sender SendMailTo(trans, MailReceiver(receiver, receiver_guid), MailSender(MAIL_NORMAL, sender_guid), MAIL_CHECK_MASK_RETURNED, deliver_delay); } -void MailDraft::SendMailTo(SQLTransaction& trans, MailReceiver const& receiver, MailSender const& sender, MailCheckMask checked, uint32 deliver_delay) +void MailDraft::SendMailTo(CharacterDatabaseTransaction& trans, MailReceiver const& receiver, MailSender const& sender, MailCheckMask checked, uint32 deliver_delay) { Player* pReceiver = receiver.GetPlayer(); // can be NULL Player* pSender = ObjectAccessor::FindPlayerByLowGUID(sender.GetSenderId()); @@ -285,13 +285,13 @@ void MailDraft::SendMailTo(SQLTransaction& trans, MailReceiver const& receiver, } else if (!m_items.empty()) { - SQLTransaction temp = SQLTransaction(nullptr); + CharacterDatabaseTransaction temp = CharacterDatabaseTransaction(nullptr); deleteIncludedItems(temp); } } else if (!m_items.empty()) { - SQLTransaction temp = SQLTransaction(nullptr); + CharacterDatabaseTransaction temp = CharacterDatabaseTransaction(nullptr); deleteIncludedItems(temp); } } diff --git a/src/server/game/Mails/Mail.h b/src/server/game/Mails/Mail.h index 8a941a1095a..21e66db3fe6 100644 --- a/src/server/game/Mails/Mail.h +++ b/src/server/game/Mails/Mail.h @@ -138,12 +138,12 @@ class TC_GAME_API MailDraft MailDraft& AddCOD(uint32 COD) { m_COD = COD; return *this; } public: // finishers - void SendReturnToSender(uint32 sender_acc, ObjectGuid::LowType sender_guid, ObjectGuid::LowType receiver_guid, SQLTransaction& trans); - void SendMailTo(SQLTransaction& trans, MailReceiver const& receiver, MailSender const& sender, MailCheckMask checked = MAIL_CHECK_MASK_NONE, uint32 deliver_delay = 0); + void SendReturnToSender(uint32 sender_acc, ObjectGuid::LowType sender_guid, ObjectGuid::LowType receiver_guid, CharacterDatabaseTransaction& trans); + void SendMailTo(CharacterDatabaseTransaction& trans, MailReceiver const& receiver, MailSender const& sender, MailCheckMask checked = MAIL_CHECK_MASK_NONE, uint32 deliver_delay = 0); private: - void deleteIncludedItems(SQLTransaction& trans, bool inDB = false); - void prepareItems(Player* receiver, SQLTransaction& trans); // called from SendMailTo for generate mailTemplateBase items + void deleteIncludedItems(CharacterDatabaseTransaction& trans, bool inDB = false); + void prepareItems(Player* receiver, CharacterDatabaseTransaction& trans); // called from SendMailTo for generate mailTemplateBase items uint16 m_mailTemplateId; bool m_mailTemplateItemsNeed; diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index d8fbb645a27..000db8dc3ea 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3026,7 +3026,7 @@ bool Map::CheckRespawn(RespawnInfo* info) return true; } -void Map::Respawn(RespawnInfo* info, SQLTransaction dbTrans) +void Map::Respawn(RespawnInfo* info, CharacterDatabaseTransaction dbTrans) { info->respawnTime = GameTime::GetGameTime(); SaveRespawnInfoDB(*info, dbTrans); @@ -3120,7 +3120,7 @@ void Map::UnloadAllRespawnInfos() // delete everything from memory _gameObjectRespawnTimesBySpawnId.clear(); } -void Map::DeleteRespawnInfo(RespawnInfo* info, SQLTransaction dbTrans) +void Map::DeleteRespawnInfo(RespawnInfo* info, CharacterDatabaseTransaction dbTrans) { // Delete from all relevant containers to ensure consistency ASSERT(info); @@ -4303,7 +4303,7 @@ void Map::UpdateIteratorBack(Player* player) m_mapRefIter = m_mapRefIter->nocheck_prev(); } -void Map::SaveRespawnTime(SpawnObjectType type, ObjectGuid::LowType spawnId, uint32 entry, time_t respawnTime, uint32 gridId, SQLTransaction dbTrans, bool startup) +void Map::SaveRespawnTime(SpawnObjectType type, ObjectGuid::LowType spawnId, uint32 entry, time_t respawnTime, uint32 gridId, CharacterDatabaseTransaction dbTrans, bool startup) { SpawnMetadata const* data = sObjectMgr->GetSpawnMetadata(type, spawnId); if (!data) @@ -4336,7 +4336,7 @@ void Map::SaveRespawnTime(SpawnObjectType type, ObjectGuid::LowType spawnId, uin SaveRespawnInfoDB(ri, dbTrans); } -void Map::SaveRespawnInfoDB(RespawnInfo const& info, SQLTransaction dbTrans) +void Map::SaveRespawnInfoDB(RespawnInfo const& info, CharacterDatabaseTransaction dbTrans) { CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_RESPAWN); stmt->setUInt16(0, info.type); @@ -4486,7 +4486,7 @@ Corpse* Map::ConvertCorpseToBones(ObjectGuid const& ownerGuid, bool insignia /*= RemoveCorpse(corpse); // remove corpse from DB - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); corpse->DeleteFromDB(trans); CharacterDatabase.CommitTransaction(trans); diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index 74f89e96c2b..7b8812d6304 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -592,8 +592,8 @@ class TC_GAME_API Map : public GridRefManager<NGridType> void UpdatePlayerZoneStats(uint32 oldZone, uint32 newZone); - void SaveRespawnTime(SpawnObjectType type, ObjectGuid::LowType spawnId, uint32 entry, time_t respawnTime, uint32 gridId, SQLTransaction dbTrans = nullptr, bool startup = false); - void SaveRespawnInfoDB(RespawnInfo const& info, SQLTransaction dbTrans = nullptr); + void SaveRespawnTime(SpawnObjectType type, ObjectGuid::LowType spawnId, uint32 entry, time_t respawnTime, uint32 gridId, CharacterDatabaseTransaction dbTrans = nullptr, bool startup = false); + void SaveRespawnInfoDB(RespawnInfo const& info, CharacterDatabaseTransaction dbTrans = nullptr); void LoadRespawnTimes(); void DeleteRespawnTimes() { UnloadAllRespawnInfos(); DeleteRespawnTimesInDB(GetId(), GetInstanceId()); } static void DeleteRespawnTimesInDB(uint16 mapId, uint32 instanceId); @@ -770,18 +770,18 @@ class TC_GAME_API Map : public GridRefManager<NGridType> void DoRespawn(SpawnObjectType type, ObjectGuid::LowType spawnId, uint32 gridId); bool AddRespawnInfo(RespawnInfo const& info); void UnloadAllRespawnInfos(); - void DeleteRespawnInfo(RespawnInfo* info, SQLTransaction dbTrans = nullptr); + void DeleteRespawnInfo(RespawnInfo* info, CharacterDatabaseTransaction dbTrans = nullptr); public: void GetRespawnInfo(std::vector<RespawnInfo*>& respawnData, SpawnObjectTypeMask types) const; RespawnInfo* GetRespawnInfo(SpawnObjectType type, ObjectGuid::LowType spawnId) const; - void Respawn(SpawnObjectType type, ObjectGuid::LowType spawnId, SQLTransaction dbTrans = nullptr) + void Respawn(SpawnObjectType type, ObjectGuid::LowType spawnId, CharacterDatabaseTransaction dbTrans = nullptr) { if (RespawnInfo* info = GetRespawnInfo(type, spawnId)) Respawn(info, dbTrans); } - void Respawn(RespawnInfo* info, SQLTransaction dbTrans = nullptr); - void RemoveRespawnTime(SpawnObjectType type, ObjectGuid::LowType spawnId, SQLTransaction dbTrans = nullptr) + void Respawn(RespawnInfo* info, CharacterDatabaseTransaction dbTrans = nullptr); + void RemoveRespawnTime(SpawnObjectType type, ObjectGuid::LowType spawnId, CharacterDatabaseTransaction dbTrans = nullptr) { if (RespawnInfo* info = GetRespawnInfo(type, spawnId)) DeleteRespawnInfo(info, dbTrans); diff --git a/src/server/game/Petitions/PetitionMgr.cpp b/src/server/game/Petitions/PetitionMgr.cpp index 4b472a6477a..73d02ee634a 100644 --- a/src/server/game/Petitions/PetitionMgr.cpp +++ b/src/server/game/Petitions/PetitionMgr.cpp @@ -98,7 +98,7 @@ void PetitionMgr::AddPetition(ObjectGuid petitionGuid, ObjectGuid ownerGuid, std if (isLoading) return; - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PETITION); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PETITION); stmt->setUInt32(0, ownerGuid.GetCounter()); stmt->setUInt32(1, petitionGuid.GetCounter()); stmt->setString(2, name); @@ -111,9 +111,9 @@ void PetitionMgr::RemovePetition(ObjectGuid petitionGuid) _petitionStore.erase(petitionGuid); // Delete From DB - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PETITION_BY_GUID); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PETITION_BY_GUID); stmt->setUInt32(0, petitionGuid.GetCounter()); trans->Append(stmt); @@ -162,8 +162,8 @@ void PetitionMgr::RemovePetitionsByOwnerAndType(ObjectGuid ownerGuid, CharterTyp ++itr; } - PreparedStatement* stmt; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabasePreparedStatement* stmt; + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); if (type == CHARTER_TYPE_ANY) { stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PETITION_BY_OWNER); @@ -197,7 +197,7 @@ void PetitionMgr::RemoveSignaturesBySignerAndType(ObjectGuid signerGuid, Charter petitionPair.second.RemoveSignatureBySigner(signerGuid); } - PreparedStatement* stmt; + CharacterDatabasePreparedStatement* stmt; if (type == CHARTER_TYPE_ANY) { stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ALL_PETITION_SIGNATURES); @@ -228,7 +228,7 @@ void Petition::AddSignature(uint32 accountId, ObjectGuid playerGuid, bool isLoad if (isLoading) return; - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PETITION_SIGNATURE); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PETITION_SIGNATURE); stmt->setUInt32(0, OwnerGuid.GetCounter()); stmt->setUInt32(1, PetitionGuid.GetCounter()); @@ -242,7 +242,7 @@ void Petition::UpdateName(std::string const& newName) { PetitionName = newName; - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_PETITION_NAME); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_PETITION_NAME); stmt->setString(0, newName); stmt->setUInt32(1, PetitionGuid.GetCounter()); CharacterDatabase.Execute(stmt); diff --git a/src/server/game/Pools/QuestPools.cpp b/src/server/game/Pools/QuestPools.cpp index aae4f5df4d7..f6e3bb121d2 100644 --- a/src/server/game/Pools/QuestPools.cpp +++ b/src/server/game/Pools/QuestPools.cpp @@ -48,15 +48,15 @@ static void RegeneratePool(QuestPool& pool) } } -static void SaveToDB(QuestPool const& pool, SQLTransaction trans) +static void SaveToDB(QuestPool const& pool, CharacterDatabaseTransaction trans) { - PreparedStatement* delStmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_POOL_QUEST_SAVE); + CharacterDatabasePreparedStatement* delStmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_POOL_QUEST_SAVE); delStmt->setUInt32(0, pool.poolId); trans->Append(delStmt); for (uint32 questId : pool.activeQuests) { - PreparedStatement* insStmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_POOL_QUEST_SAVE); + CharacterDatabasePreparedStatement* insStmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_POOL_QUEST_SAVE); insStmt->setUInt32(0, pool.poolId); insStmt->setUInt32(1, questId); trans->Append(insStmt); @@ -150,10 +150,10 @@ void QuestPoolMgr::LoadFromDB() (*it->second.first)[it->second.second].activeQuests.insert(questId); } while (result->NextRow()); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); for (uint32 poolId : unknownPoolIds) { - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_POOL_QUEST_SAVE); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_POOL_QUEST_SAVE); stmt->setUInt32(0, poolId); trans->Append(stmt); } @@ -162,7 +162,7 @@ void QuestPoolMgr::LoadFromDB() } // post-processing and sanity checks - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); for (auto pair : lookup) { if (!pair.second.first) @@ -258,7 +258,7 @@ void QuestPoolMgr::LoadFromDB() void QuestPoolMgr::Regenerate(std::vector<QuestPool>& pools) { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); for (QuestPool& pool : pools) { RegeneratePool(pool); diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp index 5234ee0d596..32be8bfc6c9 100644 --- a/src/server/game/Reputation/ReputationMgr.cpp +++ b/src/server/game/Reputation/ReputationMgr.cpp @@ -582,7 +582,7 @@ void ReputationMgr::LoadFromDB(PreparedQueryResult result) } } -void ReputationMgr::SaveToDB(SQLTransaction& trans) +void ReputationMgr::SaveToDB(CharacterDatabaseTransaction& trans) { for (FactionStateList::iterator itr = _factions.begin(); itr != _factions.end(); ++itr) { diff --git a/src/server/game/Reputation/ReputationMgr.h b/src/server/game/Reputation/ReputationMgr.h index 6d7d3e233b2..f64706f66b2 100644 --- a/src/server/game/Reputation/ReputationMgr.h +++ b/src/server/game/Reputation/ReputationMgr.h @@ -67,7 +67,7 @@ class TC_GAME_API ReputationMgr _visibleFactionCount(0), _honoredFactionCount(0), _reveredFactionCount(0), _exaltedFactionCount(0), _sendFactionIncreased(false) { } ~ReputationMgr() { } - void SaveToDB(SQLTransaction& trans); + void SaveToDB(CharacterDatabaseTransaction& trans); void LoadFromDB(PreparedQueryResult result); public: // statics static const int32 PointsInRank[MAX_REPUTATION_RANK]; diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 16fe30f0c05..625e2d0ea76 100644 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -845,7 +845,7 @@ void WorldSession::SendTutorialsData() SendPacket(&data); } -void WorldSession::SaveTutorialsData(SQLTransaction &trans) +void WorldSession::SaveTutorialsData(CharacterDatabaseTransaction &trans) { if (!(m_TutorialsChanged & TUTORIALS_FLAG_CHANGED)) return; diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index c91f6124849..aa8641a02d5 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -464,7 +464,7 @@ class TC_GAME_API WorldSession void LoadTutorialsData(PreparedQueryResult result); void SendTutorialsData(); - void SaveTutorialsData(SQLTransaction& trans); + void SaveTutorialsData(CharacterDatabaseTransaction& trans); uint32 GetTutorialInt(uint8 index) const { return m_Tutorials[index]; } void SetTutorialInt(uint8 index, uint32 value) { diff --git a/src/server/game/Spells/SpellHistory.cpp b/src/server/game/Spells/SpellHistory.cpp index d8ebf3acc93..e7b76c4fce1 100644 --- a/src/server/game/Spells/SpellHistory.cpp +++ b/src/server/game/Spells/SpellHistory.cpp @@ -116,7 +116,7 @@ void SpellHistory::LoadFromDB(PreparedQueryResult cooldownsResult) } template<class OwnerType> -void SpellHistory::SaveToDB(SQLTransaction& trans) +void SpellHistory::SaveToDB(CharacterDatabaseTransaction& trans) { typedef PersistenceHelper<OwnerType> StatementInfo; @@ -730,5 +730,5 @@ void SpellHistory::RestoreCooldownStateAfterDuel() template void SpellHistory::LoadFromDB<Player>(PreparedQueryResult cooldownsResult); template void SpellHistory::LoadFromDB<Pet>(PreparedQueryResult cooldownsResult); -template void SpellHistory::SaveToDB<Player>(SQLTransaction& trans); -template void SpellHistory::SaveToDB<Pet>(SQLTransaction& trans); +template void SpellHistory::SaveToDB<Player>(CharacterDatabaseTransaction& trans); +template void SpellHistory::SaveToDB<Pet>(CharacterDatabaseTransaction& trans); diff --git a/src/server/game/Spells/SpellHistory.h b/src/server/game/Spells/SpellHistory.h index 99b91ab9e46..edc1615467f 100644 --- a/src/server/game/Spells/SpellHistory.h +++ b/src/server/game/Spells/SpellHistory.h @@ -66,7 +66,7 @@ public: void LoadFromDB(PreparedQueryResult cooldownsResult); template<class OwnerType> - void SaveToDB(SQLTransaction& trans); + void SaveToDB(CharacterDatabaseTransaction& trans); void Update(); diff --git a/src/server/game/Tickets/TicketMgr.cpp b/src/server/game/Tickets/TicketMgr.cpp index dfa8abcd015..586a9085e21 100644 --- a/src/server/game/Tickets/TicketMgr.cpp +++ b/src/server/game/Tickets/TicketMgr.cpp @@ -88,12 +88,12 @@ bool GmTicket::LoadFromDB(Field* fields) return true; } -void GmTicket::SaveToDB(SQLTransaction& trans) const +void GmTicket::SaveToDB(CharacterDatabaseTransaction& trans) const { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // id, type, playerGuid, name, description, createTime, mapId, posX, posY, posZ, lastModifiedTime, closedBy, assignedTo, comment, response, completed, escalated, viewed, needMoreHelp, resolvedBy uint8 index = 0; - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_GM_TICKET); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_GM_TICKET); stmt->setUInt32( index, _id); stmt->setUInt8 (++index, uint8(_type)); stmt->setUInt32(++index, _playerGuid.GetCounter()); @@ -120,7 +120,7 @@ void GmTicket::SaveToDB(SQLTransaction& trans) const void GmTicket::DeleteFromDB() { - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GM_TICKET); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GM_TICKET); stmt->setUInt32(0, _id); CharacterDatabase.Execute(stmt); } @@ -299,7 +299,7 @@ void TicketMgr::ResetTickets() _lastTicketId = 0; - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ALL_GM_TICKETS); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ALL_GM_TICKETS); CharacterDatabase.Execute(stmt); } @@ -321,7 +321,7 @@ void TicketMgr::LoadTickets() _lastTicketId = 0; _openTicketCount = 0; - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_GM_TICKETS); + CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_GM_TICKETS); PreparedQueryResult result = CharacterDatabase.Query(stmt); if (!result) { @@ -374,7 +374,7 @@ void TicketMgr::AddTicket(GmTicket* ticket) _ticketList[ticket->GetId()] = ticket; if (!ticket->IsClosed()) ++_openTicketCount; - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); ticket->SaveToDB(trans); } @@ -382,7 +382,7 @@ void TicketMgr::CloseTicket(uint32 ticketId, ObjectGuid source) { if (GmTicket* ticket = GetTicket(ticketId)) { - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); ticket->SetClosedBy(source); if (source) --_openTicketCount; @@ -394,7 +394,7 @@ void TicketMgr::ResolveAndCloseTicket(uint32 ticketId, ObjectGuid source) { if (GmTicket* ticket = GetTicket(ticketId)) { - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); ticket->SetClosedBy(source); ticket->SetResolvedBy(source); if (source) diff --git a/src/server/game/Tickets/TicketMgr.h b/src/server/game/Tickets/TicketMgr.h index fb07e69ac46..799b38ea075 100644 --- a/src/server/game/Tickets/TicketMgr.h +++ b/src/server/game/Tickets/TicketMgr.h @@ -133,7 +133,7 @@ public: void AppendResponse(std::string const& response) { _response += response; } bool LoadFromDB(Field* fields); - void SaveToDB(SQLTransaction& trans) const; + void SaveToDB(CharacterDatabaseTransaction& trans) const; void DeleteFromDB(); void WritePacket(WorldPacket& data) const; diff --git a/src/server/game/Tools/PlayerDump.cpp b/src/server/game/Tools/PlayerDump.cpp index c4ae110efbb..a4e122e4130 100644 --- a/src/server/game/Tools/PlayerDump.cpp +++ b/src/server/game/Tools/PlayerDump.cpp @@ -820,7 +820,7 @@ DumpReturn PlayerDumpReader::LoadDump(std::string const& file, uint32 account, s // for logs size_t lineNumber = 0; - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); while (!feof(fin.get())) { if (!fgets(buf, BUFFER_SIZE, fin.get())) diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 24c1167fde1..8b3ffd4942d 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -2768,7 +2768,7 @@ BanReturn World::BanAccount(BanMode mode, std::string const& nameOrIP, uint32 du } ///- Disconnect all affected players (for IP it can be several) - SQLTransaction trans = LoginDatabase.BeginTransaction(); + LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction(); do { Field* fieldsAccount = resultAccounts->Fetch(); @@ -2848,7 +2848,7 @@ BanReturn World::BanCharacter(std::string const& name, std::string const& durati else guid = banned->GetGUID().GetCounter(); //Use transaction in order to ensure the order of the queries - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); // make sure there is only one active ban CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHARACTER_BAN); stmt->setUInt32(0, guid); @@ -3129,7 +3129,7 @@ void World::_UpdateRealmCharCount(PreparedQueryResult resultCharCount) uint32 accountId = fields[0].GetUInt32(); uint8 charCount = uint8(fields[1].GetUInt64()); - SQLTransaction trans = LoginDatabase.BeginTransaction(); + LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction(); LoginDatabasePreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_DEL_REALM_CHARACTERS_BY_REALM); stmt->setUInt32(0, accountId); diff --git a/src/server/scripts/Commands/cs_guild.cpp b/src/server/scripts/Commands/cs_guild.cpp index ae71814a03d..55049d3b11f 100644 --- a/src/server/scripts/Commands/cs_guild.cpp +++ b/src/server/scripts/Commands/cs_guild.cpp @@ -165,7 +165,7 @@ public: return false; // player's guild membership checked in AddMember before add - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); return targetGuild->AddMember(trans, targetGuid); } @@ -184,7 +184,7 @@ public: if (!targetGuild) return false; - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); targetGuild->DeleteMember(trans, targetGuid, false, true, true); return true; } @@ -212,7 +212,7 @@ public: return false; uint8 newRank = uint8(atoi(rankStr)); - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); return targetGuild->ChangeMemberRank(trans, targetGuid, newRank); } diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 810faa42533..ae238a3713e 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -592,7 +592,7 @@ public: handler->PSendSysMessage(LANG_SUMMONING, nameLink.c_str(), handler->GetTrinityString(LANG_OFFLINE)); // in point where GM stay - SQLTransaction dummy; + CharacterDatabaseTransaction dummy; Player::SavePositionInDB(WorldLocation(_player->GetMapId(), _player->GetPositionX(), _player->GetPositionY(), @@ -652,7 +652,7 @@ public: } else { - SQLTransaction trans(nullptr); + CharacterDatabaseTransaction trans(nullptr); Player::OfflineResurrect(targetGuid, trans); } diff --git a/src/server/scripts/Commands/cs_send.cpp b/src/server/scripts/Commands/cs_send.cpp index d020acc6fc1..b691f3760f0 100644 --- a/src/server/scripts/Commands/cs_send.cpp +++ b/src/server/scripts/Commands/cs_send.cpp @@ -83,7 +83,7 @@ public: MailSender sender(MAIL_NORMAL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetGUID().GetCounter() : 0, MAIL_STATIONERY_GM); /// @todo Fix poor design - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); MailDraft(subject, text) .SendMailTo(trans, MailReceiver(target, targetGuid.GetCounter()), sender); @@ -184,7 +184,7 @@ public: // fill mail MailDraft draft(subject, text); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); for (ItemPairs::const_iterator itr = items.begin(); itr != items.end(); ++itr) { @@ -241,7 +241,7 @@ public: // from console show nonexisting sender MailSender sender(MAIL_NORMAL, handler->GetSession() ? handler->GetSession()->GetPlayer()->GetGUID().GetCounter() : 0, MAIL_STATIONERY_GM); - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); MailDraft(subject, text) .AddMoney(money) diff --git a/src/server/scripts/Commands/cs_tele.cpp b/src/server/scripts/Commands/cs_tele.cpp index bb95b8c0f2c..0b4479513a5 100644 --- a/src/server/scripts/Commands/cs_tele.cpp +++ b/src/server/scripts/Commands/cs_tele.cpp @@ -138,7 +138,7 @@ public: WorldLocation loc(fieldsDB[0].GetUInt16(), fieldsDB[2].GetFloat(), fieldsDB[3].GetFloat(), fieldsDB[4].GetFloat(), 0.0f); uint32 zoneId = fieldsDB[1].GetUInt16(); - SQLTransaction dummy; + CharacterDatabaseTransaction dummy; Player::SavePositionInDB(loc, zoneId, target_guid, dummy); } } @@ -192,7 +192,7 @@ public: handler->PSendSysMessage(LANG_TELEPORTING_TO, nameLink.c_str(), handler->GetTrinityString(LANG_OFFLINE), tele->name.c_str()); - SQLTransaction dummy; + CharacterDatabaseTransaction dummy; Player::SavePositionInDB(WorldLocation(tele->mapId, tele->position_x, tele->position_y, tele->position_z, tele->orientation), sMapMgr->GetZoneId(tele->mapId, tele->position_x, tele->position_y, tele->position_z), target_guid, dummy); } diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp index 582c7eeeaef..1907226f791 100644 --- a/src/server/scripts/Commands/cs_ticket.cpp +++ b/src/server/scripts/Commands/cs_ticket.cpp @@ -123,7 +123,7 @@ public: } // Assign ticket - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); ticket->SetAssignedTo(targetGuid, AccountMgr::IsAdminAccount(AccountMgr::GetSecurity(accountId, realm.Id.Realm))); ticket->SaveToDB(trans); sTicketMgr->UpdateLastChange(); @@ -199,7 +199,7 @@ public: return true; } - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); ticket->SetComment(comment); ticket->SaveToDB(trans); sTicketMgr->UpdateLastChange(); @@ -257,7 +257,7 @@ public: Player* gm = handler->GetSession() ? handler->GetSession()->GetPlayer() : nullptr; - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); ticket->SetResolvedBy(gm ? gm->GetGUID() : ObjectGuid(uint64(0))); ticket->SetCompleted(); ticket->SaveToDB(trans); @@ -410,7 +410,7 @@ public: } std::string assignedTo = ticket->GetAssignedToName(); // copy assignedto name because we need it after the ticket has been unnassigned - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); ticket->SetUnassigned(); ticket->SaveToDB(trans); sTicketMgr->UpdateLastChange(); @@ -435,7 +435,7 @@ public: return true; } - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); ticket->SetViewed(); ticket->SaveToDB(trans); @@ -474,7 +474,7 @@ public: return true; } - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); ticket->SetViewed(); ticket->SaveToDB(trans); @@ -510,7 +510,7 @@ public: return true; } - SQLTransaction trans = SQLTransaction(nullptr); + CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr); ticket->AppendResponse(response); if (newLine) ticket->AppendResponse("\n"); diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp index fd2f4410e9c..a8bc282cbf0 100644 --- a/src/server/scripts/Northrend/zone_dalaran.cpp +++ b/src/server/scripts/Northrend/zone_dalaran.cpp @@ -193,7 +193,7 @@ class npc_minigob_manabonk : public CreatureScript void SendMailToPlayer(Player* player) const { - SQLTransaction trans = CharacterDatabase.BeginTransaction(); + CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction(); int16 deliverDelay = irand(MAIL_DELIVER_DELAY_MIN, MAIL_DELIVER_DELAY_MAX); MailDraft(MAIL_MINIGOB_ENTRY, true).SendMailTo(trans, MailReceiver(player), MailSender(MAIL_CREATURE, me->GetEntry()), MAIL_CHECK_MASK_NONE, deliverDelay); CharacterDatabase.CommitTransaction(trans); diff --git a/src/server/shared/Secrets/SecretMgr.cpp b/src/server/shared/Secrets/SecretMgr.cpp index 93ecce4e311..590440973f5 100644 --- a/src/server/shared/Secrets/SecretMgr.cpp +++ b/src/server/shared/Secrets/SecretMgr.cpp @@ -169,7 +169,7 @@ void SecretMgr::AttemptLoad(Secrets i, LogLevel errorLevel, std::unique_lock<std Optional<std::string> SecretMgr::AttemptTransition(Secrets i, Optional<BigNumber> const& newSecret, Optional<BigNumber> const& oldSecret, bool hadOldSecret) const { - SQLTransaction trans = LoginDatabase.BeginTransaction(); + LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction(); switch (i) { |