Fix Linux build

--HG--
branch : trunk
This commit is contained in:
Machiavelli
2010-09-03 00:04:14 +02:00
parent e25846a08e
commit 39027133e4
13 changed files with 22 additions and 26 deletions
+1
View File
@@ -25,6 +25,7 @@
#include "Object.h" #include "Object.h"
#include "LootMgr.h" #include "LootMgr.h"
#include "ItemPrototype.h" #include "ItemPrototype.h"
#include "DatabaseEnv.h"
struct SpellEntry; struct SpellEntry;
class Bag; class Bag;
+1 -1
View File
@@ -28,7 +28,7 @@
#include "Common.h" #include "Common.h"
#include "SharedDefines.h" #include "SharedDefines.h"
#include "AddonMgr.h" #include "AddonMgr.h"
#include "QueryResult.h" #include "DatabaseEnv.h"
#include "World.h" #include "World.h"
struct ItemPrototype; struct ItemPrototype;
+1
View File
@@ -199,4 +199,5 @@ typedef std::vector<std::string> StringVector;
#define M_PI 3.14159265358979323846f #define M_PI 3.14159265358979323846f
#endif #endif
#define MAX_QUERY_LEN 32*1024
#endif #endif
-1
View File
@@ -31,7 +31,6 @@
#include "MySQLThreading.h" #include "MySQLThreading.h"
#include "Transaction.h" #include "Transaction.h"
#define MAX_QUERY_LEN 32*1024
#define _LIKE_ "LIKE" #define _LIKE_ "LIKE"
#define _TABLE_SIM_ "`" #define _TABLE_SIM_ "`"
#define _CONCAT3_(A,B,C) "CONCAT( " A " , " B " , " C " )" #define _CONCAT3_(A,B,C) "CONCAT( " A " , " B " , " C " )"
@@ -21,7 +21,6 @@
#include <ace/Task.h> #include <ace/Task.h>
#include <ace/Activation_Queue.h> #include <ace/Activation_Queue.h>
#include "SQLOperation.h"
class MySQLConnection; class MySQLConnection;
@@ -19,21 +19,15 @@
#ifndef _DATABASEWORKERPOOL_H #ifndef _DATABASEWORKERPOOL_H
#define _DATABASEWORKERPOOL_H #define _DATABASEWORKERPOOL_H
#include "Common.h"
#include <ace/Atomic_Op_T.h> #include <ace/Atomic_Op_T.h>
#include <ace/Thread_Mutex.h> #include <ace/Thread_Mutex.h>
#include "Log.h" #include "Common.h"
#include "DatabaseEnv.h"
#include "SQLOperation.h"
#include "Callback.h" #include "Callback.h"
#include "MySQLConnection.h" #include "MySQLConnection.h"
#include "Transaction.h"
#include "DatabaseWorker.h" #include "DatabaseWorker.h"
// TODO: Fixme
#define sLog (*ACE_Singleton<Log, ACE_Thread_Mutex>::instance())
enum MySQLThreadBundle enum MySQLThreadBundle
{ {
MYSQL_BUNDLE_NONE = 0x00, //- Each task will run their own MySQL connection MYSQL_BUNDLE_NONE = 0x00, //- Each task will run their own MySQL connection
@@ -47,6 +41,10 @@ enum MySQLThreadBundle
template <class T> template <class T>
class DatabaseWorkerPool class DatabaseWorkerPool
{ {
private:
typedef UNORDERED_MAP<ACE_Based::Thread*, MySQLConnection*> ConnectionMap;
typedef ACE_Atomic_Op<ACE_SYNCH_MUTEX, uint32> AtomicUInt;
public: public:
DatabaseWorkerPool() : DatabaseWorkerPool() :
m_queue(new ACE_Activation_Queue(new ACE_Message_Queue<ACE_MT_SYNCH>)), m_queue(new ACE_Activation_Queue(new ACE_Message_Queue<ACE_MT_SYNCH>)),
@@ -134,7 +132,7 @@ class DatabaseWorkerPool
void End_MySQL_Connection() void End_MySQL_Connection()
{ {
T* conn; MySQLConnection* conn;
{ {
ACE_Guard<ACE_Thread_Mutex> guard(m_connectionMap_mtx); ACE_Guard<ACE_Thread_Mutex> guard(m_connectionMap_mtx);
ConnectionMap::iterator itr = m_sync_connections.find(ACE_Based::Thread::current()); ConnectionMap::iterator itr = m_sync_connections.find(ACE_Based::Thread::current());
@@ -295,9 +293,9 @@ class DatabaseWorkerPool
m_queue->enqueue(op); m_queue->enqueue(op);
} }
T* GetConnection() MySQLConnection* GetConnection()
{ {
T* conn; MySQLConnection* conn;
ConnectionMap::const_iterator itr; ConnectionMap::const_iterator itr;
{ {
/*! MapUpdate + unbundled threads */ /*! MapUpdate + unbundled threads */
@@ -312,10 +310,6 @@ class DatabaseWorkerPool
return conn; return conn;
} }
private:
typedef UNORDERED_MAP<ACE_Based::Thread*, T*> ConnectionMap;
typedef ACE_Atomic_Op<ACE_SYNCH_MUTEX, uint32> AtomicUInt;
private: private:
ACE_Activation_Queue* m_queue; //! Queue shared by async worker threads. ACE_Activation_Queue* m_queue; //! Queue shared by async worker threads.
ACE_Thread_Mutex m_queue_mtx; //! For thread safe enqueues of delayed statements. ACE_Thread_Mutex m_queue_mtx; //! For thread safe enqueues of delayed statements.
+1 -1
View File
@@ -18,7 +18,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
#include "DatabaseEnv.h" #include "Field.h"
Field::Field() : Field::Field() :
mValue(NULL), mType(DB_TYPE_UNKNOWN) mValue(NULL), mType(DB_TYPE_UNKNOWN)
@@ -24,13 +24,12 @@
#endif #endif
#include <mysql.h> #include <mysql.h>
#include "DatabaseEnv.h" #include "MySQLConnection.h"
#include "MYSQLThreading.h"
#include "QueryResult.h" #include "QueryResult.h"
#include "SQLOperation.h" #include "SQLOperation.h"
#include "PreparedStatement.h" #include "PreparedStatement.h"
#include "MySQLConnection.h"
#include "DatabaseWorker.h" #include "DatabaseWorker.h"
#include "Log.h"
#include "Util.h" #include "Util.h"
#include "Timer.h" #include "Timer.h"
@@ -59,6 +59,9 @@ struct PreparedStatementData
std::string str; std::string str;
}; };
//- Forward declare
class MySQLPreparedStatement;
//- Upper-level class that is used in code //- Upper-level class that is used in code
class PreparedStatement class PreparedStatement
{ {
@@ -17,7 +17,6 @@
*/ */
#include "Common.h" #include "Common.h"
#include "DatabaseEnv.h"
#include "SQLOperation.h" #include "SQLOperation.h"
#include "MySQLConnection.h" #include "MySQLConnection.h"
+3
View File
@@ -23,6 +23,9 @@
#include "Configuration/Config.h" #include "Configuration/Config.h"
#include "Util.h" #include "Util.h"
#include "Implementation/LoginDatabase.h" // For logging
extern LoginDatabaseWorkerPool LoginDatabase;
#include <stdarg.h> #include <stdarg.h>
#include <stdio.h> #include <stdio.h>
-1
View File
@@ -23,7 +23,6 @@
#include "Common.h" #include "Common.h"
#include <ace/Singleton.h> #include <ace/Singleton.h>
#include "Database/DatabaseEnv.h"
class Config; class Config;
+1 -2
View File
@@ -21,8 +21,7 @@
#include <ace/Future.h> #include <ace/Future.h>
#include <ace/Future_Set.h> #include <ace/Future_Set.h>
#include "QueryResult.h"
#include "DatabaseEnv.h"
typedef ACE_Future<QueryResult_AutoPtr> QueryResultFuture; typedef ACE_Future<QueryResult_AutoPtr> QueryResultFuture;