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