aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Database
diff options
context:
space:
mode:
authorclick <none@none>2010-12-13 22:37:56 +0100
committerclick <none@none>2010-12-13 22:37:56 +0100
commit26428943423d14e8672682ab1f19925b76c2aa35 (patch)
tree1c6d80c03cbf566879e5c899533a2dea5a73dd4c /src/server/shared/Database
parent89a33bbf612fcd0d5cea8e1fc5deff87e53aa67e (diff)
Core: Add new system for parallelizing client packet processing. Handle WorldSession updates in Map::Update() where we are safe to proceed. Patch by Ambal.
(And clean up tabs and whitespace while rummaging around in there) Closes issue 5084. --HG-- branch : trunk
Diffstat (limited to 'src/server/shared/Database')
-rwxr-xr-xsrc/server/shared/Database/DatabaseWorkerPool.h18
-rwxr-xr-xsrc/server/shared/Database/Implementation/CharacterDatabase.cpp12
-rwxr-xr-xsrc/server/shared/Database/MySQLConnection.cpp4
3 files changed, 17 insertions, 17 deletions
diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/shared/Database/DatabaseWorkerPool.h
index d2743a7d4db..23439487c0d 100755
--- a/src/server/shared/Database/DatabaseWorkerPool.h
+++ b/src/server/shared/Database/DatabaseWorkerPool.h
@@ -85,7 +85,7 @@ class DatabaseWorkerPool
/// Open synchronous connections (direct, blocking operations)
m_connections[IDX_SYNCH].resize(synch_threads);
- for (uint8 i = 0; i < synch_threads; ++i)
+ for (uint8 i = 0; i < synch_threads; ++i)
{
T* t = new T(m_connectionInfo);
t->Open();
@@ -121,11 +121,11 @@ class DatabaseWorkerPool
{
T* t = m_connections[IDX_SYNCH][i];
//while (1)
- // if (t->LockIfReady()) -- For some reason deadlocks us
+ // if (t->LockIfReady()) -- For some reason deadlocks us
t->Close();
--m_connectionCount[IDX_SYNCH];
}
-
+
sLog.outSQLDriver("All connections on databasepool %s closed.", m_connectionInfo.database.c_str());
}
@@ -156,7 +156,7 @@ class DatabaseWorkerPool
{
if (!sql)
return;
-
+
T* t = GetFreeConnection();
t->Execute(sql);
t->Unlock();
@@ -276,7 +276,7 @@ class DatabaseWorkerPool
{
if (trans.null())
Execute(stmt);
- else
+ else
trans->Append(stmt);
}
@@ -286,7 +286,7 @@ class DatabaseWorkerPool
{
if (trans.null())
Execute(sql);
- else
+ else
trans->Append(sql);
}
@@ -300,7 +300,7 @@ class DatabaseWorkerPool
PreparedStatementTask* task = new PreparedStatementTask(stmt);
Enqueue(task);
}
-
+
void DirectExecute(PreparedStatement* stmt)
{
T* t = GetFreeConnection();
@@ -343,7 +343,7 @@ class DatabaseWorkerPool
t->Unlock();
}
}
-
+
/// Assuming all worker threads are free, every worker thread will receive 1 ping operation request
/// If one or more worker threads are busy, the ping operations will not be split evenly, but this doesn't matter
/// as the sole purpose is to prevent connections from idling.
@@ -356,7 +356,7 @@ class DatabaseWorkerPool
{
if (!to || !from || !length)
return 0;
-
+
T* t = GetFreeConnection();
unsigned long ret = mysql_real_escape_string(t->GetHandle(), to, from, length);
t->Unlock();
diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
index 1164fcceffe..4a2c100bc7b 100755
--- a/src/server/shared/Database/Implementation/CharacterDatabase.cpp
+++ b/src/server/shared/Database/Implementation/CharacterDatabase.cpp
@@ -170,7 +170,7 @@ bool CharacterDatabaseConnection::Open()
PrepareStatement(CHAR_RESET_GUILD_RANK_BANK_TIME3, "UPDATE guild_member SET BankResetTimeTab3 = 0 WHERE guildid = ? AND rank = ?");
PrepareStatement(CHAR_RESET_GUILD_RANK_BANK_TIME4, "UPDATE guild_member SET BankResetTimeTab4 = 0 WHERE guildid = ? AND rank = ?");
PrepareStatement(CHAR_RESET_GUILD_RANK_BANK_TIME5, "UPDATE guild_member SET BankResetTimeTab5 = 0 WHERE guildid = ? AND rank = ?");
- PrepareStatement(CHAR_LOAD_GUILDS,
+ PrepareStatement(CHAR_LOAD_GUILDS,
// 0 1 2 3 4 5 6
"SELECT g.guildid, g.name, g.leaderguid, g.EmblemStyle, g.EmblemColor, g.BorderStyle, g.BorderColor,"
// 7 8 9 10 11 12
@@ -179,7 +179,7 @@ bool CharacterDatabaseConnection::Open()
// 0 1 2 3 4
PrepareStatement(CHAR_LOAD_GUILD_RANKS, "SELECT guildid, rid, rname, rights, BankMoneyPerDay FROM guild_rank ORDER BY guildid ASC, rid ASC");
PrepareStatement(CHAR_LOAD_CHAR_DATA_FOR_GUILD, "SELECT name, level, class, zone, account FROM characters WHERE guid = ?");
- PrepareStatement(CHAR_LOAD_GUILD_MEMBERS,
+ PrepareStatement(CHAR_LOAD_GUILD_MEMBERS,
// 0 1 2 3 4 5 6
"SELECT guildid, gm.guid, rank, pnote, offnote, BankResetTimeMoney, BankRemMoney,"
// 7 8 9 10 11 12
@@ -189,18 +189,18 @@ bool CharacterDatabaseConnection::Open()
// 19 20 21 22 23 24
"c.name, c.level, c.class, c.zone, c.account, c.logout_time "
"FROM guild_member gm LEFT JOIN characters c ON c.guid = gm.guid ORDER BY guildid ASC");
- PrepareStatement(CHAR_LOAD_GUILD_BANK_RIGHTS,
+ PrepareStatement(CHAR_LOAD_GUILD_BANK_RIGHTS,
// 0 1 2 3 4
"SELECT guildid, TabId, rid, gbright, SlotPerDay FROM guild_bank_right ORDER BY guildid ASC, TabId ASC");
// 0 1 2 3 4
PrepareStatement(CHAR_LOAD_GUILD_BANK_TABS, "SELECT guildid, TabId, TabName, TabIcon, TabText FROM guild_bank_tab ORDER BY guildid ASC, TabId ASC");
- PrepareStatement(CHAR_LOAD_GUILD_EVENTLOGS,
+ PrepareStatement(CHAR_LOAD_GUILD_EVENTLOGS,
// 0 1 2 3 4 5 6
"SELECT guildid, LogGuid, EventType, PlayerGuid1, PlayerGuid2, NewRank, TimeStamp FROM guild_eventlog ORDER BY TimeStamp DESC, LogGuid DESC");
- PrepareStatement(CHAR_LOAD_GUILD_BANK_EVENTLOGS,
+ PrepareStatement(CHAR_LOAD_GUILD_BANK_EVENTLOGS,
// 0 1 2 3 4 5 6 7 8
"SELECT guildid, TabId, LogGuid, EventType, PlayerGuid, ItemOrMoney, ItemStackCount, DestTabId, TimeStamp FROM guild_bank_eventlog ORDER BY TimeStamp DESC, LogGuid DESC");
- PrepareStatement(CHAR_LOAD_GUILD_BANK_ITEMS,
+ PrepareStatement(CHAR_LOAD_GUILD_BANK_ITEMS,
// 0 1 2 3 4 5 6 7 8 9 10
"SELECT creatorGuid, giftCreatorGuid, count, duration, charges, flags, enchantments, randomPropertyId, durability, playedTime, text, "
// 11 12 13 14 15
diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp
index 20c614b5333..84d1948622e 100755
--- a/src/server/shared/Database/MySQLConnection.cpp
+++ b/src/server/shared/Database/MySQLConnection.cpp
@@ -210,11 +210,11 @@ bool MySQLConnection::Execute(PreparedStatement* stmt)
m_mStmt->ClearParameters();
return false;
}
-
+
if (sLog.GetSQLDriverQueryLogging())
sLog.outSQLDriver("[%u ms] Prepared SQL: %u on database `%s`",
getMSTimeDiff(_s, getMSTime()), index, m_connectionInfo.database.c_str());
-
+
m_mStmt->ClearParameters();
return true;
}