diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Item/Item.h | 1 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.h | 2 | ||||
-rw-r--r-- | src/server/shared/Common.h | 1 | ||||
-rw-r--r-- | src/server/shared/Database/DatabaseEnv.h | 1 | ||||
-rw-r--r-- | src/server/shared/Database/DatabaseWorker.h | 1 | ||||
-rw-r--r-- | src/server/shared/Database/DatabaseWorkerPool.h | 24 | ||||
-rw-r--r-- | src/server/shared/Database/Field.cpp | 2 | ||||
-rw-r--r-- | src/server/shared/Database/MySQLConnection.cpp | 5 | ||||
-rw-r--r-- | src/server/shared/Database/PreparedStatement.h | 3 | ||||
-rw-r--r-- | src/server/shared/Database/SQLOperation.cpp | 1 | ||||
-rw-r--r-- | src/server/shared/Logging/Log.cpp | 3 | ||||
-rw-r--r-- | src/server/shared/Logging/Log.h | 1 | ||||
-rw-r--r-- | src/server/shared/Threading/Callback.h | 3 |
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; |