aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2019-07-27 10:52:33 +0200
committerShauren <shauren.trinity@gmail.com>2019-07-27 10:52:33 +0200
commitf6e2b8cdc1c8a3dd291947f67566b41dac116622 (patch)
tree22a01cb91b2d47827ae73b48fcace3926587a341 /src
parente8e89f58fb800014f53341f12505f60ee2b5fb6f (diff)
Core/DBLayer: Prevent committing transactions started on a different database
Diffstat (limited to 'src')
-rw-r--r--src/server/bnetserver/REST/LoginRESTService.cpp2
-rw-r--r--src/server/database/Database/DatabaseEnvFwd.h22
-rw-r--r--src/server/database/Database/DatabaseWorkerPool.cpp12
-rw-r--r--src/server/database/Database/DatabaseWorkerPool.h10
-rw-r--r--src/server/database/Database/Implementation/CharacterDatabase.h2
-rw-r--r--src/server/database/Database/Implementation/HotfixDatabase.h2
-rw-r--r--src/server/database/Database/Implementation/LoginDatabase.h2
-rw-r--r--src/server/database/Database/Implementation/WorldDatabase.h2
-rw-r--r--src/server/database/Database/MySQLConnection.cpp2
-rw-r--r--src/server/database/Database/MySQLConnection.h2
-rw-r--r--src/server/database/Database/Transaction.cpp6
-rw-r--r--src/server/database/Database/Transaction.h22
-rw-r--r--src/server/game/Accounts/AccountMgr.cpp4
-rw-r--r--src/server/game/Achievements/AchievementMgr.cpp10
-rw-r--r--src/server/game/Achievements/AchievementMgr.h4
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.cpp26
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.h16
-rw-r--r--src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp4
-rw-r--r--src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp2
-rw-r--r--src/server/game/BattlePets/BattlePetMgr.cpp2
-rw-r--r--src/server/game/BattlePets/BattlePetMgr.h2
-rw-r--r--src/server/game/Battlegrounds/ArenaTeam.cpp6
-rw-r--r--src/server/game/Battlegrounds/Battleground.cpp2
-rw-r--r--src/server/game/BlackMarket/BlackMarketMgr.cpp16
-rw-r--r--src/server/game/BlackMarket/BlackMarketMgr.h10
-rw-r--r--src/server/game/Calendar/CalendarMgr.cpp12
-rw-r--r--src/server/game/Calendar/CalendarMgr.h4
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp2
-rw-r--r--src/server/game/Entities/Corpse/Corpse.cpp6
-rw-r--r--src/server/game/Entities/Corpse/Corpse.h4
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp4
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp2
-rw-r--r--src/server/game/Entities/Item/Container/Bag.cpp4
-rw-r--r--src/server/game/Entities/Item/Container/Bag.h4
-rw-r--r--src/server/game/Entities/Item/Item.cpp18
-rw-r--r--src/server/game/Entities/Item/Item.h14
-rw-r--r--src/server/game/Entities/Pet/Pet.cpp10
-rw-r--r--src/server/game/Entities/Pet/Pet.h4
-rw-r--r--src/server/game/Entities/Player/CollectionMgr.cpp8
-rw-r--r--src/server/game/Entities/Player/CollectionMgr.h8
-rw-r--r--src/server/game/Entities/Player/Player.cpp98
-rw-r--r--src/server/game/Entities/Player/Player.h50
-rw-r--r--src/server/game/Events/GameEventMgr.cpp6
-rw-r--r--src/server/game/Garrison/Garrison.cpp6
-rw-r--r--src/server/game/Garrison/Garrison.h4
-rw-r--r--src/server/game/Groups/Group.cpp6
-rw-r--r--src/server/game/Guilds/Guild.cpp102
-rw-r--r--src/server/game/Guilds/Guild.h70
-rw-r--r--src/server/game/Guilds/GuildFinderMgr.cpp10
-rw-r--r--src/server/game/Handlers/AuctionHouseHandler.cpp12
-rw-r--r--src/server/game/Handlers/BlackMarketHandler.cpp2
-rw-r--r--src/server/game/Handlers/CalendarHandler.cpp4
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp12
-rw-r--r--src/server/game/Handlers/ItemHandler.cpp2
-rw-r--r--src/server/game/Handlers/MailHandler.cpp8
-rw-r--r--src/server/game/Handlers/PetHandler.cpp2
-rw-r--r--src/server/game/Handlers/PetitionsHandler.cpp6
-rw-r--r--src/server/game/Handlers/SpellHandler.cpp2
-rw-r--r--src/server/game/Handlers/TradeHandler.cpp2
-rw-r--r--src/server/game/Instances/InstanceSaveMgr.cpp4
-rw-r--r--src/server/game/Mails/Mail.cpp12
-rw-r--r--src/server/game/Mails/Mail.h8
-rw-r--r--src/server/game/Maps/Map.cpp2
-rw-r--r--src/server/game/Pools/PoolMgr.cpp2
-rw-r--r--src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp4
-rw-r--r--src/server/game/Quests/QuestObjectiveCriteriaMgr.h2
-rw-r--r--src/server/game/Reputation/ReputationMgr.cpp2
-rw-r--r--src/server/game/Reputation/ReputationMgr.h2
-rw-r--r--src/server/game/Scenarios/InstanceScenario.cpp4
-rw-r--r--src/server/game/Server/WorldSession.cpp2
-rw-r--r--src/server/game/Server/WorldSession.h2
-rw-r--r--src/server/game/Spells/SpellHistory.cpp6
-rw-r--r--src/server/game/Spells/SpellHistory.h2
-rw-r--r--src/server/game/Support/SupportMgr.cpp4
-rw-r--r--src/server/game/Tools/PlayerDump.cpp2
-rw-r--r--src/server/game/World/World.cpp6
-rw-r--r--src/server/scripts/Commands/cs_guild.cpp6
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp6
-rw-r--r--src/server/scripts/Commands/cs_send.cpp6
-rw-r--r--src/server/scripts/Commands/cs_tele.cpp4
-rw-r--r--src/server/scripts/Northrend/zone_dalaran.cpp2
81 files changed, 405 insertions, 383 deletions
diff --git a/src/server/bnetserver/REST/LoginRESTService.cpp b/src/server/bnetserver/REST/LoginRESTService.cpp
index 63d629a8bef..8e75a59e8bc 100644
--- a/src/server/bnetserver/REST/LoginRESTService.cpp
+++ b/src/server/bnetserver/REST/LoginRESTService.cpp
@@ -392,7 +392,7 @@ int32 LoginRESTService::HandlePostLogin(std::shared_ptr<AsyncRequest> request)
if (maxWrongPassword)
{
- SQLTransaction trans = LoginDatabase.BeginTransaction();
+ LoginDatabaseTransaction trans = LoginDatabase.BeginTransaction();
LoginDatabasePreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_UPD_BNET_FAILED_LOGINS);
stmt->setUInt32(0, accountId);
trans->Append(stmt);
diff --git a/src/server/database/Database/DatabaseEnvFwd.h b/src/server/database/Database/DatabaseEnvFwd.h
index c5c8f6dd3c3..61dad270e99 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 cda22f6ed93..d6ce7dd2e33 100644
--- a/src/server/database/Database/DatabaseWorkerPool.cpp
+++ b/src/server/database/Database/DatabaseWorkerPool.cpp
@@ -211,13 +211,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.
@@ -240,7 +240,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);
@@ -426,7 +426,7 @@ void DatabaseWorkerPool<T>::DirectExecute(PreparedStatement<T>* stmt)
}
template <class T>
-void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, const char* sql)
+void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction<T>& trans, const char* sql)
{
if (!trans)
Execute(sql);
@@ -435,7 +435,7 @@ void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, const char* 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 c8fe778f1e8..548315e9f26 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, const char* sql);
+ void ExecuteOrAppend(SQLTransaction<T>& trans, const char* 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 5bb6aec0c74..fa2f0071a23 100644
--- a/src/server/database/Database/Implementation/CharacterDatabase.h
+++ b/src/server/database/Database/Implementation/CharacterDatabase.h
@@ -647,6 +647,4 @@ public:
void DoPrepareStatements() override;
};
-using CharacterDatabasePreparedStatement = PreparedStatement<CharacterDatabaseConnection>;
-
#endif
diff --git a/src/server/database/Database/Implementation/HotfixDatabase.h b/src/server/database/Database/Implementation/HotfixDatabase.h
index e42d07011ee..e31704bebe7 100644
--- a/src/server/database/Database/Implementation/HotfixDatabase.h
+++ b/src/server/database/Database/Implementation/HotfixDatabase.h
@@ -589,6 +589,4 @@ public:
void DoPrepareStatements() override;
};
-using HotfixDatabasePreparedStatement = PreparedStatement<HotfixDatabaseConnection>;
-
#endif
diff --git a/src/server/database/Database/Implementation/LoginDatabase.h b/src/server/database/Database/Implementation/LoginDatabase.h
index 74f2f47a3a7..5fcc11a358a 100644
--- a/src/server/database/Database/Implementation/LoginDatabase.h
+++ b/src/server/database/Database/Implementation/LoginDatabase.h
@@ -181,6 +181,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 6f6db8b83f2..94dd3519c17 100644
--- a/src/server/database/Database/Implementation/WorldDatabase.h
+++ b/src/server/database/Database/Implementation/WorldDatabase.h
@@ -116,6 +116,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 1d2286ede44..229081a3ce0 100644
--- a/src/server/database/Database/MySQLConnection.cpp
+++ b/src/server/database/Database/MySQLConnection.cpp
@@ -372,7 +372,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 dcf7f21567b..1e0c65cb27c 100644
--- a/src/server/database/Database/MySQLConnection.h
+++ b/src/server/database/Database/MySQLConnection.h
@@ -79,7 +79,7 @@ class TC_DATABASE_API MySQLConnection
void BeginTransaction();
void RollbackTransaction();
void CommitTransaction();
- int ExecuteTransaction(SQLTransaction& transaction);
+ int ExecuteTransaction(std::shared_ptr<TransactionBase> transaction);
void Ping();
diff --git a/src/server/database/Database/Transaction.cpp b/src/server/database/Database/Transaction.cpp
index b135d7a44cc..a522f1a5f46 100644
--- a/src/server/database/Database/Transaction.cpp
+++ b/src/server/database/Database/Transaction.cpp
@@ -23,7 +23,7 @@
std::mutex TransactionTask::_deadlockLock;
//- Append a raw ad-hoc query to the transaction
-void Transaction::Append(const char* sql)
+void TransactionBase::Append(const char* sql)
{
SQLElementData data;
data.type = SQL_ELEMENT_RAW;
@@ -32,7 +32,7 @@ void Transaction::Append(const char* 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;
@@ -40,7 +40,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 164dcb2d82a..26d1fa5910d 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(const char* 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 78316f3fcaa..1303cc3a4d3 100644
--- a/src/server/game/Accounts/AccountMgr.cpp
+++ b/src/server/game/Accounts/AccountMgr.cpp
@@ -130,7 +130,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);
@@ -519,7 +519,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 9efce73bd3c..da0d8264576 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -214,7 +214,7 @@ void PlayerAchievementMgr::Reset()
void PlayerAchievementMgr::DeleteFromDB(ObjectGuid const& guid)
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_ACHIEVEMENT);
stmt->setUInt64(0, guid.GetCounter());
@@ -290,7 +290,7 @@ void PlayerAchievementMgr::LoadFromDB(PreparedQueryResult achievementResult, Pre
}
}
-void PlayerAchievementMgr::SaveToDB(SQLTransaction& trans)
+void PlayerAchievementMgr::SaveToDB(CharacterDatabaseTransaction& trans)
{
if (!_completedAchievements.empty())
{
@@ -530,7 +530,7 @@ void PlayerAchievementMgr::CompletedAchievement(AchievementEntry const* achievem
draft = MailDraft(subject, text);
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
Item* item = reward->ItemId ? Item::CreateItem(reward->ItemId, 1, _owner) : NULL;
if (item)
@@ -660,7 +660,7 @@ void GuildAchievementMgr::Reset()
void GuildAchievementMgr::DeleteFromDB(ObjectGuid const& guid)
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ALL_GUILD_ACHIEVEMENTS);
stmt->setUInt64(0, guid.GetCounter());
@@ -734,7 +734,7 @@ void GuildAchievementMgr::LoadFromDB(PreparedQueryResult achievementResult, Prep
}
}
-void GuildAchievementMgr::SaveToDB(SQLTransaction& trans)
+void GuildAchievementMgr::SaveToDB(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt;
std::ostringstream guidstr;
diff --git a/src/server/game/Achievements/AchievementMgr.h b/src/server/game/Achievements/AchievementMgr.h
index cf67b52897a..5978da0ab8d 100644
--- a/src/server/game/Achievements/AchievementMgr.h
+++ b/src/server/game/Achievements/AchievementMgr.h
@@ -82,7 +82,7 @@ public:
static void DeleteFromDB(ObjectGuid const& guid);
void LoadFromDB(PreparedQueryResult achievementResult, PreparedQueryResult criteriaResult);
- void SaveToDB(SQLTransaction& trans);
+ void SaveToDB(CharacterDatabaseTransaction& trans);
void ResetCriteria(CriteriaTypes type, uint64 miscValue1 = 0, uint64 miscValue2 = 0, bool evenIfCriteriaComplete = false);
@@ -117,7 +117,7 @@ public:
static void DeleteFromDB(ObjectGuid const& guid);
void LoadFromDB(PreparedQueryResult achievementResult, PreparedQueryResult criteriaResult);
- void SaveToDB(SQLTransaction& trans);
+ void SaveToDB(CharacterDatabaseTransaction& trans);
void SendAllData(Player const* receiver) const override;
void SendAchievementInfo(Player* receiver, uint32 achievementId = 0) const;
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
index c135c4928d8..369bf95dd43 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
@@ -108,7 +108,7 @@ uint64 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* item = GetAItem(auction->itemGUIDLow);
if (!item)
@@ -177,7 +177,7 @@ void AuctionHouseMgr::SendAuctionWonMail(AuctionEntry* auction, SQLTransaction&
}
}
-void AuctionHouseMgr::SendAuctionSalePendingMail(AuctionEntry* auction, SQLTransaction& trans)
+void AuctionHouseMgr::SendAuctionSalePendingMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans)
{
ObjectGuid owner_guid = ObjectGuid::Create<HighGuid::Player>(auction->owner);
Player* owner = ObjectAccessor::FindConnectedPlayer(owner_guid);
@@ -189,7 +189,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 = ObjectGuid::Create<HighGuid::Player>(auction->owner);
Player* owner = ObjectAccessor::FindConnectedPlayer(owner_guid);
@@ -217,7 +217,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* item = GetAItem(auction->itemGUIDLow);
@@ -245,7 +245,7 @@ void AuctionHouseMgr::SendAuctionExpiredMail(AuctionEntry* auction, SQLTransacti
}
//this function sends mail to old bidder
-void AuctionHouseMgr::SendAuctionOutbiddedMail(AuctionEntry* auction, uint64 /*newPrice*/, Player* /*newBidder*/, SQLTransaction& trans)
+void AuctionHouseMgr::SendAuctionOutbiddedMail(AuctionEntry* auction, uint64 /*newPrice*/, Player* /*newBidder*/, CharacterDatabaseTransaction& trans)
{
ObjectGuid oldBidder_guid = ObjectGuid::Create<HighGuid::Player>(auction->bidder);
Player* oldBidder = ObjectAccessor::FindConnectedPlayer(oldBidder_guid);
@@ -269,7 +269,7 @@ void AuctionHouseMgr::SendAuctionOutbiddedMail(AuctionEntry* auction, uint64 /*n
}
//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::Create<HighGuid::Player>(auction->bidder);
Player* bidder = ObjectAccessor::FindConnectedPlayer(bidder_guid);
@@ -355,7 +355,7 @@ void AuctionHouseMgr::LoadAuctions()
uint32 count = 0;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
do
{
Field* fields = result->Fetch();
@@ -393,7 +393,7 @@ bool AuctionHouseMgr::RemoveAItem(ObjectGuid::LowType id, bool deleteItem)
if (deleteItem)
{
- SQLTransaction trans = SQLTransaction(nullptr);
+ CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr);
i->second->FSetState(ITEM_REMOVED);
i->second->SaveToDB(trans);
}
@@ -447,7 +447,7 @@ void AuctionHouseMgr::PendingAuctionProcess(Player* player)
PlayerAuctions* thisAH = iterMap->second.first;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
uint32 totalItems = 0;
for (auto itrAH = thisAH->begin(); itrAH != thisAH->end(); ++itrAH)
@@ -511,7 +511,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);
@@ -614,7 +614,7 @@ void AuctionHouseObject::Update()
++itr;
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
for (AuctionEntryMap::iterator it = AuctionsMap.begin(); it != AuctionsMap.end();)
{
@@ -862,14 +862,14 @@ uint64 AuctionEntry::GetAuctionOutBid() const
return outbid ? outbid : 1;
}
-void AuctionEntry::DeleteFromDB(SQLTransaction& trans) const
+void AuctionEntry::DeleteFromDB(CharacterDatabaseTransaction& trans) const
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_AUCTION);
stmt->setUInt32(0, Id);
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 b0f93ee86ef..8b5d0681361 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.h
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h
@@ -102,8 +102,8 @@ struct TC_GAME_API AuctionEntry
uint64 GetAuctionCut() const;
uint64 GetAuctionOutBid() const;
void BuildAuctionInfo(std::vector<WorldPackets::AuctionHouse::AuctionItem>& items, bool listAuctionItems, 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(uint64 lowGuid, uint64 bid, uint64 buyout, uint64 deposit, uint64 cut);
@@ -211,12 +211,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, uint64 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, uint64 newPrice, Player* newBidder, CharacterDatabaseTransaction& trans);
+ void SendAuctionCancelledToBidderMail(AuctionEntry* auction, CharacterDatabaseTransaction& trans);
static uint64 GetAuctionDeposit(AuctionHouseEntry const* entry, uint32 time, Item* pItem, uint32 count);
static AuctionHouseEntry const* GetAuctionHouseEntry(uint32 factionTemplateId, uint32* houseId);
diff --git a/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp b/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
index 84431c9809d..7b8065f1c2d 100644
--- a/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
+++ b/src/server/game/AuctionHouseBot/AuctionHouseBotBuyer.cpp
@@ -390,7 +390,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))
@@ -421,7 +421,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 b2009ac8baf..fc7bbc6b955 100644
--- a/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp
+++ b/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp
@@ -921,7 +921,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/BattlePets/BattlePetMgr.cpp b/src/server/game/BattlePets/BattlePetMgr.cpp
index cd1e72b05a8..de47ac5c146 100644
--- a/src/server/game/BattlePets/BattlePetMgr.cpp
+++ b/src/server/game/BattlePets/BattlePetMgr.cpp
@@ -237,7 +237,7 @@ void BattlePetMgr::LoadFromDB(PreparedQueryResult pets, PreparedQueryResult slot
}
}
-void BattlePetMgr::SaveToDB(SQLTransaction& trans)
+void BattlePetMgr::SaveToDB(LoginDatabaseTransaction& trans)
{
LoginDatabasePreparedStatement* stmt = nullptr;
diff --git a/src/server/game/BattlePets/BattlePetMgr.h b/src/server/game/BattlePets/BattlePetMgr.h
index 732487da045..e27c2d544a2 100644
--- a/src/server/game/BattlePets/BattlePetMgr.h
+++ b/src/server/game/BattlePets/BattlePetMgr.h
@@ -107,7 +107,7 @@ public:
static uint8 GetDefaultPetQuality(uint32 species);
void LoadFromDB(PreparedQueryResult pets, PreparedQueryResult slots);
- void SaveToDB(SQLTransaction& trans);
+ void SaveToDB(LoginDatabaseTransaction& trans);
BattlePet* GetPet(ObjectGuid guid);
void AddPet(uint32 species, uint32 creatureId, uint16 breed, uint8 quality, uint16 level = 1);
diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp
index c649b9d353a..490dd8cd583 100644
--- a/src/server/game/Battlegrounds/ArenaTeam.cpp
+++ b/src/server/game/Battlegrounds/ArenaTeam.cpp
@@ -356,7 +356,7 @@ void ArenaTeam::Disband(WorldSession* session)
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);
@@ -379,7 +379,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);
@@ -739,7 +739,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/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp
index 4eae68aef4e..404c2308f58 100644
--- a/src/server/game/Battlegrounds/Battleground.cpp
+++ b/src/server/game/Battlegrounds/Battleground.cpp
@@ -909,7 +909,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/BlackMarket/BlackMarketMgr.cpp b/src/server/game/BlackMarket/BlackMarketMgr.cpp
index 483a9747f8f..eb026696f47 100644
--- a/src/server/game/BlackMarket/BlackMarketMgr.cpp
+++ b/src/server/game/BlackMarket/BlackMarketMgr.cpp
@@ -112,7 +112,7 @@ void BlackMarketMgr::LoadAuctions()
_lastUpdate = time(nullptr); //Set update time before loading
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
do
{
Field* fields = result->Fetch();
@@ -142,7 +142,7 @@ void BlackMarketMgr::LoadAuctions()
void BlackMarketMgr::Update(bool updateTime)
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
time_t now = time(nullptr);
for (BlackMarketEntryMap::iterator itr = _auctions.begin(); itr != _auctions.end(); ++itr)
{
@@ -163,7 +163,7 @@ void BlackMarketMgr::Update(bool updateTime)
void BlackMarketMgr::RefreshAuctions()
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
// Delete completed auctions
for (BlackMarketEntryMap::iterator itr = _auctions.begin(); itr != _auctions.end();)
{
@@ -258,7 +258,7 @@ void BlackMarketMgr::AddTemplate(BlackMarketTemplate* templ)
_templates[templ->MarketID] = templ;
}
-void BlackMarketMgr::SendAuctionWonMail(BlackMarketEntry* entry, SQLTransaction& trans)
+void BlackMarketMgr::SendAuctionWonMail(BlackMarketEntry* entry, CharacterDatabaseTransaction& trans)
{
// Mail already sent
if (entry->GetMailSent())
@@ -318,7 +318,7 @@ void BlackMarketMgr::SendAuctionWonMail(BlackMarketEntry* entry, SQLTransaction&
entry->MailSent();
}
-void BlackMarketMgr::SendAuctionOutbidMail(BlackMarketEntry* entry, SQLTransaction& trans)
+void BlackMarketMgr::SendAuctionOutbidMail(BlackMarketEntry* entry, CharacterDatabaseTransaction& trans)
{
ObjectGuid oldBidder_guid = ObjectGuid::Create<HighGuid::Player>(entry->GetBidder());
Player* oldBidder = ObjectAccessor::FindConnectedPlayer(oldBidder_guid);
@@ -445,7 +445,7 @@ bool BlackMarketEntry::LoadFromDB(Field* fields)
return true;
}
-void BlackMarketEntry::SaveToDB(SQLTransaction& trans) const
+void BlackMarketEntry::SaveToDB(CharacterDatabaseTransaction& trans) const
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_BLACKMARKET_AUCTIONS);
@@ -458,7 +458,7 @@ void BlackMarketEntry::SaveToDB(SQLTransaction& trans) const
trans->Append(stmt);
}
-void BlackMarketEntry::DeleteFromDB(SQLTransaction& trans) const
+void BlackMarketEntry::DeleteFromDB(CharacterDatabaseTransaction& trans) const
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_BLACKMARKET_AUCTIONS);
stmt->setInt32(0, _marketId);
@@ -479,7 +479,7 @@ bool BlackMarketEntry::ValidateBid(uint64 bid) const
return true;
}
-void BlackMarketEntry::PlaceBid(uint64 bid, Player* player, SQLTransaction& trans) //Updated
+void BlackMarketEntry::PlaceBid(uint64 bid, Player* player, CharacterDatabaseTransaction& trans) //Updated
{
if (bid < _currentBid)
return;
diff --git a/src/server/game/BlackMarket/BlackMarketMgr.h b/src/server/game/BlackMarket/BlackMarketMgr.h
index 874a9a55d36..9832604c604 100644
--- a/src/server/game/BlackMarket/BlackMarketMgr.h
+++ b/src/server/game/BlackMarket/BlackMarketMgr.h
@@ -94,13 +94,13 @@ public:
time_t GetExpirationTime() const;
bool IsCompleted() 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);
uint64 GetMinIncrement() const { return (_currentBid / 20) - ((_currentBid / 20) % GOLD); } //5% increase every bid (has to be round gold value)
bool ValidateBid(uint64 bid) const;
- void PlaceBid(uint64 bid, Player* player, SQLTransaction& trans);
+ void PlaceBid(uint64 bid, Player* player, CharacterDatabaseTransaction& trans);
std::string BuildAuctionMailSubject(BMAHMailAuctionAnswers response) const;
std::string BuildAuctionMailBody();
@@ -147,8 +147,8 @@ class TC_GAME_API BlackMarketMgr
void AddAuction(BlackMarketEntry* auction);
void AddTemplate(BlackMarketTemplate* templ);
- void SendAuctionWonMail(BlackMarketEntry* entry, SQLTransaction& trans);
- void SendAuctionOutbidMail(BlackMarketEntry* entry, SQLTransaction& trans); // Call before incrementing bid
+ void SendAuctionWonMail(BlackMarketEntry* entry, CharacterDatabaseTransaction& trans);
+ void SendAuctionOutbidMail(BlackMarketEntry* entry, CharacterDatabaseTransaction& trans); // Call before incrementing bid
private:
BlackMarketEntryMap _auctions;
diff --git a/src/server/game/Calendar/CalendarMgr.cpp b/src/server/game/Calendar/CalendarMgr.cpp
index d55bb226beb..c0487937986 100644
--- a/src/server/game/Calendar/CalendarMgr.cpp
+++ b/src/server/game/Calendar/CalendarMgr.cpp
@@ -137,11 +137,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() && calendarEvent->GetOwnerGUID() != invite->GetInviteeGUID())
SendCalendarEventInvite(*invite);
@@ -168,7 +168,7 @@ void CalendarMgr::RemoveEvent(uint64 eventId, ObjectGuid remover)
SendCalendarEventRemovedAlert(*calendarEvent);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt;
MailDraft mail(calendarEvent->BuildCalendarMailSubject(remover), calendarEvent->BuildCalendarMailBody());
@@ -214,7 +214,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);
@@ -251,11 +251,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 aa7f1afbed4..fa67c8b2261 100644
--- a/src/server/game/Calendar/CalendarMgr.h
+++ b/src/server/game/Calendar/CalendarMgr.h
@@ -313,10 +313,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/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index 60065bfe487..455eb519402 100644
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -101,7 +101,7 @@ void LFGMgr::_SaveToDB(ObjectGuid guid, uint32 db_guid)
if (!guid.IsParty())
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 dd61c6d7fa5..9e1e680b589 100644
--- a/src/server/game/Entities/Corpse/Corpse.cpp
+++ b/src/server/game/Entities/Corpse/Corpse.cpp
@@ -95,7 +95,7 @@ bool Corpse::Create(ObjectGuid::LowType guidlow, Player* owner)
void Corpse::SaveToDB()
{
// prevent DB data inconsistence problems and duplicates
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
DeleteFromDB(trans);
std::ostringstream items;
@@ -136,12 +136,12 @@ void Corpse::SaveToDB()
CharacterDatabase.CommitTransaction(trans);
}
-void Corpse::DeleteFromDB(SQLTransaction& trans)
+void Corpse::DeleteFromDB(CharacterDatabaseTransaction& trans)
{
DeleteFromDB(GetOwnerGUID(), trans);
}
-void Corpse::DeleteFromDB(ObjectGuid const& ownerGuid, SQLTransaction& trans)
+void Corpse::DeleteFromDB(ObjectGuid const& ownerGuid, CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CORPSE);
stmt->setUInt64(0, ownerGuid.GetCounter());
diff --git a/src/server/game/Entities/Corpse/Corpse.h b/src/server/game/Entities/Corpse/Corpse.h
index 2aec35372d3..2412e979174 100644
--- a/src/server/game/Entities/Corpse/Corpse.h
+++ b/src/server/game/Entities/Corpse/Corpse.h
@@ -66,8 +66,8 @@ class TC_GAME_API Corpse : public WorldObject, public GridObject<Corpse>
void SaveToDB();
bool LoadCorpseFromDB(ObjectGuid::LowType guid, Field* fields);
- void DeleteFromDB(SQLTransaction& trans);
- static void DeleteFromDB(ObjectGuid const& ownerGuid, SQLTransaction& trans);
+ void DeleteFromDB(CharacterDatabaseTransaction& trans);
+ static void DeleteFromDB(ObjectGuid const& ownerGuid, CharacterDatabaseTransaction& trans);
void AddCorpseDynamicFlag(CorpseDynFlags dynamicFlags) { SetUpdateFieldFlagValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::DynamicFlags), dynamicFlags); }
void RemoveCorpseDynamicFlag(CorpseDynFlags dynamicFlags) { RemoveUpdateFieldFlagValue(m_values.ModifyValue(&Corpse::m_corpseData).ModifyValue(&UF::CorpseData::DynamicFlags), dynamicFlags); }
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index 7aa36545a10..66186cdeeab 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -1241,7 +1241,7 @@ void Creature::SaveToDB(uint32 mapid, std::vector<Difficulty> const& spawnDiffic
data.phaseGroup = GetDBPhase() < 0 ? -GetDBPhase() : data.phaseGroup;
// update in DB
- SQLTransaction trans = WorldDatabase.BeginTransaction();
+ WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction();
WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CREATURE);
stmt->setUInt64(0, m_spawnId);
@@ -1635,7 +1635,7 @@ void Creature::DeleteFromDB()
GetMap()->RemoveCreatureRespawnTime(m_spawnId);
sObjectMgr->DeleteCreatureData(m_spawnId);
- SQLTransaction trans = WorldDatabase.BeginTransaction();
+ WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction();
WorldDatabasePreparedStatement* stmt = WorldDatabase.GetPreparedStatement(WORLD_DEL_CREATURE);
stmt->setUInt64(0, m_spawnId);
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index 0c4bf935e16..944a1c0922d 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -962,7 +962,7 @@ void GameObject::SaveToDB(uint32 mapid, std::vector<Difficulty> const& spawnDiff
data.phaseGroup = GetDBPhase() < 0 ? -GetDBPhase() : data.phaseGroup;
// Update in DB
- SQLTransaction trans = WorldDatabase.BeginTransaction();
+ WorldDatabaseTransaction trans = WorldDatabase.BeginTransaction();
uint8 index = 0;
diff --git a/src/server/game/Entities/Item/Container/Bag.cpp b/src/server/game/Entities/Item/Container/Bag.cpp
index 5d2df6b0466..43f0f518adf 100644
--- a/src/server/game/Entities/Item/Container/Bag.cpp
+++ b/src/server/game/Entities/Item/Container/Bag.cpp
@@ -104,7 +104,7 @@ bool Bag::Create(ObjectGuid::LowType guidlow, uint32 itemid, Player const* owner
return true;
}
-void Bag::SaveToDB(SQLTransaction& trans)
+void Bag::SaveToDB(CharacterDatabaseTransaction& trans)
{
Item::SaveToDB(trans);
}
@@ -127,7 +127,7 @@ bool Bag::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fie
return true;
}
-void Bag::DeleteFromDB(SQLTransaction& trans)
+void Bag::DeleteFromDB(CharacterDatabaseTransaction& trans)
{
for (uint8 i = 0; i < MAX_BAG_SIZE; ++i)
if (m_bagslot[i])
diff --git a/src/server/game/Entities/Item/Container/Bag.h b/src/server/game/Entities/Item/Container/Bag.h
index ffe5942fb0c..b59acb52b1c 100644
--- a/src/server/game/Entities/Item/Container/Bag.h
+++ b/src/server/game/Entities/Item/Container/Bag.h
@@ -51,11 +51,11 @@ class TC_GAME_API Bag : public Item
// DB operations
// overwrite virtual Item::SaveToDB
- void SaveToDB(SQLTransaction& trans) override;
+ void SaveToDB(CharacterDatabaseTransaction& trans) override;
// overwrite virtual Item::LoadFromDB
bool LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fields, uint32 entry) override;
// overwrite virtual Item::DeleteFromDB
- void DeleteFromDB(SQLTransaction& trans) override;
+ void DeleteFromDB(CharacterDatabaseTransaction& trans) override;
void BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) const override;
void BuildValuesCreate(ByteBuffer* data, Player const* target) const override;
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index 12c8c79295c..6bd47efb600 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -373,7 +373,7 @@ void Item::UpdateDuration(Player* owner, uint32 diff)
SetState(ITEM_CHANGED, owner); // save new time in database
}
-void Item::SaveToDB(SQLTransaction& trans)
+void Item::SaveToDB(CharacterDatabaseTransaction& trans)
{
bool isInTransaction = bool(trans);
if (!isInTransaction)
@@ -875,14 +875,14 @@ void Item::CheckArtifactRelicSlotUnlock(Player const* owner)
}
/*static*/
-void Item::DeleteFromDB(SQLTransaction& trans, ObjectGuid::LowType itemGuid)
+void Item::DeleteFromDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType itemGuid)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_INSTANCE);
stmt->setUInt64(0, itemGuid);
trans->Append(stmt);
}
-void Item::DeleteFromDB(SQLTransaction& trans)
+void Item::DeleteFromDB(CharacterDatabaseTransaction& trans)
{
DeleteFromDB(trans, GetGUID().GetCounter());
@@ -892,14 +892,14 @@ void Item::DeleteFromDB(SQLTransaction& trans)
}
/*static*/
-void Item::DeleteFromInventoryDB(SQLTransaction& trans, ObjectGuid::LowType itemGuid)
+void Item::DeleteFromInventoryDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType itemGuid)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_INVENTORY_BY_ITEM);
stmt->setUInt64(0, itemGuid);
trans->Append(stmt);
}
-void Item::DeleteFromInventoryDB(SQLTransaction& trans)
+void Item::DeleteFromInventoryDB(CharacterDatabaseTransaction& trans)
{
DeleteFromInventoryDB(trans, GetGUID().GetCounter());
}
@@ -1486,7 +1486,7 @@ void Item::RemoveFromObjectUpdate()
void Item::SaveRefundDataToDB()
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_REFUND_INSTANCE);
stmt->setUInt64(0, GetGUID().GetCounter());
@@ -1502,7 +1502,7 @@ void Item::SaveRefundDataToDB()
CharacterDatabase.CommitTransaction(trans);
}
-void Item::DeleteRefundDataFromDB(SQLTransaction* trans)
+void Item::DeleteRefundDataFromDB(CharacterDatabaseTransaction* trans)
{
if (trans)
{
@@ -1513,7 +1513,7 @@ void Item::DeleteRefundDataFromDB(SQLTransaction* trans)
}
}
-void Item::SetNotRefundable(Player* owner, bool changestate /*= true*/, SQLTransaction* trans /*= nullptr*/, bool addToCollection /*= true*/)
+void Item::SetNotRefundable(Player* owner, bool changestate /*= true*/, CharacterDatabaseTransaction* trans /*= nullptr*/, bool addToCollection /*= true*/)
{
if (!HasItemFlag(ITEM_FIELD_FLAG_REFUNDABLE))
return;
@@ -1949,7 +1949,7 @@ void Item::ItemContainerSaveLootToDB()
if (loot.isLooted()) // no money and no loot
return;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
loot.containerID = GetGUID(); // Save this for when a LootItem is removed
diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h
index cafb01c84ad..b5f9897a3e8 100644
--- a/src/server/game/Entities/Item/Item.h
+++ b/src/server/game/Entities/Item/Item.h
@@ -169,7 +169,7 @@ class TC_GAME_API Item : public Object
bool IsBattlenetAccountBound() const { return (GetTemplate()->GetFlags2() & ITEM_FLAG2_BNET_ACCOUNT_TRADE_OK) != 0; }
bool IsBindedNotWith(Player const* player) const;
bool IsBoundByEnchant() const;
- virtual void SaveToDB(SQLTransaction& trans);
+ virtual void SaveToDB(CharacterDatabaseTransaction& trans);
virtual bool LoadFromDB(ObjectGuid::LowType guid, ObjectGuid ownerGuid, Field* fields, uint32 entry);
void LoadArtifactData(Player* owner, uint64 xp, uint32 artifactAppearanceId, uint32 artifactTier, std::vector<ArtifactPowerLoadInfo>& powers); // must be called after LoadFromDB to have gems (relics) initialized
void CheckArtifactRelicSlotUnlock(Player const* owner);
@@ -178,9 +178,9 @@ class TC_GAME_API Item : public Object
void SetBonuses(std::vector<int32> bonusListIDs);
void ClearBonuses();
- static void DeleteFromDB(SQLTransaction& trans, ObjectGuid::LowType itemGuid);
- virtual void DeleteFromDB(SQLTransaction& trans);
- static void DeleteFromInventoryDB(SQLTransaction& trans, ObjectGuid::LowType itemGuid);
+ static void DeleteFromDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType itemGuid);
+ virtual void DeleteFromDB(CharacterDatabaseTransaction& trans);
+ static void DeleteFromInventoryDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType itemGuid);
// Lootable items and their contents
void ItemContainerSaveLootToDB();
@@ -190,9 +190,9 @@ class TC_GAME_API Item : public Object
void ItemContainerDeleteLootMoneyFromDB();
void ItemContainerDeleteLootMoneyAndLootItemsFromDB();
- void DeleteFromInventoryDB(SQLTransaction& trans);
+ void DeleteFromInventoryDB(CharacterDatabaseTransaction& trans);
void SaveRefundDataToDB();
- void DeleteRefundDataFromDB(SQLTransaction* trans);
+ void DeleteRefundDataFromDB(CharacterDatabaseTransaction* trans);
Bag* ToBag() { if (IsBag()) return reinterpret_cast<Bag*>(this); else return NULL; }
const Bag* ToBag() const { if (IsBag()) return reinterpret_cast<const Bag*>(this); else return NULL; }
@@ -299,7 +299,7 @@ class TC_GAME_API Item : public Object
void SetFixedLevel(uint8 level);
// Item Refund system
- void SetNotRefundable(Player* owner, bool changestate = true, SQLTransaction* trans = nullptr, bool addToCollection = true);
+ void SetNotRefundable(Player* owner, bool changestate = true, CharacterDatabaseTransaction* trans = nullptr, bool addToCollection = true);
void SetRefundRecipient(ObjectGuid const& guid) { m_refundRecipient = guid; }
void SetPaidMoney(uint64 money) { m_paidMoney = money; }
void SetPaidExtendedCost(uint32 iece) { m_paidExtendedCost = iece; }
diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp
index ee6e1d1aaf7..7a2b13f80ce 100644
--- a/src/server/game/Entities/Pet/Pet.cpp
+++ b/src/server/game/Entities/Pet/Pet.cpp
@@ -278,7 +278,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c
// PET_SAVE_NOT_IN_SLOT(100) = not stable slot (summoning))
if (fields[7].GetUInt8())
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_PET_SLOT_BY_SLOT_EXCLUDE_ID);
stmt->setUInt8(0, uint8(PET_SAVE_NOT_IN_SLOT));
@@ -410,7 +410,7 @@ void Pet::SavePetToDB(PetSaveMode mode)
uint32 curhealth = GetHealth();
uint32 curmana = GetPower(POWER_MANA);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
// save auras before possibly removing them
_SaveAuras(trans);
@@ -488,7 +488,7 @@ void Pet::SavePetToDB(PetSaveMode mode)
void Pet::DeleteFromDB(uint32 guidlow)
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_PET_BY_ID);
stmt->setUInt32(0, guidlow);
@@ -1076,7 +1076,7 @@ void Pet::_LoadSpells()
}
}
-void Pet::_SaveSpells(SQLTransaction& trans)
+void Pet::_SaveSpells(CharacterDatabaseTransaction& trans)
{
for (PetSpellMap::iterator itr = m_spells.begin(), next = m_spells.begin(); itr != m_spells.end(); itr = next)
{
@@ -1229,7 +1229,7 @@ void Pet::_LoadAuras(uint32 timediff)
}
}
-void Pet::_SaveAuras(SQLTransaction& trans)
+void Pet::_SaveAuras(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PET_AURA_EFFECTS);
stmt->setUInt32(0, m_charmInfo->GetPetNumber());
diff --git a/src/server/game/Entities/Pet/Pet.h b/src/server/game/Entities/Pet/Pet.h
index 0ee1e732d6b..8f2547258d6 100644
--- a/src/server/game/Entities/Pet/Pet.h
+++ b/src/server/game/Entities/Pet/Pet.h
@@ -114,9 +114,9 @@ class TC_GAME_API Pet : public Guardian
void _LoadSpellCooldowns();
void _LoadAuras(uint32 timediff);
- void _SaveAuras(SQLTransaction& trans);
+ void _SaveAuras(CharacterDatabaseTransaction& trans);
void _LoadSpells();
- void _SaveSpells(SQLTransaction& trans);
+ void _SaveSpells(CharacterDatabaseTransaction& trans);
bool addSpell(uint32 spellId, ActiveStates active = ACT_DECIDE, PetSpellState state = PETSPELL_NEW, PetSpellType type = PETSPELL_NORMAL);
bool learnSpell(uint32 spell_id);
diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp
index 9a263ca35bf..bfd63df4398 100644
--- a/src/server/game/Entities/Player/CollectionMgr.cpp
+++ b/src/server/game/Entities/Player/CollectionMgr.cpp
@@ -123,7 +123,7 @@ void CollectionMgr::LoadAccountToys(PreparedQueryResult result)
} while (result->NextRow());
}
-void CollectionMgr::SaveAccountToys(SQLTransaction& trans)
+void CollectionMgr::SaveAccountToys(LoginDatabaseTransaction& trans)
{
LoginDatabasePreparedStatement* stmt = nullptr;
for (auto const& toy : _toys)
@@ -201,7 +201,7 @@ void CollectionMgr::LoadAccountHeirlooms(PreparedQueryResult result)
} while (result->NextRow());
}
-void CollectionMgr::SaveAccountHeirlooms(SQLTransaction& trans)
+void CollectionMgr::SaveAccountHeirlooms(LoginDatabaseTransaction& trans)
{
LoginDatabasePreparedStatement* stmt = nullptr;
for (auto const& heirloom : _heirlooms)
@@ -395,7 +395,7 @@ void CollectionMgr::LoadAccountMounts(PreparedQueryResult result)
} while (result->NextRow());
}
-void CollectionMgr::SaveAccountMounts(SQLTransaction& trans)
+void CollectionMgr::SaveAccountMounts(LoginDatabaseTransaction& trans)
{
for (auto const& mount : _mounts)
{
@@ -551,7 +551,7 @@ void CollectionMgr::LoadAccountItemAppearances(PreparedQueryResult knownAppearan
}
}
-void CollectionMgr::SaveAccountItemAppearances(SQLTransaction& trans)
+void CollectionMgr::SaveAccountItemAppearances(LoginDatabaseTransaction& trans)
{
uint16 blockIndex = 0;
boost::to_block_range(*_appearances, DynamicBitsetBlockOutputIterator([this, &blockIndex, trans](uint32 blockValue)
diff --git a/src/server/game/Entities/Player/CollectionMgr.h b/src/server/game/Entities/Player/CollectionMgr.h
index 5292d07bf67..be3e1601145 100644
--- a/src/server/game/Entities/Player/CollectionMgr.h
+++ b/src/server/game/Entities/Player/CollectionMgr.h
@@ -86,7 +86,7 @@ public:
// Account-wide toys
void LoadToys();
void LoadAccountToys(PreparedQueryResult result);
- void SaveAccountToys(SQLTransaction& trans);
+ void SaveAccountToys(LoginDatabaseTransaction& trans);
void ToySetFavorite(uint32 itemId, bool favorite);
void ToyClearFanfare(uint32 itemId);
@@ -101,7 +101,7 @@ public:
// Account-wide heirlooms
void LoadHeirlooms();
void LoadAccountHeirlooms(PreparedQueryResult result);
- void SaveAccountHeirlooms(SQLTransaction& trans);
+ void SaveAccountHeirlooms(LoginDatabaseTransaction& trans);
void AddHeirloom(uint32 itemId, uint32 flags);
void UpgradeHeirloom(uint32 itemId, int32 castItem);
void CheckHeirloomUpgrades(Item* item);
@@ -114,7 +114,7 @@ public:
// Account-wide mounts
void LoadMounts();
void LoadAccountMounts(PreparedQueryResult result);
- void SaveAccountMounts(SQLTransaction& trans);
+ void SaveAccountMounts(LoginDatabaseTransaction& trans);
bool AddMount(uint32 spellId, MountStatusFlags flags, bool factionMount = false, bool learned = false);
void MountSetFavorite(uint32 spellId, bool favorite);
void SendSingleMountUpdate(std::pair<uint32, MountStatusFlags> mount);
@@ -123,7 +123,7 @@ public:
// Appearances
void LoadItemAppearances();
void LoadAccountItemAppearances(PreparedQueryResult knownAppearances, PreparedQueryResult favoriteAppearances);
- void SaveAccountItemAppearances(SQLTransaction& trans);
+ void SaveAccountItemAppearances(LoginDatabaseTransaction& trans);
void AddItemAppearance(Item* item);
void AddItemAppearance(uint32 itemId, uint32 appearanceModId = 0);
void AddTransmogSet(uint32 transmogSetId);
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index dbdd375fedf..994e54b49e0 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -2480,7 +2480,7 @@ void Player::GiveLevel(uint8 level)
if (MailLevelReward const* mailReward = sObjectMgr->GetMailLevelReward(level, getRaceMask()))
{
/// @todo Poor design of mail system
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
MailDraft(mailReward->mailTemplateId).SendMailTo(trans, this, MailSender(MAIL_CREATURE, uint64(mailReward->senderEntry)));
CharacterDatabase.CommitTransaction(trans);
}
@@ -3535,7 +3535,7 @@ bool Player::ResetTalents(bool noCost)
RemoveTalent(talentInfo);
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
_SaveTalents(trans);
_SaveSpells(trans);
CharacterDatabase.CommitTransaction(trans);
@@ -3572,7 +3572,7 @@ void Player::ResetPvpTalents()
RemovePvpTalent(talentInfo);
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
_SaveTalents(trans);
_SaveSpells(trans);
CharacterDatabase.CommitTransaction(trans);
@@ -3807,7 +3807,7 @@ void Player::DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRe
charDeleteMethod = CHAR_DELETE_REMOVE;
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
if (ObjectGuid::LowType guildId = sCharacterCache->GetCharacterGuildIdByGuid(playerguid))
if (Guild* guild = sGuildMgr->GetGuildById(guildId))
guild->DeleteMember(trans, playerguid, false, false, true);
@@ -4405,7 +4405,7 @@ void Player::KillPlayer()
UpdateObjectVisibility();
}
-void Player::OfflineResurrect(ObjectGuid const& guid, SQLTransaction& trans)
+void Player::OfflineResurrect(ObjectGuid const& guid, CharacterDatabaseTransaction& trans)
{
Corpse::DeleteFromDB(guid, trans);
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_ADD_AT_LOGIN_FLAG);
@@ -6611,7 +6611,7 @@ void Player::_LoadCurrency(PreparedQueryResult result)
} while (result->NextRow());
}
-void Player::_SaveCurrency(SQLTransaction& trans)
+void Player::_SaveCurrency(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt;
for (PlayerCurrenciesMap::iterator itr = _currencyStorage.begin(); itr != _currencyStorage.end(); ++itr)
@@ -9955,7 +9955,7 @@ void Player::SetInventorySlotCount(uint8 slots)
{
std::size_t fullBatches = unstorableItems.size() / MAX_MAIL_ITEMS;
std::size_t remainder = unstorableItems.size() % MAX_MAIL_ITEMS;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
auto sendItemsBatch = [this, &trans, &unstorableItems](std::size_t batchNumber, std::size_t batchSize)
{
@@ -15418,7 +15418,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
if (uint32 mail_template_id = quest->GetRewMailTemplateId())
{
/// @todo Poor design of mail system
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
if (uint32 questMailSender = quest->GetRewMailSenderEntry())
MailDraft(mail_template_id).SendMailTo(trans, this, questMailSender, MAIL_CHECK_MASK_HAS_BODY, quest->GetRewMailDelaySecs());
else
@@ -15449,7 +15449,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
// StoreNewItem, mail reward, etc. save data directly to the database
// to prevent exploitable data desynchronisation we save the quest status to the database too
// (to prevent rewarding this quest another time while rewards were already given out)
- SQLTransaction trans = SQLTransaction(nullptr);
+ CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr);
_SaveQuestStatus(trans);
SendQuestReward(quest, questGiver ? questGiver->ToCreature() : nullptr, XP, !announce);
@@ -18598,7 +18598,7 @@ void Player::_LoadInventory(PreparedQueryResult result, PreparedQueryResult arti
std::map<ObjectGuid, Bag*> bagMap; // fast guid lookup for bags
std::map<ObjectGuid, Item*> invalidBagMap; // fast guid lookup for bags
std::list<Item*> problematicItems;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
// Prevent items from being added to the queue while loading
m_itemUpdateQueueBlocked = true;
@@ -18790,7 +18790,7 @@ void Player::_LoadVoidStorage(PreparedQueryResult result)
while (result->NextRow());
}
-Item* Player::_LoadItem(SQLTransaction& trans, uint32 zoneId, uint32 timeDiff, Field* fields)
+Item* Player::_LoadItem(CharacterDatabaseTransaction& trans, uint32 zoneId, uint32 timeDiff, Field* fields)
{
Item* item = nullptr;
ObjectGuid::LowType itemGuid = fields[0].GetUInt64();
@@ -18965,7 +18965,7 @@ void Player::_LoadMailedItems(Mail* mail)
item->FSetState(ITEM_REMOVED);
- SQLTransaction temp = SQLTransaction(nullptr);
+ CharacterDatabaseTransaction temp = CharacterDatabaseTransaction(nullptr);
item->SaveToDB(temp); // it also deletes item object !
continue;
}
@@ -19899,7 +19899,7 @@ void Player::SaveToDB(bool create /*=false*/)
if (!create)
sScriptMgr->OnPlayerSave(this);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = nullptr;
uint8 index = 0;
@@ -20253,18 +20253,18 @@ void Player::SaveToDB(bool create /*=false*/)
CharacterDatabase.CommitTransaction(trans);
// TODO: Move this out
- trans = LoginDatabase.BeginTransaction();
- GetSession()->GetCollectionMgr()->SaveAccountToys(trans);
- GetSession()->GetBattlePetMgr()->SaveToDB(trans);
- GetSession()->GetCollectionMgr()->SaveAccountHeirlooms(trans);
- GetSession()->GetCollectionMgr()->SaveAccountMounts(trans);
- GetSession()->GetCollectionMgr()->SaveAccountItemAppearances(trans);
+ LoginDatabaseTransaction loginTransaction = LoginDatabase.BeginTransaction();
+ GetSession()->GetCollectionMgr()->SaveAccountToys(loginTransaction);
+ GetSession()->GetBattlePetMgr()->SaveToDB(loginTransaction);
+ GetSession()->GetCollectionMgr()->SaveAccountHeirlooms(loginTransaction);
+ GetSession()->GetCollectionMgr()->SaveAccountMounts(loginTransaction);
+ GetSession()->GetCollectionMgr()->SaveAccountItemAppearances(loginTransaction);
LoginDatabasePreparedStatement* loginStmt = LoginDatabase.GetPreparedStatement(LOGIN_DEL_BNET_LAST_PLAYER_CHARACTERS);
loginStmt->setUInt32(0, GetSession()->GetAccountId());
loginStmt->setUInt8(1, realm.Id.Region);
loginStmt->setUInt8(2, realm.Id.Site);
- trans->Append(loginStmt);
+ loginTransaction->Append(loginStmt);
loginStmt = LoginDatabase.GetPreparedStatement(LOGIN_INS_BNET_LAST_PLAYER_CHARACTERS);
loginStmt->setUInt32(0, GetSession()->GetAccountId());
@@ -20274,9 +20274,9 @@ void Player::SaveToDB(bool create /*=false*/)
loginStmt->setString(4, GetName());
loginStmt->setUInt64(5, GetGUID().GetCounter());
loginStmt->setUInt32(6, time(nullptr));
- trans->Append(loginStmt);
+ loginTransaction->Append(loginStmt);
- LoginDatabase.CommitTransaction(trans);
+ LoginDatabase.CommitTransaction(loginTransaction);
// save pet (hunter pet level and experience and all type pets health/mana).
if (Pet* pet = GetPet())
@@ -20284,14 +20284,14 @@ void Player::SaveToDB(bool create /*=false*/)
}
// fast save function for item/money cheating preventing - save only inventory and money state
-void Player::SaveInventoryAndGoldToDB(SQLTransaction& trans)
+void Player::SaveInventoryAndGoldToDB(CharacterDatabaseTransaction& trans)
{
_SaveInventory(trans);
_SaveCurrency(trans);
SaveGoldToDB(trans);
}
-void Player::SaveGoldToDB(SQLTransaction& trans) const
+void Player::SaveGoldToDB(CharacterDatabaseTransaction& trans) const
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_MONEY);
stmt->setUInt64(0, GetMoney());
@@ -20299,7 +20299,7 @@ void Player::SaveGoldToDB(SQLTransaction& trans) const
trans->Append(stmt);
}
-void Player::_SaveActions(SQLTransaction& trans)
+void Player::_SaveActions(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt;
@@ -20347,7 +20347,7 @@ void Player::_SaveActions(SQLTransaction& trans)
}
}
-void Player::_SaveAuras(SQLTransaction& trans)
+void Player::_SaveAuras(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_AURA_EFFECT);
stmt->setUInt64(0, GetGUID().GetCounter());
@@ -20402,7 +20402,7 @@ void Player::_SaveAuras(SQLTransaction& trans)
}
}
-void Player::_SaveInventory(SQLTransaction& trans)
+void Player::_SaveInventory(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt;
// force items in buyback slots to new state
@@ -20527,7 +20527,7 @@ void Player::_SaveInventory(SQLTransaction& trans)
m_itemUpdateQueue.clear();
}
-void Player::_SaveVoidStorage(SQLTransaction& trans)
+void Player::_SaveVoidStorage(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt = nullptr;
@@ -20564,7 +20564,7 @@ void Player::_SaveVoidStorage(SQLTransaction& trans)
}
}
-void Player::_SaveCUFProfiles(SQLTransaction& trans)
+void Player::_SaveCUFProfiles(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt;
for (uint8 i = 0; i < MAX_CUF_PROFILES; ++i)
@@ -20600,7 +20600,7 @@ void Player::_SaveCUFProfiles(SQLTransaction& trans)
}
}
-void Player::_SaveMail(SQLTransaction& trans)
+void Player::_SaveMail(CharacterDatabaseTransaction& trans)
{
if (!m_mailsLoaded)
return;
@@ -20673,7 +20673,7 @@ void Player::_SaveMail(SQLTransaction& trans)
m_mailsUpdated = false;
}
-void Player::_SaveQuestStatus(SQLTransaction& trans)
+void Player::_SaveQuestStatus(CharacterDatabaseTransaction& trans)
{
bool isTransaction = bool(trans);
if (!isTransaction)
@@ -20756,7 +20756,7 @@ void Player::_SaveQuestStatus(SQLTransaction& trans)
CharacterDatabase.CommitTransaction(trans);
}
-void Player::_SaveDailyQuestStatus(SQLTransaction& trans)
+void Player::_SaveDailyQuestStatus(CharacterDatabaseTransaction& trans)
{
if (!m_DailyQuestChanged)
return;
@@ -20792,7 +20792,7 @@ void Player::_SaveDailyQuestStatus(SQLTransaction& trans)
}
}
-void Player::_SaveWeeklyQuestStatus(SQLTransaction& trans)
+void Player::_SaveWeeklyQuestStatus(CharacterDatabaseTransaction& trans)
{
if (!m_WeeklyQuestChanged || m_weeklyquests.empty())
return;
@@ -20815,7 +20815,7 @@ void Player::_SaveWeeklyQuestStatus(SQLTransaction& trans)
m_WeeklyQuestChanged = false;
}
-void Player::_SaveSeasonalQuestStatus(SQLTransaction& trans)
+void Player::_SaveSeasonalQuestStatus(CharacterDatabaseTransaction& trans)
{
if (!m_SeasonalQuestChanged || m_seasonalquests.empty())
return;
@@ -20844,7 +20844,7 @@ void Player::_SaveSeasonalQuestStatus(SQLTransaction& trans)
m_SeasonalQuestChanged = false;
}
-void Player::_SaveMonthlyQuestStatus(SQLTransaction& trans)
+void Player::_SaveMonthlyQuestStatus(CharacterDatabaseTransaction& trans)
{
if (!m_MonthlyQuestChanged || m_monthlyquests.empty())
return;
@@ -20867,7 +20867,7 @@ void Player::_SaveMonthlyQuestStatus(SQLTransaction& trans)
m_MonthlyQuestChanged = false;
}
-void Player::_SaveSkills(SQLTransaction& trans)
+void Player::_SaveSkills(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt;
// we don't need transactions here.
@@ -20915,7 +20915,7 @@ void Player::_SaveSkills(SQLTransaction& trans)
}
}
-void Player::_SaveSpells(SQLTransaction& trans)
+void Player::_SaveSpells(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt;
@@ -20955,7 +20955,7 @@ void Player::_SaveSpells(SQLTransaction& trans)
// save player stats -- only for external usage
// real stats will be recalculated on player login
-void Player::_SaveStats(SQLTransaction& trans) const
+void Player::_SaveStats(CharacterDatabaseTransaction& trans) const
{
// check if stat saving is enabled and if char level is high enough
if (!sWorld->getIntConfig(CONFIG_MIN_LEVEL_STAT_SAVE) || getLevel() < sWorld->getIntConfig(CONFIG_MIN_LEVEL_STAT_SAVE))
@@ -21058,7 +21058,7 @@ bool Player::CanSpeak() const
/*** LOW LEVEL FUNCTIONS:Notifiers ***/
/*********************************************************/
-void Player::SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGuid guid, SQLTransaction& trans)
+void Player::SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGuid guid, CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHARACTER_POSITION);
@@ -21991,7 +21991,7 @@ void Player::RemovePetitionsAndSigns(ObjectGuid guid)
CharacterDatabase.Execute(stmt);
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PETITION_BY_OWNER);
stmt->setUInt64(0, guid.GetCounter());
@@ -24656,7 +24656,7 @@ void Player::AutoUnequipOffhandIfNeed(bool force /*= false*/)
else
{
MoveItemFromInventory(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND, true);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
offItem->DeleteFromInventoryDB(trans); // deletes item from character's inventory
offItem->SaveToDB(trans); // recursive and not have transaction guard into self, item not in inventory and can be save standalone
@@ -26550,7 +26550,7 @@ void Player::SetEquipmentSet(EquipmentSetInfo::EquipmentSetData const& newEqSet)
eqSlot.State = eqSlot.State == EQUIPMENT_SET_NEW ? EQUIPMENT_SET_NEW : EQUIPMENT_SET_CHANGED;
}
-void Player::_SaveEquipmentSets(SQLTransaction& trans)
+void Player::_SaveEquipmentSets(CharacterDatabaseTransaction& trans)
{
for (EquipmentSetContainer::iterator itr = _equipmentSets.begin(); itr != _equipmentSets.end();)
{
@@ -26643,7 +26643,7 @@ void Player::_SaveEquipmentSets(SQLTransaction& trans)
}
}
-void Player::_SaveBGData(SQLTransaction& trans)
+void Player::_SaveBGData(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PLAYER_BGDATA);
stmt->setUInt64(0, GetGUID().GetCounter());
@@ -26736,7 +26736,7 @@ void Player::_LoadGlyphs(PreparedQueryResult result)
} while (result->NextRow());
}
-void Player::_SaveGlyphs(SQLTransaction& trans) const
+void Player::_SaveGlyphs(CharacterDatabaseTransaction& trans) const
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_GLYPHS);
stmt->setUInt64(0, GetGUID().GetCounter());
@@ -26783,7 +26783,7 @@ void Player::_LoadPvpTalents(PreparedQueryResult result)
}
}
-void Player::_SaveTalents(SQLTransaction& trans)
+void Player::_SaveTalents(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_TALENT);
stmt->setUInt64(0, GetGUID().GetCounter());
@@ -26835,7 +26835,7 @@ void Player::ActivateTalentGroup(ChrSpecializationEntry const* spec)
if (IsNonMeleeSpellCast(false))
InterruptNonMeleeSpells(false);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
_SaveActions(trans);
CharacterDatabase.CommitTransaction(trans);
@@ -27240,7 +27240,7 @@ void Player::RefundItem(Item* item)
uint64 moneyRefund = item->GetPaidMoney(); // item-> will be invalidated in DestroyItem
// Save all relevant data to DB to prevent desynchronisation exploits
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
// Delete any references to the refund data
item->SetNotRefundable(this, true, &trans, false);
@@ -27289,7 +27289,7 @@ void Player::SendItemRetrievalMail(uint32 itemEntry, uint32 count)
{
MailSender sender(MAIL_CREATURE, UI64LIT(34337) /* The Postmaster */);
MailDraft draft("Recovered Item", "We recovered a lost item in the twisting nether and noted that it was yours.$B$BPlease find said object enclosed."); // This is the text used in Cataclysm, it probably wasn't changed.
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
if (Item* item = Item::CreateItem(itemEntry, count, nullptr))
{
@@ -27354,7 +27354,7 @@ void Player::_LoadInstanceTimeRestrictions(PreparedQueryResult result)
} while (result->NextRow());
}
-void Player::_SaveInstanceTimeRestrictions(SQLTransaction& trans)
+void Player::_SaveInstanceTimeRestrictions(CharacterDatabaseTransaction& trans)
{
if (_instanceResetTimes.empty())
return;
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 73f37ecd97f..93e33a350d6 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1450,11 +1450,11 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
/*********************************************************/
void SaveToDB(bool create = false);
- void SaveInventoryAndGoldToDB(SQLTransaction& trans); // fast save function for item/money cheating preventing
- void SaveGoldToDB(SQLTransaction& trans) const;
+ void SaveInventoryAndGoldToDB(CharacterDatabaseTransaction& trans); // fast save function for item/money cheating preventing
+ void SaveGoldToDB(CharacterDatabaseTransaction& trans) const;
static void SetUInt32ValueInArray(Tokenizer& data, uint16 index, uint32 value);
- static void SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGuid guid, SQLTransaction& trans);
+ static void SavePositionInDB(WorldLocation const& loc, uint16 zoneId, ObjectGuid guid, CharacterDatabaseTransaction& trans);
static void DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRealmChars = true, bool deleteFinally = false);
static void DeleteOldCharacters();
@@ -1839,7 +1839,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
void SpawnCorpseBones(bool triggerSave = true);
Corpse* CreateCorpse();
void KillPlayer();
- static void OfflineResurrect(ObjectGuid const& guid, SQLTransaction& trans);
+ static void OfflineResurrect(ObjectGuid const& guid, CharacterDatabaseTransaction& trans);
bool HasCorpse() const { return _corpseLocation.GetMapId() != MAPID_INVALID; }
WorldLocation GetCorpseLocation() const { return _corpseLocation; }
void InitializeSelfResurrectionSpells();
@@ -2521,26 +2521,26 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
/*** SAVE SYSTEM ***/
/*********************************************************/
- void _SaveActions(SQLTransaction& trans);
- void _SaveAuras(SQLTransaction& trans);
- void _SaveInventory(SQLTransaction& trans);
- void _SaveVoidStorage(SQLTransaction& trans);
- void _SaveMail(SQLTransaction& trans);
- void _SaveQuestStatus(SQLTransaction& trans);
- void _SaveDailyQuestStatus(SQLTransaction& trans);
- void _SaveWeeklyQuestStatus(SQLTransaction& trans);
- void _SaveMonthlyQuestStatus(SQLTransaction& trans);
- void _SaveSeasonalQuestStatus(SQLTransaction& trans);
- void _SaveSkills(SQLTransaction& trans);
- void _SaveSpells(SQLTransaction& trans);
- void _SaveEquipmentSets(SQLTransaction& trans);
- void _SaveBGData(SQLTransaction& trans);
- void _SaveGlyphs(SQLTransaction& trans) const;
- void _SaveTalents(SQLTransaction& trans);
- void _SaveStats(SQLTransaction& trans) const;
- void _SaveInstanceTimeRestrictions(SQLTransaction& trans);
- void _SaveCurrency(SQLTransaction& trans);
- void _SaveCUFProfiles(SQLTransaction& trans);
+ void _SaveActions(CharacterDatabaseTransaction& trans);
+ void _SaveAuras(CharacterDatabaseTransaction& trans);
+ void _SaveInventory(CharacterDatabaseTransaction& trans);
+ void _SaveVoidStorage(CharacterDatabaseTransaction& trans);
+ void _SaveMail(CharacterDatabaseTransaction& trans);
+ void _SaveQuestStatus(CharacterDatabaseTransaction& trans);
+ void _SaveDailyQuestStatus(CharacterDatabaseTransaction& trans);
+ void _SaveWeeklyQuestStatus(CharacterDatabaseTransaction& trans);
+ void _SaveMonthlyQuestStatus(CharacterDatabaseTransaction& trans);
+ void _SaveSeasonalQuestStatus(CharacterDatabaseTransaction& trans);
+ void _SaveSkills(CharacterDatabaseTransaction& trans);
+ void _SaveSpells(CharacterDatabaseTransaction& trans);
+ void _SaveEquipmentSets(CharacterDatabaseTransaction& trans);
+ void _SaveBGData(CharacterDatabaseTransaction& trans);
+ void _SaveGlyphs(CharacterDatabaseTransaction& trans) const;
+ void _SaveTalents(CharacterDatabaseTransaction& trans);
+ void _SaveStats(CharacterDatabaseTransaction& trans) const;
+ void _SaveInstanceTimeRestrictions(CharacterDatabaseTransaction& trans);
+ void _SaveCurrency(CharacterDatabaseTransaction& trans);
+ void _SaveCUFProfiles(CharacterDatabaseTransaction& trans);
/*********************************************************/
/*** ENVIRONMENTAL SYSTEM ***/
@@ -2711,7 +2711,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
InventoryResult CanStoreItem_InBag(uint8 bag, ItemPosCountVec& dest, ItemTemplate const* pProto, uint32& count, bool merge, bool non_specialized, Item* pSrcItem, uint8 skip_bag, uint8 skip_slot) const;
InventoryResult CanStoreItem_InInventorySlots(uint8 slot_begin, uint8 slot_end, ItemPosCountVec& dest, ItemTemplate const* pProto, uint32& count, bool merge, Item* pSrcItem, uint8 skip_bag, uint8 skip_slot) const;
Item* _StoreItem(uint16 pos, Item* pItem, uint32 count, bool clone, bool update);
- Item* _LoadItem(SQLTransaction& trans, uint32 zoneId, uint32 timeDiff, Field* fields);
+ Item* _LoadItem(CharacterDatabaseTransaction& trans, uint32 zoneId, uint32 timeDiff, Field* fields);
CinematicMgr* _cinematicMgr;
diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp
index 83dec0432ee..47f07c38dd3 100644
--- a/src/server/game/Events/GameEventMgr.cpp
+++ b/src/server/game/Events/GameEventMgr.cpp
@@ -202,7 +202,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);
@@ -1573,7 +1573,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));
@@ -1618,7 +1618,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/Garrison/Garrison.cpp b/src/server/game/Garrison/Garrison.cpp
index afa587d0303..5bab93e7c23 100644
--- a/src/server/game/Garrison/Garrison.cpp
+++ b/src/server/game/Garrison/Garrison.cpp
@@ -141,7 +141,7 @@ bool Garrison::LoadFromDB(PreparedQueryResult garrison, PreparedQueryResult blue
return true;
}
-void Garrison::SaveToDB(SQLTransaction trans)
+void Garrison::SaveToDB(CharacterDatabaseTransaction trans)
{
DeleteFromDB(_owner->GetGUID().GetCounter(), trans);
@@ -204,7 +204,7 @@ void Garrison::SaveToDB(SQLTransaction trans)
}
}
-void Garrison::DeleteFromDB(ObjectGuid::LowType ownerGuid, SQLTransaction trans)
+void Garrison::DeleteFromDB(ObjectGuid::LowType ownerGuid, CharacterDatabaseTransaction trans)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHARACTER_GARRISON);
stmt->setUInt64(0, ownerGuid);
@@ -243,7 +243,7 @@ bool Garrison::Create(uint32 garrSiteId)
void Garrison::Delete()
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
DeleteFromDB(_owner->GetGUID().GetCounter(), trans);
CharacterDatabase.CommitTransaction(trans);
diff --git a/src/server/game/Garrison/Garrison.h b/src/server/game/Garrison/Garrison.h
index 279cda657ce..295d4119565 100644
--- a/src/server/game/Garrison/Garrison.h
+++ b/src/server/game/Garrison/Garrison.h
@@ -212,8 +212,8 @@ public:
bool LoadFromDB(PreparedQueryResult garrison, PreparedQueryResult blueprints, PreparedQueryResult buildings,
PreparedQueryResult followers, PreparedQueryResult abilities);
- void SaveToDB(SQLTransaction trans);
- static void DeleteFromDB(ObjectGuid::LowType ownerGuid, SQLTransaction trans);
+ void SaveToDB(CharacterDatabaseTransaction trans);
+ static void DeleteFromDB(ObjectGuid::LowType ownerGuid, CharacterDatabaseTransaction trans);
bool Create(uint32 garrSiteId);
void Delete();
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index d9ca7760160..388bf5239cf 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -692,7 +692,7 @@ void Group::ChangeLeader(ObjectGuid newLeaderGuid, int8 partyIndex)
if (!isBGGroup() && !isBFGroup())
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
// Remove the groups permanent instance bindings
for (auto difficultyItr = m_boundInstances.begin(); difficultyItr != m_boundInstances.end(); ++difficultyItr)
@@ -825,7 +825,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);
@@ -1704,7 +1704,7 @@ void Group::SwapMembersGroups(ObjectGuid firstGuid, ObjectGuid secondGuid)
slots[0]->group = slots[1]->group;
slots[1]->group = tmp;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
for (uint8 i = 0; i < 2; i++)
{
// Preserve new sub group in database for non-raid groups
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp
index 06576175c37..6a25fb9bbe7 100644
--- a/src/server/game/Guilds/Guild.cpp
+++ b/src/server/game/Guilds/Guild.cpp
@@ -93,7 +93,7 @@ inline void Guild::LogHolder::LoadEvent(LogEntry* entry)
// Adds new event happened in game.
// If maximum number of events is reached, oldest event is removed from collection.
-inline void Guild::LogHolder::AddEvent(SQLTransaction& trans, LogEntry* entry)
+inline void Guild::LogHolder::AddEvent(CharacterDatabaseTransaction& trans, LogEntry* entry)
{
// Check max records limit
if (m_log.size() >= m_maxRecords)
@@ -120,7 +120,7 @@ inline uint32 Guild::LogHolder::GetNextGUID()
}
// EventLogEntry
-void Guild::EventLogEntry::SaveToDB(SQLTransaction& trans) const
+void Guild::EventLogEntry::SaveToDB(CharacterDatabaseTransaction& trans) const
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_EVENTLOG);
stmt->setUInt64(0, m_guildId);
@@ -154,7 +154,7 @@ void Guild::EventLogEntry::WritePacket(WorldPackets::Guild::GuildEventLogQueryRe
}
// BankEventLogEntry
-void Guild::BankEventLogEntry::SaveToDB(SQLTransaction& trans) const
+void Guild::BankEventLogEntry::SaveToDB(CharacterDatabaseTransaction& trans) const
{
uint8 index = 0;
@@ -209,7 +209,7 @@ void Guild::BankEventLogEntry::WritePacket(WorldPackets::Guild:: GuildBankLogQue
packet.Entry.push_back(bankLogEntry);
}
-void Guild::NewsLogEntry::SaveToDB(SQLTransaction& trans) const
+void Guild::NewsLogEntry::SaveToDB(CharacterDatabaseTransaction& trans) const
{
uint8 index = 0;
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_GUILD_NEWS);
@@ -258,7 +258,7 @@ void Guild::RankInfo::LoadFromDB(Field* fields)
m_rights |= GR_RIGHT_ALL;
}
-void Guild::RankInfo::SaveToDB(SQLTransaction& trans) const
+void Guild::RankInfo::SaveToDB(CharacterDatabaseTransaction& trans) const
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_GUILD_RANK);
stmt->setUInt64(0, m_guildId);
@@ -269,7 +269,7 @@ void Guild::RankInfo::SaveToDB(SQLTransaction& trans) const
CharacterDatabase.ExecuteOrAppend(trans, stmt);
}
-void Guild::RankInfo::CreateMissingTabsIfNeeded(uint8 tabs, SQLTransaction& trans, bool logOnCreate /* = false */)
+void Guild::RankInfo::CreateMissingTabsIfNeeded(uint8 tabs, CharacterDatabaseTransaction& trans, bool logOnCreate /* = false */)
{
for (uint8 i = 0; i < tabs; ++i)
{
@@ -411,7 +411,7 @@ bool Guild::BankTab::LoadItemFromDB(Field* fields)
}
// Deletes contents of the tab from the world (and from DB if necessary)
-void Guild::BankTab::Delete(SQLTransaction& trans, bool removeItemsFromDB)
+void Guild::BankTab::Delete(CharacterDatabaseTransaction& trans, bool removeItemsFromDB)
{
for (uint8 slotId = 0; slotId < GUILD_BANK_MAX_SLOTS; ++slotId)
{
@@ -459,7 +459,7 @@ void Guild::BankTab::SetText(std::string const& text)
// Sets/removes contents of specified slot.
// If pItem == nullptr contents are removed.
-bool Guild::BankTab::SetItem(SQLTransaction& trans, uint8 slotId, Item* item)
+bool Guild::BankTab::SetItem(CharacterDatabaseTransaction& trans, uint8 slotId, Item* item)
{
if (slotId >= GUILD_BANK_MAX_SLOTS)
return false;
@@ -579,7 +579,7 @@ void Guild::Member::SetOfficerNote(std::string const& officerNote)
CharacterDatabase.Execute(stmt);
}
-void Guild::Member::ChangeRank(SQLTransaction& trans, uint8 newRank)
+void Guild::Member::ChangeRank(CharacterDatabaseTransaction& trans, uint8 newRank)
{
m_rankId = newRank;
@@ -593,7 +593,7 @@ void Guild::Member::ChangeRank(SQLTransaction& trans, uint8 newRank)
CharacterDatabase.ExecuteOrAppend(trans, stmt);
}
-void Guild::Member::SaveToDB(SQLTransaction& trans) const
+void Guild::Member::SaveToDB(CharacterDatabaseTransaction& trans) const
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_GUILD_MEMBER);
stmt->setUInt64(0, m_guildId);
@@ -667,7 +667,7 @@ float Guild::Member::GetInactiveDays() const
}
// Decreases amount of slots left for today.
-void Guild::Member::UpdateBankTabWithdrawValue(SQLTransaction& trans, uint8 tabId, uint32 amount)
+void Guild::Member::UpdateBankTabWithdrawValue(CharacterDatabaseTransaction& trans, uint8 tabId, uint32 amount)
{
m_bankWithdraw[tabId] += amount;
@@ -683,7 +683,7 @@ void Guild::Member::UpdateBankTabWithdrawValue(SQLTransaction& trans, uint8 tabI
}
// Decreases amount of money left for today.
-void Guild::Member::UpdateBankMoneyWithdrawValue(SQLTransaction& trans, uint64 amount)
+void Guild::Member::UpdateBankMoneyWithdrawValue(CharacterDatabaseTransaction& trans, uint64 amount)
{
m_bankWithdrawMoney += amount;
@@ -836,7 +836,7 @@ bool Guild::PlayerMoveItemData::InitItem()
return (m_pItem != nullptr);
}
-void Guild::PlayerMoveItemData::RemoveItem(SQLTransaction& trans, MoveItemData* /*pOther*/, uint32 splitedAmount)
+void Guild::PlayerMoveItemData::RemoveItem(CharacterDatabaseTransaction& trans, MoveItemData* /*pOther*/, uint32 splitedAmount)
{
if (splitedAmount)
{
@@ -852,7 +852,7 @@ void Guild::PlayerMoveItemData::RemoveItem(SQLTransaction& trans, MoveItemData*
}
}
-Item* Guild::PlayerMoveItemData::StoreItem(SQLTransaction& trans, Item* pItem)
+Item* Guild::PlayerMoveItemData::StoreItem(CharacterDatabaseTransaction& trans, Item* pItem)
{
ASSERT(pItem);
m_pPlayer->MoveItemToInventory(m_vec, pItem, true);
@@ -860,7 +860,7 @@ Item* Guild::PlayerMoveItemData::StoreItem(SQLTransaction& trans, Item* pItem)
return pItem;
}
-void Guild::PlayerMoveItemData::LogBankEvent(SQLTransaction& trans, MoveItemData* pFrom, uint32 count) const
+void Guild::PlayerMoveItemData::LogBankEvent(CharacterDatabaseTransaction& trans, MoveItemData* pFrom, uint32 count) const
{
ASSERT(pFrom);
// Bank -> Char
@@ -903,7 +903,7 @@ bool Guild::BankMoveItemData::HasWithdrawRights(MoveItemData* pOther) const
return slots != 0;
}
-void Guild::BankMoveItemData::RemoveItem(SQLTransaction& trans, MoveItemData* pOther, uint32 splitedAmount)
+void Guild::BankMoveItemData::RemoveItem(CharacterDatabaseTransaction& trans, MoveItemData* pOther, uint32 splitedAmount)
{
ASSERT(m_pItem);
if (splitedAmount)
@@ -922,7 +922,7 @@ void Guild::BankMoveItemData::RemoveItem(SQLTransaction& trans, MoveItemData* pO
m_pGuild->_UpdateMemberWithdrawSlots(trans, m_pPlayer->GetGUID(), m_container);
}
-Item* Guild::BankMoveItemData::StoreItem(SQLTransaction& trans, Item* pItem)
+Item* Guild::BankMoveItemData::StoreItem(CharacterDatabaseTransaction& trans, Item* pItem)
{
if (!pItem)
return nullptr;
@@ -944,7 +944,7 @@ Item* Guild::BankMoveItemData::StoreItem(SQLTransaction& trans, Item* pItem)
return pLastItem;
}
-void Guild::BankMoveItemData::LogBankEvent(SQLTransaction& trans, MoveItemData* pFrom, uint32 count) const
+void Guild::BankMoveItemData::LogBankEvent(CharacterDatabaseTransaction& trans, MoveItemData* pFrom, uint32 count) const
{
ASSERT(pFrom->GetItem());
if (pFrom->IsBank())
@@ -970,7 +970,7 @@ void Guild::BankMoveItemData::LogAction(MoveItemData* pFrom) const
}
}
-Item* Guild::BankMoveItemData::_StoreItem(SQLTransaction& trans, BankTab* pTab, Item* pItem, ItemPosCount& pos, bool clone) const
+Item* Guild::BankMoveItemData::_StoreItem(CharacterDatabaseTransaction& trans, BankTab* pTab, Item* pItem, ItemPosCount& pos, bool clone) const
{
uint8 slotId = uint8(pos.pos);
uint32 count = pos.count;
@@ -1108,7 +1108,7 @@ Guild::Guild():
Guild::~Guild()
{
- SQLTransaction temp(nullptr);
+ CharacterDatabaseTransaction temp(nullptr);
_DeleteBankItems(temp);
// Cleanup
@@ -1153,7 +1153,7 @@ bool Guild::Create(Player* pLeader, std::string const& name)
TC_LOG_DEBUG("guild", "GUILD: creating guild [%s] for leader %s (%s)",
name.c_str(), pLeader->GetName().c_str(), m_leaderGuid.ToString().c_str());
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_MEMBERS);
stmt->setUInt64(0, m_id);
@@ -1201,7 +1201,7 @@ void Guild::Disband()
WorldPackets::Guild::GuildEventDisbanded packet;
BroadcastPacket(packet.Write());
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
// Remove all members
while (!m_members.empty())
{
@@ -1249,7 +1249,7 @@ void Guild::Disband()
void Guild::SaveToDB()
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
m_achievementMgr.SaveToDB(trans);
@@ -1547,7 +1547,7 @@ void Guild::HandleSetNewGuildMaster(WorldSession* session, std::string const& na
return;
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
_SetLeader(trans, newGuildMaster);
oldGuildMaster->ChangeRank(trans, GR_INITIATE);
@@ -1738,7 +1738,7 @@ void Guild::HandleAcceptMember(WorldSession* session)
player->GetTeam() != sCharacterCache->GetCharacterTeamByGuid(GetLeaderGUID()))
return;
- SQLTransaction trans(nullptr);
+ CharacterDatabaseTransaction trans(nullptr);
AddMember(trans, player->GetGUID());
}
@@ -1765,7 +1765,7 @@ void Guild::HandleLeaveMember(WorldSession* session)
_LogEvent(GUILD_EVENT_LOG_LEAVE_GUILD, player->GetGUID().GetCounter());
SendEventPlayerLeft(GetMember(player->GetGUID()));
- SQLTransaction trans(nullptr);
+ CharacterDatabaseTransaction trans(nullptr);
DeleteMember(trans, player->GetGUID(), false, false);
SendCommandResult(session, GUILD_COMMAND_LEAVE_GUILD, ERR_GUILD_COMMAND_SUCCESS, m_name);
@@ -1803,7 +1803,7 @@ void Guild::HandleRemoveMember(WorldSession* session, ObjectGuid guid)
SendEventPlayerLeft(member, memberMe, true);
// After call to DeleteMember pointer to member becomes invalid
- SQLTransaction trans(nullptr);
+ CharacterDatabaseTransaction trans(nullptr);
DeleteMember(trans, guid, false, true);
SendCommandResult(session, GUILD_COMMAND_REMOVE_PLAYER, ERR_GUILD_COMMAND_SUCCESS, name);
@@ -1860,7 +1860,7 @@ void Guild::HandleUpdateMemberRank(WorldSession* session, ObjectGuid guid, bool
}
uint32 newRankId = member->GetRankId() + (demote ? 1 : -1);
- SQLTransaction trans(nullptr);
+ CharacterDatabaseTransaction trans(nullptr);
member->ChangeRank(trans, newRankId);
_LogEvent(demote ? GUILD_EVENT_LOG_DEMOTE_PLAYER : GUILD_EVENT_LOG_PROMOTE_PLAYER, player->GetGUID().GetCounter(), member->GetGUID().GetCounter(), newRankId);
//_BroadcastEvent(demote ? GE_DEMOTION : GE_PROMOTION, ObjectGuid::Empty, player->GetName().c_str(), name.c_str(), _GetRankName(newRankId).c_str());
@@ -1908,7 +1908,7 @@ void Guild::HandleAddNewRank(WorldSession* session, std::string const& name)
// Only leader can add new rank
if (_IsLeader(session->GetPlayer()))
{
- SQLTransaction trans(nullptr);
+ CharacterDatabaseTransaction trans(nullptr);
if (_CreateRank(trans, name, GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK))
{
WorldPackets::Guild::GuildEventRanksUpdated eventPacket;
@@ -1953,7 +1953,7 @@ void Guild::HandleMemberDepositMoney(WorldSession* session, uint64 amount, bool
// Call script after validation and before money transfer.
sScriptMgr->OnGuildMemberDepositMoney(this, player, amount);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
_ModifyBankMoney(trans, amount, true);
if (!cashFlow)
{
@@ -1997,7 +1997,7 @@ bool Guild::HandleMemberWithdrawMoney(WorldSession* session, uint64 amount, bool
// Call script after validation and before money transfer.
sScriptMgr->OnGuildMemberWitdrawMoney(this, player, amount, repair);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
// Add money to player (if required)
if (!repair)
{
@@ -2369,7 +2369,7 @@ bool Guild::LoadMemberFromDB(Field* fields)
Member* member = new Member(m_id, playerGuid, fields[2].GetUInt8());
if (!member->LoadFromDB(fields))
{
- SQLTransaction trans(nullptr);
+ CharacterDatabaseTransaction trans(nullptr);
Guild::_DeleteMemberFromDB(trans, lowguid);
delete member;
return false;
@@ -2492,7 +2492,7 @@ bool Guild::Validate()
bool broken_ranks = false;
uint8 ranks = _GetRanksSize();
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
if (ranks < GUILD_RANKS_MIN_COUNT || ranks > GUILD_RANKS_MAX_COUNT)
{
TC_LOG_ERROR("guild", "Guild " UI64FMTD " has invalid number of ranks, creating new...", m_id);
@@ -2530,7 +2530,7 @@ bool Guild::Validate()
Member* leader = GetMember(m_leaderGuid);
if (!leader)
{
- SQLTransaction trans(nullptr);
+ CharacterDatabaseTransaction trans(nullptr);
DeleteMember(trans, m_leaderGuid);
// If no more members left, disband guild
if (m_members.empty())
@@ -2634,7 +2634,7 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max
}
// Members handling
-bool Guild::AddMember(SQLTransaction& trans, ObjectGuid guid, uint8 rankId)
+bool Guild::AddMember(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 rankId)
{
Player* player = ObjectAccessor::FindConnectedPlayer(guid);
// Player cannot be in guild
@@ -2720,7 +2720,7 @@ bool Guild::AddMember(SQLTransaction& trans, ObjectGuid guid, uint8 rankId)
return true;
}
-void Guild::DeleteMember(SQLTransaction& trans, ObjectGuid guid, bool isDisbanding, bool isKicked, bool canDeleteGuild)
+void Guild::DeleteMember(CharacterDatabaseTransaction& trans, ObjectGuid guid, bool isDisbanding, bool isKicked, bool canDeleteGuild)
{
// Guild master can be deleted when loading guild and guid doesn't exist in characters table
// or when he is removed from guild by gm command
@@ -2779,7 +2779,7 @@ void Guild::DeleteMember(SQLTransaction& trans, ObjectGuid guid, bool isDisbandi
_UpdateAccountsNumber();
}
-bool Guild::ChangeMemberRank(SQLTransaction& trans, ObjectGuid guid, uint8 newRank)
+bool Guild::ChangeMemberRank(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 newRank)
{
if (newRank <= _GetLowestRankId()) // Validate rank (allow only existing ranks)
{
@@ -2849,7 +2849,7 @@ bool Guild::_HasRankRight(Player const* player, uint32 right) const
return false;
}
-void Guild::_DeleteMemberFromDB(SQLTransaction& trans, ObjectGuid::LowType lowguid)
+void Guild::_DeleteMemberFromDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType lowguid)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_MEMBER);
stmt->setUInt64(0, lowguid);
@@ -2870,7 +2870,7 @@ void Guild::_CreateNewBankTab()
uint8 tabId = _GetPurchasedTabsSize(); // Next free id
m_bankTabs.push_back(new BankTab(m_id, tabId));
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_BANK_TAB);
stmt->setUInt64(0, m_id);
@@ -2889,7 +2889,7 @@ void Guild::_CreateNewBankTab()
CharacterDatabase.CommitTransaction(trans);
}
-void Guild::_CreateDefaultGuildRanks(SQLTransaction& trans, LocaleConstant loc)
+void Guild::_CreateDefaultGuildRanks(CharacterDatabaseTransaction& trans, LocaleConstant loc)
{
ASSERT(trans);
@@ -2908,7 +2908,7 @@ void Guild::_CreateDefaultGuildRanks(SQLTransaction& trans, LocaleConstant loc)
_CreateRank(trans, sObjectMgr->GetTrinityString(LANG_GUILD_INITIATE, loc), GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK);
}
-bool Guild::_CreateRank(SQLTransaction& trans, std::string const& name, uint32 rights)
+bool Guild::_CreateRank(CharacterDatabaseTransaction& trans, std::string const& name, uint32 rights)
{
uint8 newRankId = _GetRanksSize();
if (newRankId >= GUILD_RANKS_MAX_COUNT)
@@ -2955,7 +2955,7 @@ bool Guild::_IsLeader(Player* player) const
return false;
}
-void Guild::_DeleteBankItems(SQLTransaction& trans, bool removeItemsFromDB)
+void Guild::_DeleteBankItems(CharacterDatabaseTransaction& trans, bool removeItemsFromDB)
{
for (uint8 tabId = 0; tabId < _GetPurchasedTabsSize(); ++tabId)
{
@@ -2966,7 +2966,7 @@ void Guild::_DeleteBankItems(SQLTransaction& trans, bool removeItemsFromDB)
m_bankTabs.clear();
}
-bool Guild::_ModifyBankMoney(SQLTransaction& trans, uint64 amount, bool add)
+bool Guild::_ModifyBankMoney(CharacterDatabaseTransaction& trans, uint64 amount, bool add)
{
if (add)
m_bankMoney += amount;
@@ -2985,7 +2985,7 @@ bool Guild::_ModifyBankMoney(SQLTransaction& trans, uint64 amount, bool add)
return true;
}
-void Guild::_SetLeader(SQLTransaction& trans, Member* leader)
+void Guild::_SetLeader(CharacterDatabaseTransaction& trans, Member* leader)
{
if (!leader)
return;
@@ -3092,7 +3092,7 @@ inline int64 Guild::_GetMemberRemainingMoney(Member const* member) const
return 0;
}
-inline void Guild::_UpdateMemberWithdrawSlots(SQLTransaction& trans, ObjectGuid guid, uint8 tabId)
+inline void Guild::_UpdateMemberWithdrawSlots(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 tabId)
{
if (Member* member = GetMember(guid))
member->UpdateBankTabWithdrawValue(trans, tabId, 1);
@@ -3113,7 +3113,7 @@ inline bool Guild::_MemberHasTabRights(ObjectGuid guid, uint8 tabId, int32 right
// Add new event log record
inline void Guild::_LogEvent(GuildEventLogTypes eventType, ObjectGuid::LowType playerGuid1, ObjectGuid::LowType playerGuid2, uint8 newRank)
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
m_eventLog->AddEvent(trans, new EventLogEntry(m_id, m_eventLog->GetNextGUID(), eventType, playerGuid1, playerGuid2, newRank));
CharacterDatabase.CommitTransaction(trans);
@@ -3121,7 +3121,7 @@ inline void Guild::_LogEvent(GuildEventLogTypes eventType, ObjectGuid::LowType p
}
// Add new bank event log record
-void Guild::_LogBankEvent(SQLTransaction& trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType lowguid, uint64 itemOrMoney, uint16 itemStackCount, uint8 destTabId)
+void Guild::_LogBankEvent(CharacterDatabaseTransaction& trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType lowguid, uint64 itemOrMoney, uint16 itemStackCount, uint8 destTabId)
{
if (tabId > GUILD_BANK_MAX_TABS)
return;
@@ -3149,7 +3149,7 @@ inline Item* Guild::_GetItem(uint8 tabId, uint8 slotId) const
return nullptr;
}
-inline void Guild::_RemoveItem(SQLTransaction& trans, uint8 tabId, uint8 slotId)
+inline void Guild::_RemoveItem(CharacterDatabaseTransaction& trans, uint8 tabId, uint8 slotId)
{
if (BankTab* pTab = GetBankTab(tabId))
pTab->SetItem(trans, slotId, nullptr);
@@ -3236,7 +3236,7 @@ bool Guild::_DoItemsMove(MoveItemData* pSrc, MoveItemData* pDest, bool sendError
if (swap)
pSrc->LogAction(pDest);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
// 3. Log bank events
pDest->LogBankEvent(trans, pSrc, pSrcItem->GetCount());
if (swap)
@@ -3435,7 +3435,7 @@ void Guild::SendGuildRanksUpdate(ObjectGuid setterGuid, ObjectGuid targetGuid, u
rankChange.Promote = (rank < member->GetRankId());
BroadcastPacket(rankChange.Write());
- SQLTransaction trans;
+ CharacterDatabaseTransaction trans;
member->ChangeRank(trans, rank);
TC_LOG_DEBUG("network", "SMSG_GUILD_RANKS_UPDATE [Broadcast] Target: %s, Issuer: %s, RankId: %u",
@@ -3459,7 +3459,7 @@ void Guild::AddGuildNews(uint8 type, ObjectGuid guid, uint32 flags, uint32 value
{
NewsLogEntry* news = new NewsLogEntry(m_id, m_newsLog->GetNextGUID(), GuildNews(type), guid, flags, value);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
m_newsLog->AddEvent(trans, news);
CharacterDatabase.CommitTransaction(trans);
diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h
index d29f24785a5..6a3e216a87f 100644
--- a/src/server/game/Guilds/Guild.h
+++ b/src/server/game/Guilds/Guild.h
@@ -347,7 +347,7 @@ class TC_GAME_API Guild
void ResetFlags() { m_flags = GUILDMEMBER_STATUS_NONE; }
bool LoadFromDB(Field* fields);
- void SaveToDB(SQLTransaction& trans) const;
+ void SaveToDB(CharacterDatabaseTransaction& trans) const;
ObjectGuid const& GetGUID() const { return m_guid; }
std::string const& GetName() const { return m_name; }
@@ -374,15 +374,15 @@ class TC_GAME_API Guild
bool IsOnline() const { return (m_flags & GUILDMEMBER_STATUS_ONLINE); }
- void ChangeRank(SQLTransaction& trans, uint8 newRank);
+ void ChangeRank(CharacterDatabaseTransaction& trans, uint8 newRank);
inline void UpdateLogoutTime() { m_logoutTime = ::time(nullptr); }
inline bool IsRank(uint8 rankId) const { return m_rankId == rankId; }
inline bool IsRankNotLower(uint8 rankId) const { return m_rankId <= rankId; }
inline bool IsSamePlayer(ObjectGuid guid) const { return m_guid == guid; }
- void UpdateBankTabWithdrawValue(SQLTransaction& trans, uint8 tabId, uint32 amount);
- void UpdateBankMoneyWithdrawValue(SQLTransaction& trans, uint64 amount);
+ void UpdateBankTabWithdrawValue(CharacterDatabaseTransaction& trans, uint8 tabId, uint32 amount);
+ void UpdateBankMoneyWithdrawValue(CharacterDatabaseTransaction& trans, uint64 amount);
uint32 GetBankTabWithdrawValue(uint8 tabId) const { return m_bankWithdraw[tabId]; };
uint64 GetBankMoneyWithdrawValue() const { return m_bankWithdrawMoney; };
void ResetValues(bool weekly = false);
@@ -429,7 +429,7 @@ class TC_GAME_API Guild
uint32 GetGUID() const { return m_guid; }
uint64 GetTimestamp() const { return m_timestamp; }
- virtual void SaveToDB(SQLTransaction& trans) const = 0;
+ virtual void SaveToDB(CharacterDatabaseTransaction& trans) const = 0;
protected:
ObjectGuid::LowType m_guildId;
@@ -449,7 +449,7 @@ class TC_GAME_API Guild
~EventLogEntry() { }
- void SaveToDB(SQLTransaction& trans) const override;
+ void SaveToDB(CharacterDatabaseTransaction& trans) const override;
void WritePacket(WorldPackets::Guild::GuildEventLogQueryResults& packet) const;
private:
@@ -487,7 +487,7 @@ class TC_GAME_API Guild
~BankEventLogEntry() { }
- void SaveToDB(SQLTransaction& trans) const override;
+ void SaveToDB(CharacterDatabaseTransaction& trans) const override;
void WritePacket(WorldPackets::Guild::GuildBankLogQueryResults& packet) const;
private:
@@ -523,7 +523,7 @@ class TC_GAME_API Guild
m_flags &= ~1;
}
- void SaveToDB(SQLTransaction& trans) const override;
+ void SaveToDB(CharacterDatabaseTransaction& trans) const override;
void WritePacket(WorldPackets::Guild::GuildNews& newsPacket) const;
private:
@@ -548,7 +548,7 @@ class TC_GAME_API Guild
// Adds event from DB to collection
void LoadEvent(LogEntry* entry);
// Adds new event to collection and saves it to DB
- void AddEvent(SQLTransaction& trans, LogEntry* entry);
+ void AddEvent(CharacterDatabaseTransaction& trans, LogEntry* entry);
uint32 GetNextGUID();
GuildLog* GetGuildLog() { return &m_log; }
@@ -568,7 +568,7 @@ class TC_GAME_API Guild
m_guildId(guildId), m_rankId(rankId), m_name(name), m_rights(rights), m_bankMoneyPerDay(money) { }
void LoadFromDB(Field* fields);
- void SaveToDB(SQLTransaction& trans) const;
+ void SaveToDB(CharacterDatabaseTransaction& trans) const;
uint8 GetId() const { return m_rankId; }
@@ -596,7 +596,7 @@ class TC_GAME_API Guild
}
void SetBankTabSlotsAndRights(GuildBankRightsAndSlots rightsAndSlots, bool saveToDB);
- void CreateMissingTabsIfNeeded(uint8 ranks, SQLTransaction& trans, bool logOnCreate = false);
+ void CreateMissingTabsIfNeeded(uint8 ranks, CharacterDatabaseTransaction& trans, bool logOnCreate = false);
private:
ObjectGuid::LowType m_guildId;
@@ -614,7 +614,7 @@ class TC_GAME_API Guild
void LoadFromDB(Field* fields);
bool LoadItemFromDB(Field* fields);
- void Delete(SQLTransaction& trans, bool removeItemsFromDB = false);
+ void Delete(CharacterDatabaseTransaction& trans, bool removeItemsFromDB = false);
void SetInfo(std::string const& name, std::string const& icon);
void SetText(std::string const& text);
@@ -625,7 +625,7 @@ class TC_GAME_API Guild
std::string const& GetText() const { return m_text; }
inline Item* GetItem(uint8 slotId) const { return slotId < GUILD_BANK_MAX_SLOTS ? m_items[slotId] : nullptr; }
- bool SetItem(SQLTransaction& trans, uint8 slotId, Item* item);
+ bool SetItem(CharacterDatabaseTransaction& trans, uint8 slotId, Item* item);
private:
ObjectGuid::LowType m_guildId;
@@ -658,11 +658,11 @@ class TC_GAME_API Guild
// Clones stored item
bool CloneItem(uint32 count);
// Remove item from container (if splited update items fields)
- virtual void RemoveItem(SQLTransaction& trans, MoveItemData* pOther, uint32 splitedAmount = 0) = 0;
+ virtual void RemoveItem(CharacterDatabaseTransaction& trans, MoveItemData* pOther, uint32 splitedAmount = 0) = 0;
// Saves item to container
- virtual Item* StoreItem(SQLTransaction& trans, Item* pItem) = 0;
+ virtual Item* StoreItem(CharacterDatabaseTransaction& trans, Item* pItem) = 0;
// Log bank event
- virtual void LogBankEvent(SQLTransaction& trans, MoveItemData* pFrom, uint32 count) const = 0;
+ virtual void LogBankEvent(CharacterDatabaseTransaction& trans, MoveItemData* pFrom, uint32 count) const = 0;
// Log GM action
virtual void LogAction(MoveItemData* pFrom) const;
// Copy slots id from position vector
@@ -692,9 +692,9 @@ class TC_GAME_API Guild
bool IsBank() const override { return false; }
bool InitItem() override;
- void RemoveItem(SQLTransaction& trans, MoveItemData* pOther, uint32 splitedAmount = 0) override;
- Item* StoreItem(SQLTransaction& trans, Item* pItem) override;
- void LogBankEvent(SQLTransaction& trans, MoveItemData* pFrom, uint32 count) const override;
+ void RemoveItem(CharacterDatabaseTransaction& trans, MoveItemData* pOther, uint32 splitedAmount = 0) override;
+ Item* StoreItem(CharacterDatabaseTransaction& trans, Item* pItem) override;
+ void LogBankEvent(CharacterDatabaseTransaction& trans, MoveItemData* pFrom, uint32 count) const override;
protected:
InventoryResult CanStore(Item* pItem, bool swap) override;
@@ -710,16 +710,16 @@ class TC_GAME_API Guild
bool InitItem() override;
bool HasStoreRights(MoveItemData* pOther) const override;
bool HasWithdrawRights(MoveItemData* pOther) const override;
- void RemoveItem(SQLTransaction& trans, MoveItemData* pOther, uint32 splitedAmount) override;
- Item* StoreItem(SQLTransaction& trans, Item* pItem) override;
- void LogBankEvent(SQLTransaction& trans, MoveItemData* pFrom, uint32 count) const override;
+ void RemoveItem(CharacterDatabaseTransaction& trans, MoveItemData* pOther, uint32 splitedAmount) override;
+ Item* StoreItem(CharacterDatabaseTransaction& trans, Item* pItem) override;
+ void LogBankEvent(CharacterDatabaseTransaction& trans, MoveItemData* pFrom, uint32 count) const override;
void LogAction(MoveItemData* pFrom) const override;
protected:
InventoryResult CanStore(Item* pItem, bool swap) override;
private:
- Item* _StoreItem(SQLTransaction& trans, BankTab* pTab, Item* pItem, ItemPosCount& pos, bool clone) const;
+ Item* _StoreItem(CharacterDatabaseTransaction& trans, BankTab* pTab, Item* pItem, ItemPosCount& pos, bool clone) const;
bool _ReserveSpace(uint8 slotId, Item* pItem, Item* pItemDest, uint32& count);
void CanStoreItemInTab(Item* pItem, uint8 skipSlotId, bool merge, uint32& count);
};
@@ -834,9 +834,9 @@ class TC_GAME_API Guild
// Members
// Adds member to guild. If rankId == GUILD_RANK_NONE, lowest rank is assigned.
- bool AddMember(SQLTransaction& trans, ObjectGuid guid, uint8 rankId = GUILD_RANK_NONE);
- void DeleteMember(SQLTransaction& trans, ObjectGuid guid, bool isDisbanding = false, bool isKicked = false, bool canDeleteGuild = false);
- bool ChangeMemberRank(SQLTransaction& trans, ObjectGuid guid, uint8 newRank);
+ bool AddMember(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 rankId = GUILD_RANK_NONE);
+ void DeleteMember(CharacterDatabaseTransaction& trans, ObjectGuid guid, bool isDisbanding = false, bool isKicked = false, bool canDeleteGuild = false);
+ bool ChangeMemberRank(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 newRank);
bool IsMember(ObjectGuid guid) const;
uint32 GetMembersCount() const { return uint32(m_members.size()); }
@@ -916,22 +916,22 @@ class TC_GAME_API Guild
return nullptr;
}
- static void _DeleteMemberFromDB(SQLTransaction& trans, ObjectGuid::LowType lowguid);
+ static void _DeleteMemberFromDB(CharacterDatabaseTransaction& trans, ObjectGuid::LowType lowguid);
// Creates log holders (either when loading or when creating guild)
void _CreateLogHolders();
// Tries to create new bank tab
void _CreateNewBankTab();
// Creates default guild ranks with names in given locale
- void _CreateDefaultGuildRanks(SQLTransaction& trans, LocaleConstant loc);
+ void _CreateDefaultGuildRanks(CharacterDatabaseTransaction& trans, LocaleConstant loc);
// Creates new rank
- bool _CreateRank(SQLTransaction& trans, std::string const& name, uint32 rights);
+ bool _CreateRank(CharacterDatabaseTransaction& trans, std::string const& name, uint32 rights);
// Update account number when member added/removed from guild
void _UpdateAccountsNumber();
bool _IsLeader(Player* player) const;
- void _DeleteBankItems(SQLTransaction& trans, bool removeItemsFromDB = false);
- bool _ModifyBankMoney(SQLTransaction& trans, uint64 amount, bool add);
- void _SetLeader(SQLTransaction& trans, Member* leader);
+ void _DeleteBankItems(CharacterDatabaseTransaction& trans, bool removeItemsFromDB = false);
+ bool _ModifyBankMoney(CharacterDatabaseTransaction& trans, uint64 amount, bool add);
+ void _SetLeader(CharacterDatabaseTransaction& trans, Member* leader);
void _SetRankBankMoneyPerDay(uint8 rankId, uint32 moneyPerDay);
void _SetRankBankTabRightsAndSlots(uint8 rankId, GuildBankRightsAndSlots rightsAndSlots, bool saveToDB = true);
@@ -943,14 +943,14 @@ class TC_GAME_API Guild
int32 _GetMemberRemainingSlots(Member const* member, uint8 tabId) const;
int64 _GetMemberRemainingMoney(Member const* member) const;
- void _UpdateMemberWithdrawSlots(SQLTransaction& trans, ObjectGuid guid, uint8 tabId);
+ void _UpdateMemberWithdrawSlots(CharacterDatabaseTransaction& trans, ObjectGuid guid, uint8 tabId);
bool _MemberHasTabRights(ObjectGuid guid, uint8 tabId, int32 rights) const;
void _LogEvent(GuildEventLogTypes eventType, ObjectGuid::LowType playerGuid1, ObjectGuid::LowType playerGuid2 = UI64LIT(0), uint8 newRank = 0);
- void _LogBankEvent(SQLTransaction& trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType playerGuid, uint64 itemOrMoney, uint16 itemStackCount = 0, uint8 destTabId = 0);
+ void _LogBankEvent(CharacterDatabaseTransaction& trans, GuildBankEventLogTypes eventType, uint8 tabId, ObjectGuid::LowType playerGuid, uint64 itemOrMoney, uint16 itemStackCount = 0, uint8 destTabId = 0);
Item* _GetItem(uint8 tabId, uint8 slotId) const;
- void _RemoveItem(SQLTransaction& trans, uint8 tabId, uint8 slotId);
+ void _RemoveItem(CharacterDatabaseTransaction& trans, uint8 tabId, uint8 slotId);
void _MoveItems(MoveItemData* pSrc, MoveItemData* pDest, uint32 splitedAmount) const;
static bool _DoItemsMove(MoveItemData* pSrc, MoveItemData* pDest, bool sendError, uint32 splitedAmount = 0);
diff --git a/src/server/game/Guilds/GuildFinderMgr.cpp b/src/server/game/Guilds/GuildFinderMgr.cpp
index dc6a63df900..3c92ed4b2b5 100644
--- a/src/server/game/Guilds/GuildFinderMgr.cpp
+++ b/src/server/game/Guilds/GuildFinderMgr.cpp
@@ -132,7 +132,7 @@ void GuildFinderMgr::AddMembershipRequest(ObjectGuid const& guildGuid, Membershi
_membershipRequestsByGuild[guildGuid][request.GetPlayerGUID()] = request;
_membershipRequestsByPlayer[request.GetPlayerGUID()][guildGuid] = request;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_GUILD_FINDER_APPLICANT);
stmt->setUInt64(0, request.GetGuildGuid().GetCounter());
stmt->setUInt64(1, request.GetPlayerGUID().GetCounter());
@@ -159,7 +159,7 @@ void GuildFinderMgr::RemoveAllMembershipRequestsFromPlayer(ObjectGuid const& pla
if (playerItr == _membershipRequestsByPlayer.end())
return;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
for (auto& guildRequestPair : playerItr->second)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_FINDER_APPLICANT);
@@ -203,7 +203,7 @@ void GuildFinderMgr::RemoveMembershipRequest(ObjectGuid const& playerId, ObjectG
_membershipRequestsByPlayer.erase(playerItr);
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_GUILD_FINDER_APPLICANT);
stmt->setUInt64(0, guildId.GetCounter());
@@ -285,7 +285,7 @@ void GuildFinderMgr::SetGuildSettings(ObjectGuid const& guildGuid, LFGuildSettin
{
_guildSettings[guildGuid] = settings;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_GUILD_FINDER_GUILD_SETTINGS);
stmt->setUInt64(0, settings.GetGUID().GetCounter());
@@ -302,7 +302,7 @@ void GuildFinderMgr::SetGuildSettings(ObjectGuid const& guildGuid, LFGuildSettin
void GuildFinderMgr::DeleteGuild(ObjectGuid const& guildId)
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
auto guildItr = _membershipRequestsByGuild.find(guildId);
if (guildItr != _membershipRequestsByGuild.end())
{
diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp
index adb85036328..9a14c03d8fc 100644
--- a/src/server/game/Handlers/AuctionHouseHandler.cpp
+++ b/src/server/game/Handlers/AuctionHouseHandler.cpp
@@ -280,7 +280,7 @@ void WorldSession::HandleAuctionSellItem(WorldPackets::AuctionHouse::AuctionSell
auctionHouse->AddAuction(AH);
_player->MoveItemFromInventory(item->GetBagSlot(), item->GetSlot(), true);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
item->DeleteFromInventoryDB(trans);
item->SaveToDB(trans);
@@ -345,7 +345,7 @@ void WorldSession::HandleAuctionSellItem(WorldPackets::AuctionHouse::AuctionSell
{
_player->MoveItemFromInventory(item2->GetBagSlot(), item2->GetSlot(), true);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
item2->DeleteFromInventoryDB(trans);
item2->DeleteFromDB(trans);
CharacterDatabase.CommitTransaction(trans);
@@ -358,13 +358,13 @@ void WorldSession::HandleAuctionSellItem(WorldPackets::AuctionHouse::AuctionSell
_player->ItemRemovedQuestCheck(item2->GetEntry(), packet.Items[i].UseCount);
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);
@@ -435,7 +435,7 @@ void WorldSession::HandleAuctionPlaceBid(WorldPackets::AuctionHouse::AuctionPlac
return;
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
if (packet.BidAmount < auction->buyout || auction->buyout == 0)
{
@@ -522,7 +522,7 @@ void WorldSession::HandleAuctionRemoveItem(WorldPackets::AuctionHouse::AuctionRe
AuctionEntry* auction = auctionHouse->GetAuction(packet.AuctionItemID);
Player* player = GetPlayer();
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
if (auction && auction->owner == player->GetGUID().GetCounter())
{
Item* item = sAuctionMgr->GetAItem(auction->itemGUIDLow);
diff --git a/src/server/game/Handlers/BlackMarketHandler.cpp b/src/server/game/Handlers/BlackMarketHandler.cpp
index 608299a1c0e..944cf50a9ac 100644
--- a/src/server/game/Handlers/BlackMarketHandler.cpp
+++ b/src/server/game/Handlers/BlackMarketHandler.cpp
@@ -115,7 +115,7 @@ void WorldSession::HandleBlackMarketBidOnItem(WorldPackets::BlackMarket::BlackMa
return;
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
sBlackMarketMgr->SendAuctionOutbidMail(entry, trans);
entry->PlaceBid(blackMarketBidOnItem.BidAmount, player, trans);
diff --git a/src/server/game/Handlers/CalendarHandler.cpp b/src/server/game/Handlers/CalendarHandler.cpp
index 727733e33b3..ea6351131c4 100644
--- a/src/server/game/Handlers/CalendarHandler.cpp
+++ b/src/server/game/Handlers/CalendarHandler.cpp
@@ -155,7 +155,7 @@ void WorldSession::HandleCalendarAddEvent(WorldPackets::Calendar::CalendarAddEve
}
else
{
- SQLTransaction trans;
+ CharacterDatabaseTransaction trans;
if (calendarAddEvent.EventInfo.Invites.size() > 1)
trans = CharacterDatabase.BeginTransaction();
@@ -224,7 +224,7 @@ void WorldSession::HandleCalendarCopyEvent(WorldPackets::Calendar::CalendarCopyE
sCalendarMgr->AddEvent(newEvent, CALENDAR_SENDTYPE_COPY);
CalendarInviteStore invites = sCalendarMgr->GetEventInvites(calendarCopyEvent.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 61f8bea0056..c2cd72a17dd 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -720,7 +720,7 @@ void WorldSession::HandleCharCreateOpcode(WorldPackets::Character::CreateCharact
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());
@@ -1300,7 +1300,7 @@ void WorldSession::HandleCharRenameCallBack(std::shared_ptr<WorldPackets::Charac
atLoginFlags &= ~AT_LOGIN_RENAME;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
ObjectGuid::LowType lowGuid = renameInfo->Guid.GetCounter();
// Update name and at_login flag in the db
@@ -1368,7 +1368,7 @@ void WorldSession::HandleSetPlayerDeclinedNames(WorldPackets::Character::SetPlay
for (int i = 0; i < MAX_DECLINED_NAME_CASES; ++i)
CharacterDatabase.EscapeString(packet.DeclinedNames.name[i]);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_DECLINED_NAME);
stmt->setUInt64(0, packet.Player.GetCounter());
@@ -1560,7 +1560,7 @@ void WorldSession::HandleCharCustomizeCallback(std::shared_ptr<WorldPackets::Cha
}
CharacterDatabasePreparedStatement* stmt = nullptr;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
ObjectGuid::LowType lowGuid = customizeInfo->CharGUID.GetCounter();
@@ -1883,7 +1883,7 @@ void WorldSession::HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPa
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);
@@ -2321,7 +2321,7 @@ void WorldSession::HandleRandomizeCharNameOpcode(WorldPackets::Character::Genera
void WorldSession::HandleReorderCharacters(WorldPackets::Character::ReorderCharacters& reorderChars)
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
for (WorldPackets::Character::ReorderCharacters::ReorderInfo const& reorderInfo : reorderChars.Entries)
{
diff --git a/src/server/game/Handlers/ItemHandler.cpp b/src/server/game/Handlers/ItemHandler.cpp
index 6fc164e33c3..9da8317bd31 100644
--- a/src/server/game/Handlers/ItemHandler.cpp
+++ b/src/server/game/Handlers/ItemHandler.cpp
@@ -859,7 +859,7 @@ void WorldSession::HandleWrapItem(WorldPackets::Item::WrapItem& packet)
return;
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_CHAR_GIFT);
stmt->setUInt64(0, item->GetOwnerGUID().GetCounter());
diff --git a/src/server/game/Handlers/MailHandler.cpp b/src/server/game/Handlers/MailHandler.cpp
index a24a3be9210..bab0a1519e9 100644
--- a/src/server/game/Handlers/MailHandler.cpp
+++ b/src/server/game/Handlers/MailHandler.cpp
@@ -278,7 +278,7 @@ void WorldSession::HandleSendMail(WorldPackets::Mail::SendMail& packet)
MailDraft draft(packet.Info.Subject, packet.Info.Body);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
if (!packet.Info.Attachments.empty() || packet.Info.SendMoney > 0)
{
@@ -390,7 +390,7 @@ void WorldSession::HandleMailReturnToSender(WorldPackets::Mail::MailReturnToSend
return;
}
//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, packet.MailID);
@@ -464,7 +464,7 @@ void WorldSession::HandleMailTakeItem(WorldPackets::Mail::MailTakeItem& packet)
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(packet.AttachID);
m->removedItems.push_back(packet.AttachID);
@@ -554,7 +554,7 @@ void WorldSession::HandleMailTakeMoney(WorldPackets::Mail::MailTakeMoney& packet
player->SendMailResult(packet.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 a7a67849b32..265c1bc91d2 100644
--- a/src/server/game/Handlers/PetHandler.cpp
+++ b/src/server/game/Handlers/PetHandler.cpp
@@ -557,7 +557,7 @@ void WorldSession::HandlePetRename(WorldPackets::Pet::PetRename& packet)
}
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
if (declinedname)
{
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 dc0913199fd..ba6c39f99b3 100644
--- a/src/server/game/Handlers/PetitionsHandler.cpp
+++ b/src/server/game/Handlers/PetitionsHandler.cpp
@@ -124,7 +124,7 @@ void WorldSession::HandlePetitionBuy(WorldPackets::Petition::PetitionBuy& packet
TC_LOG_DEBUG("network", "Invalid petition GUIDs: %s", ssInvalidPetitionGUIDs.str().c_str());
CharacterDatabase.EscapeString(packet.Title);
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
trans->PAppend("DELETE FROM petition WHERE petitionguid IN (%s)", ssInvalidPetitionGUIDs.str().c_str());
trans->PAppend("DELETE FROM petition_sign WHERE petitionguid IN (%s)", ssInvalidPetitionGUIDs.str().c_str());
@@ -537,7 +537,7 @@ void WorldSession::HandleTurnInPetition(WorldPackets::Petition::TurnInPetition&
Guild::SendCommandResult(this, GUILD_COMMAND_CREATE_GUILD, ERR_GUILD_COMMAND_SUCCESS, name);
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
// Add members from signatures
for (uint8 i = 0; i < signatures; ++i)
@@ -553,7 +553,7 @@ void WorldSession::HandleTurnInPetition(WorldPackets::Petition::TurnInPetition&
CharacterDatabase.CommitTransaction(trans);
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_PETITION_BY_GUID);
stmt->setUInt64(0, packet.Item.GetCounter());
diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp
index 105a738e42a..ea734749343 100644
--- a/src/server/game/Handlers/SpellHandler.cpp
+++ b/src/server/game/Handlers/SpellHandler.cpp
@@ -220,7 +220,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/TradeHandler.cpp b/src/server/game/Handlers/TradeHandler.cpp
index 0b17b08f48e..f8244a39639 100644
--- a/src/server/game/Handlers/TradeHandler.cpp
+++ b/src/server/game/Handlers/TradeHandler.cpp
@@ -522,7 +522,7 @@ void WorldSession::HandleAcceptTradeOpcode(WorldPackets::Trade::AcceptTrade& acc
trader->m_trade = NULL;
// 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 0fa19b86706..5db6edd7695 100644
--- a/src/server/game/Instances/InstanceSaveMgr.cpp
+++ b/src/server/game/Instances/InstanceSaveMgr.cpp
@@ -137,7 +137,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);
@@ -664,7 +664,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/Mails/Mail.cpp b/src/server/game/Mails/Mail.cpp
index e594946cb8b..07efff4589e 100644
--- a/src/server/game/Mails/Mail.cpp
+++ b/src/server/game/Mails/Mail.cpp
@@ -96,7 +96,7 @@ MailDraft& MailDraft::AddItem(Item* 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 = ObjectGuid::Create<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::FindPlayer(ObjectGuid::Create<HighGuid::Player>(sender.GetSenderId()));
@@ -282,13 +282,13 @@ void MailDraft::SendMailTo(SQLTransaction& trans, MailReceiver const& receiver,
}
else if (!m_items.empty())
{
- SQLTransaction temp = SQLTransaction(NULL);
+ CharacterDatabaseTransaction temp = CharacterDatabaseTransaction(NULL);
deleteIncludedItems(temp);
}
}
else if (!m_items.empty())
{
- SQLTransaction temp = SQLTransaction(NULL);
+ CharacterDatabaseTransaction temp = CharacterDatabaseTransaction(NULL);
deleteIncludedItems(temp);
}
}
diff --git a/src/server/game/Mails/Mail.h b/src/server/game/Mails/Mail.h
index 8cbdc1fb735..f9f8d6ca223 100644
--- a/src/server/game/Mails/Mail.h
+++ b/src/server/game/Mails/Mail.h
@@ -143,12 +143,12 @@ class TC_GAME_API MailDraft
MailDraft& AddCOD(uint64 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 70d24ca194f..6c2b569d58f 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -4209,7 +4209,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/Pools/PoolMgr.cpp b/src/server/game/Pools/PoolMgr.cpp
index 89b59c46e8e..4b113694bc1 100644
--- a/src/server/game/Pools/PoolMgr.cpp
+++ b/src/server/game/Pools/PoolMgr.cpp
@@ -952,7 +952,7 @@ void PoolMgr::LoadQuestPools()
void PoolMgr::SaveQuestsToDB()
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
for (PoolGroupQuestMap::iterator itr = mPoolQuestGroups.begin(); itr != mPoolQuestGroups.end(); ++itr)
{
diff --git a/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp b/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
index e60c52e0929..b1495f54847 100644
--- a/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
+++ b/src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp
@@ -53,7 +53,7 @@ void QuestObjectiveCriteriaMgr::Reset()
void QuestObjectiveCriteriaMgr::DeleteFromDB(ObjectGuid const& guid)
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA);
stmt->setUInt64(0, guid.GetCounter());
@@ -117,7 +117,7 @@ void QuestObjectiveCriteriaMgr::LoadFromDB(PreparedQueryResult objectiveResult,
}
}
-void QuestObjectiveCriteriaMgr::SaveToDB(SQLTransaction& trans)
+void QuestObjectiveCriteriaMgr::SaveToDB(CharacterDatabaseTransaction& trans)
{
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_CHAR_QUESTSTATUS_OBJECTIVES_CRITERIA);
stmt->setUInt64(0, _owner->GetGUID().GetCounter());
diff --git a/src/server/game/Quests/QuestObjectiveCriteriaMgr.h b/src/server/game/Quests/QuestObjectiveCriteriaMgr.h
index 07d2173ecf6..8e335ef3c78 100644
--- a/src/server/game/Quests/QuestObjectiveCriteriaMgr.h
+++ b/src/server/game/Quests/QuestObjectiveCriteriaMgr.h
@@ -32,7 +32,7 @@ public:
static void DeleteFromDB(ObjectGuid const& guid);
void LoadFromDB(PreparedQueryResult objectiveResult, PreparedQueryResult criteriaResult);
- void SaveToDB(SQLTransaction& trans);
+ void SaveToDB(CharacterDatabaseTransaction& trans);
void ResetCriteria(CriteriaTypes type, uint64 miscValue1 = 0, uint64 miscValue2 = 0, bool evenIfCriteriaComplete = false);
void ResetCriteriaTree(uint32 criteriaTreeId);
diff --git a/src/server/game/Reputation/ReputationMgr.cpp b/src/server/game/Reputation/ReputationMgr.cpp
index 1a7d99e1989..de4cd4194ee 100644
--- a/src/server/game/Reputation/ReputationMgr.cpp
+++ b/src/server/game/Reputation/ReputationMgr.cpp
@@ -553,7 +553,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 8e838dd57da..1feaba62dbe 100644
--- a/src/server/game/Reputation/ReputationMgr.h
+++ b/src/server/game/Reputation/ReputationMgr.h
@@ -70,7 +70,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/Scenarios/InstanceScenario.cpp b/src/server/game/Scenarios/InstanceScenario.cpp
index 3cdfa349f37..362cf45d123 100644
--- a/src/server/game/Scenarios/InstanceScenario.cpp
+++ b/src/server/game/Scenarios/InstanceScenario.cpp
@@ -51,7 +51,7 @@ void InstanceScenario::SaveToDB()
return;
}
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
for (auto iter = _criteriaProgress.begin(); iter != _criteriaProgress.end(); ++iter)
{
if (!iter->second.Changed)
@@ -96,7 +96,7 @@ void InstanceScenario::LoadInstanceData(uint32 instanceId)
PreparedQueryResult result = CharacterDatabase.Query(stmt);
if (result)
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
time_t now = time(nullptr);
std::vector<CriteriaTree const*> criteriaTrees;
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index 3df8d88cc97..28e7541bdf6 100644
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -818,7 +818,7 @@ void WorldSession::SendTutorialsData()
SendPacket(packet.Write());
}
-void WorldSession::SaveTutorialsData(SQLTransaction& trans)
+void WorldSession::SaveTutorialsData(CharacterDatabaseTransaction& trans)
{
if (!(_tutorialsChanged & TUTORIALS_FLAG_CHANGED))
return;
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index 320bf10dcfc..81ec27a579e 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -1010,7 +1010,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 _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 95a9582728c..bb9953a30cd 100644
--- a/src/server/game/Spells/SpellHistory.cpp
+++ b/src/server/game/Spells/SpellHistory.cpp
@@ -170,7 +170,7 @@ void SpellHistory::LoadFromDB(PreparedQueryResult cooldownsResult, PreparedQuery
}
template<class OwnerType>
-void SpellHistory::SaveToDB(SQLTransaction& trans)
+void SpellHistory::SaveToDB(CharacterDatabaseTransaction& trans)
{
typedef PersistenceHelper<OwnerType> StatementInfo;
@@ -965,5 +965,5 @@ void SpellHistory::RestoreCooldownStateAfterDuel()
template void SpellHistory::LoadFromDB<Player>(PreparedQueryResult cooldownsResult, PreparedQueryResult chargesResult);
template void SpellHistory::LoadFromDB<Pet>(PreparedQueryResult cooldownsResult, PreparedQueryResult chargesResult);
-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 dadd597f190..8aa61889074 100644
--- a/src/server/game/Spells/SpellHistory.h
+++ b/src/server/game/Spells/SpellHistory.h
@@ -76,7 +76,7 @@ public:
void LoadFromDB(PreparedQueryResult cooldownsResult, PreparedQueryResult chargesResult);
template<class OwnerType>
- void SaveToDB(SQLTransaction& trans);
+ void SaveToDB(CharacterDatabaseTransaction& trans);
void Update();
diff --git a/src/server/game/Support/SupportMgr.cpp b/src/server/game/Support/SupportMgr.cpp
index e811255e4f3..0137e17cb14 100644
--- a/src/server/game/Support/SupportMgr.cpp
+++ b/src/server/game/Support/SupportMgr.cpp
@@ -225,7 +225,7 @@ void ComplaintTicket::LoadChatLineFromDB(Field* fields)
void ComplaintTicket::SaveToDB() const
{
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
uint8 idx = 0;
CharacterDatabasePreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_REP_GM_COMPLAINT);
@@ -718,7 +718,7 @@ TC_GAME_API void SupportMgr::ResetTickets<ComplaintTicket>()
_lastComplaintId = 0;
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
trans->Append(CharacterDatabase.GetPreparedStatement(CHAR_DEL_ALL_GM_COMPLAINTS));
trans->Append(CharacterDatabase.GetPreparedStatement(CHAR_DEL_ALL_GM_COMPLAINT_CHATLOGS));
CharacterDatabase.CommitTransaction(trans);
diff --git a/src/server/game/Tools/PlayerDump.cpp b/src/server/game/Tools/PlayerDump.cpp
index 3dd0f3f6d41..65129c98d4f 100644
--- a/src/server/game/Tools/PlayerDump.cpp
+++ b/src/server/game/Tools/PlayerDump.cpp
@@ -519,7 +519,7 @@ DumpReturn PlayerDumpReader::LoadDump(std::string const& file, uint32 account, s
ObjectGuid::LowType itemLowGuidOffset = sObjectMgr->GetGenerator<HighGuid::Item>().GetNextAfterMaxUsed();
- SQLTransaction trans = CharacterDatabase.BeginTransaction();
+ CharacterDatabaseTransaction trans = CharacterDatabase.BeginTransaction();
while (!feof(fin))
{
if (!fgets(buf, 32000, fin))
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index 2830bb8efff..9c52591e1fa 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -2798,7 +2798,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();
@@ -2877,7 +2877,7 @@ BanReturn World::BanCharacter(std::string const& name, std::string const& durati
guid = banned->GetGUID();
//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->setUInt64(0, guid.GetCounter());
@@ -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 dcde232edff..0fb3a3def3e 100644
--- a/src/server/scripts/Commands/cs_guild.cpp
+++ b/src/server/scripts/Commands/cs_guild.cpp
@@ -152,7 +152,7 @@ public:
return false;
// player's guild membership checked in AddMember before add
- SQLTransaction trans(nullptr);
+ CharacterDatabaseTransaction trans(nullptr);
return targetGuild->AddMember(trans, targetGuid);
}
@@ -171,7 +171,7 @@ public:
if (!targetGuild)
return false;
- SQLTransaction trans(nullptr);
+ CharacterDatabaseTransaction trans(nullptr);
targetGuild->DeleteMember(trans, targetGuid, false, true, true);
return true;
}
@@ -199,7 +199,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 f73633fb102..ad21e8fe400 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -607,7 +607,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(handler->GetSession()->GetPlayer()->GetMapId(),
handler->GetSession()->GetPlayer()->GetPositionX(),
handler->GetSession()->GetPlayer()->GetPositionY(),
@@ -667,7 +667,7 @@ public:
}
else
{
- SQLTransaction trans(nullptr);
+ CharacterDatabaseTransaction trans(nullptr);
Player::OfflineResurrect(targetGuid, trans);
}
@@ -1007,7 +1007,7 @@ public:
{
Field* fields = result->Fetch();
- SQLTransaction dummy;
+ CharacterDatabaseTransaction dummy;
Player::SavePositionInDB(WorldLocation(fields[0].GetUInt16(), fields[2].GetFloat(), fields[3].GetFloat(), fields[4].GetFloat(), 0.0f), fields[1].GetUInt16(), targetGUID, dummy);
return true;
}
diff --git a/src/server/scripts/Commands/cs_send.cpp b/src/server/scripts/Commands/cs_send.cpp
index 1518197f164..3f490186e35 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() : UI64LIT(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() : UI64LIT(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 4ae8e282aff..4ecdf85d762 100644
--- a/src/server/scripts/Commands/cs_tele.cpp
+++ b/src/server/scripts/Commands/cs_tele.cpp
@@ -148,7 +148,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);
}
}
@@ -206,7 +206,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(PhasingHandler::GetEmptyPhaseShift(), tele->mapId, tele->position_x, tele->position_y, tele->position_z), target_guid, dummy);
}
diff --git a/src/server/scripts/Northrend/zone_dalaran.cpp b/src/server/scripts/Northrend/zone_dalaran.cpp
index 22b162232b6..79d36289d4d 100644
--- a/src/server/scripts/Northrend/zone_dalaran.cpp
+++ b/src/server/scripts/Northrend/zone_dalaran.cpp
@@ -184,7 +184,7 @@ class npc_minigob_manabonk : public CreatureScript
void SendMailToPlayer(Player* player)
{
- 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, uint64(me->GetEntry())), MAIL_CHECK_MASK_NONE, deliverDelay);
CharacterDatabase.CommitTransaction(trans);