From e585187b248f48b3c6e9247b49fa07c6565d65e5 Mon Sep 17 00:00:00 2001 From: maximius Date: Sat, 17 Oct 2009 15:51:44 -0700 Subject: *Backed out changeset 3be01fb200a5 --HG-- branch : trunk --- src/shared/Database/DatabaseMysql.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/shared/Database/DatabaseMysql.h') diff --git a/src/shared/Database/DatabaseMysql.h b/src/shared/Database/DatabaseMysql.h index 3a7fa4f5def..4612ebfc462 100644 --- a/src/shared/Database/DatabaseMysql.h +++ b/src/shared/Database/DatabaseMysql.h @@ -17,13 +17,17 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + #ifndef DO_POSTGRESQL + #ifndef _DATABASEMYSQL_H #define _DATABASEMYSQL_H + #include "Database.h" #include "Policies/Singleton.h" #include "ace/Thread_Mutex.h" #include "ace/Guard_T.h" + #ifdef WIN32 #define FD_SETSIZE 1024 #include @@ -31,12 +35,15 @@ #else #include #endif + class TRINITY_DLL_SPEC DatabaseMysql : public Database { friend class Trinity::OperatorNew; + public: DatabaseMysql(); ~DatabaseMysql(); + //! Initializes Mysql and connects to a server. /*! infoString should be formated like hostname;username;password;database. */ bool Initialize(const char *infoString); @@ -49,18 +56,25 @@ class TRINITY_DLL_SPEC DatabaseMysql : public Database bool BeginTransaction(); bool CommitTransaction(); bool RollbackTransaction(); + operator bool () const { return mMysql != NULL; } + unsigned long escape_string(char *to, const char *from, unsigned long length); using Database::escape_string; + // must be call before first query in thread void ThreadStart(); // must be call before finish thread run void ThreadEnd(); private: ACE_Thread_Mutex mMutex; + ACE_Based::Thread * tranThread; + MYSQL *mMysql; + static size_t db_count; + bool _TransactionCmd(const char *sql); bool _Query(const char *sql, MYSQL_RES **pResult, MYSQL_FIELD **pFields, uint64* pRowCount, uint32* pFieldCount); }; -- cgit v1.2.3