aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Item/Item.h1
-rw-r--r--src/server/game/Server/WorldSession.h2
-rw-r--r--src/server/shared/Common.h1
-rw-r--r--src/server/shared/Database/DatabaseEnv.h1
-rw-r--r--src/server/shared/Database/DatabaseWorker.h1
-rw-r--r--src/server/shared/Database/DatabaseWorkerPool.h24
-rw-r--r--src/server/shared/Database/Field.cpp2
-rw-r--r--src/server/shared/Database/MySQLConnection.cpp5
-rw-r--r--src/server/shared/Database/PreparedStatement.h3
-rw-r--r--src/server/shared/Database/SQLOperation.cpp1
-rw-r--r--src/server/shared/Logging/Log.cpp3
-rw-r--r--src/server/shared/Logging/Log.h1
-rw-r--r--src/server/shared/Threading/Callback.h3
13 files changed, 22 insertions, 26 deletions
diff --git a/src/server/game/Entities/Item/Item.h b/src/server/game/Entities/Item/Item.h
index 25b4b69a607..af7de7e0f05 100644
--- a/src/server/game/Entities/Item/Item.h
+++ b/src/server/game/Entities/Item/Item.h
@@ -25,6 +25,7 @@
#include "Object.h"
#include "LootMgr.h"
#include "ItemPrototype.h"
+#include "DatabaseEnv.h"
struct SpellEntry;
class Bag;
diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h
index f4fa9922b05..56b549e9658 100644
--- a/src/server/game/Server/WorldSession.h
+++ b/src/server/game/Server/WorldSession.h
@@ -28,7 +28,7 @@
#include "Common.h"
#include "SharedDefines.h"
#include "AddonMgr.h"
-#include "QueryResult.h"
+#include "DatabaseEnv.h"
#include "World.h"
struct ItemPrototype;
diff --git a/src/server/shared/Common.h b/src/server/shared/Common.h
index 5324416c05f..e73e0d37073 100644
--- a/src/server/shared/Common.h
+++ b/src/server/shared/Common.h
@@ -199,4 +199,5 @@ typedef std::vector<std::string> StringVector;
#define M_PI 3.14159265358979323846f
#endif
+#define MAX_QUERY_LEN 32*1024
#endif
diff --git a/src/server/shared/Database/DatabaseEnv.h b/src/server/shared/Database/DatabaseEnv.h
index d35948b7ec7..b6ec229e87a 100644
--- a/src/server/shared/Database/DatabaseEnv.h
+++ b/src/server/shared/Database/DatabaseEnv.h
@@ -31,7 +31,6 @@
#include "MySQLThreading.h"
#include "Transaction.h"
-#define MAX_QUERY_LEN 32*1024
#define _LIKE_ "LIKE"
#define _TABLE_SIM_ "`"
#define _CONCAT3_(A,B,C) "CONCAT( " A " , " B " , " C " )"
diff --git a/src/server/shared/Database/DatabaseWorker.h b/src/server/shared/Database/DatabaseWorker.h
index 47cf52665b1..cb224620020 100644
--- a/src/server/shared/Database/DatabaseWorker.h
+++ b/src/server/shared/Database/DatabaseWorker.h
@@ -21,7 +21,6 @@
#include <ace/Task.h>
#include <ace/Activation_Queue.h>
-#include "SQLOperation.h"
class MySQLConnection;
diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/shared/Database/DatabaseWorkerPool.h
index 6f16235c200..c113a728709 100644
--- a/src/server/shared/Database/DatabaseWorkerPool.h
+++ b/src/server/shared/Database/DatabaseWorkerPool.h
@@ -19,21 +19,15 @@
#ifndef _DATABASEWORKERPOOL_H
#define _DATABASEWORKERPOOL_H
-#include "Common.h"
-
#include <ace/Atomic_Op_T.h>
#include <ace/Thread_Mutex.h>
-#include "Log.h"
-#include "DatabaseEnv.h"
-#include "SQLOperation.h"
+#include "Common.h"
#include "Callback.h"
#include "MySQLConnection.h"
+#include "Transaction.h"
#include "DatabaseWorker.h"
-// TODO: Fixme
-#define sLog (*ACE_Singleton<Log, ACE_Thread_Mutex>::instance())
-
enum MySQLThreadBundle
{
MYSQL_BUNDLE_NONE = 0x00, //- Each task will run their own MySQL connection
@@ -47,6 +41,10 @@ enum MySQLThreadBundle
template <class T>
class DatabaseWorkerPool
{
+ private:
+ typedef UNORDERED_MAP<ACE_Based::Thread*, MySQLConnection*> ConnectionMap;
+ typedef ACE_Atomic_Op<ACE_SYNCH_MUTEX, uint32> AtomicUInt;
+
public:
DatabaseWorkerPool() :
m_queue(new ACE_Activation_Queue(new ACE_Message_Queue<ACE_MT_SYNCH>)),
@@ -134,7 +132,7 @@ class DatabaseWorkerPool
void End_MySQL_Connection()
{
- T* conn;
+ MySQLConnection* conn;
{
ACE_Guard<ACE_Thread_Mutex> guard(m_connectionMap_mtx);
ConnectionMap::iterator itr = m_sync_connections.find(ACE_Based::Thread::current());
@@ -295,9 +293,9 @@ class DatabaseWorkerPool
m_queue->enqueue(op);
}
- T* GetConnection()
+ MySQLConnection* GetConnection()
{
- T* conn;
+ MySQLConnection* conn;
ConnectionMap::const_iterator itr;
{
/*! MapUpdate + unbundled threads */
@@ -313,10 +311,6 @@ class DatabaseWorkerPool
}
private:
- typedef UNORDERED_MAP<ACE_Based::Thread*, T*> ConnectionMap;
- typedef ACE_Atomic_Op<ACE_SYNCH_MUTEX, uint32> AtomicUInt;
-
- private:
ACE_Activation_Queue* m_queue; //! Queue shared by async worker threads.
ACE_Thread_Mutex m_queue_mtx; //! For thread safe enqueues of delayed statements.
std::vector<T*> m_async_connections;
diff --git a/src/server/shared/Database/Field.cpp b/src/server/shared/Database/Field.cpp
index 191a2884aac..ac83bf055fb 100644
--- a/src/server/shared/Database/Field.cpp
+++ b/src/server/shared/Database/Field.cpp
@@ -18,7 +18,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include "DatabaseEnv.h"
+#include "Field.h"
Field::Field() :
mValue(NULL), mType(DB_TYPE_UNKNOWN)
diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/shared/Database/MySQLConnection.cpp
index e1149fa16c1..4e5f26c0e8d 100644
--- a/src/server/shared/Database/MySQLConnection.cpp
+++ b/src/server/shared/Database/MySQLConnection.cpp
@@ -24,13 +24,12 @@
#endif
#include <mysql.h>
-#include "DatabaseEnv.h"
+#include "MySQLConnection.h"
+#include "MYSQLThreading.h"
#include "QueryResult.h"
#include "SQLOperation.h"
#include "PreparedStatement.h"
-#include "MySQLConnection.h"
#include "DatabaseWorker.h"
-#include "Log.h"
#include "Util.h"
#include "Timer.h"
diff --git a/src/server/shared/Database/PreparedStatement.h b/src/server/shared/Database/PreparedStatement.h
index 580f4ee14a0..534c6043a47 100644
--- a/src/server/shared/Database/PreparedStatement.h
+++ b/src/server/shared/Database/PreparedStatement.h
@@ -59,6 +59,9 @@ struct PreparedStatementData
std::string str;
};
+//- Forward declare
+class MySQLPreparedStatement;
+
//- Upper-level class that is used in code
class PreparedStatement
{
diff --git a/src/server/shared/Database/SQLOperation.cpp b/src/server/shared/Database/SQLOperation.cpp
index b66839e26b3..ae0dff6b265 100644
--- a/src/server/shared/Database/SQLOperation.cpp
+++ b/src/server/shared/Database/SQLOperation.cpp
@@ -17,7 +17,6 @@
*/
#include "Common.h"
-#include "DatabaseEnv.h"
#include "SQLOperation.h"
#include "MySQLConnection.h"
diff --git a/src/server/shared/Logging/Log.cpp b/src/server/shared/Logging/Log.cpp
index d7165b1b3b1..70ecb9781c7 100644
--- a/src/server/shared/Logging/Log.cpp
+++ b/src/server/shared/Logging/Log.cpp
@@ -23,6 +23,9 @@
#include "Configuration/Config.h"
#include "Util.h"
+#include "Implementation/LoginDatabase.h" // For logging
+extern LoginDatabaseWorkerPool LoginDatabase;
+
#include <stdarg.h>
#include <stdio.h>
diff --git a/src/server/shared/Logging/Log.h b/src/server/shared/Logging/Log.h
index 7b7e45413fc..17a06f619db 100644
--- a/src/server/shared/Logging/Log.h
+++ b/src/server/shared/Logging/Log.h
@@ -23,7 +23,6 @@
#include "Common.h"
#include <ace/Singleton.h>
-#include "Database/DatabaseEnv.h"
class Config;
diff --git a/src/server/shared/Threading/Callback.h b/src/server/shared/Threading/Callback.h
index d7fd9781daf..101074e27b2 100644
--- a/src/server/shared/Threading/Callback.h
+++ b/src/server/shared/Threading/Callback.h
@@ -21,8 +21,7 @@
#include <ace/Future.h>
#include <ace/Future_Set.h>
-
-#include "DatabaseEnv.h"
+#include "QueryResult.h"
typedef ACE_Future<QueryResult_AutoPtr> QueryResultFuture;