From b8a1ffcf5022477402cea9bfee2b9ddcd830513e Mon Sep 17 00:00:00 2001 From: raczman Date: Thu, 25 Jun 2009 15:56:45 +0200 Subject: Implemented separate connection for SqlDelayThread This should result in less locking when accessing database, and improved performance. * Changed SqlDelay queue type to monitored queue, and removed 10ms check period. thanks to Derex, mknjc, Jeniczek and Christyan for ideas and tests. --HG-- branch : trunk --- src/shared/Database/DatabaseMysql.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/shared/Database/DatabaseMysql.cpp') diff --git a/src/shared/Database/DatabaseMysql.cpp b/src/shared/Database/DatabaseMysql.cpp index 77a59a69c57..19c96422f18 100644 --- a/src/shared/Database/DatabaseMysql.cpp +++ b/src/shared/Database/DatabaseMysql.cpp @@ -70,7 +70,7 @@ DatabaseMysql::~DatabaseMysql() mysql_library_end(); } -bool DatabaseMysql::Initialize(const char *infoString) +bool DatabaseMysql::Initialize(const char *infoString, bool initDelayThread) { if(!Database::Initialize(infoString)) @@ -84,8 +84,8 @@ bool DatabaseMysql::Initialize(const char *infoString) sLog.outError( "Could not initialize Mysql connection" ); return false; } - - InitDelayThread(); + if(initDelayThread) + InitDelayThread(infoString); Tokens tokens = StrSplit(infoString, ";"); @@ -403,12 +403,12 @@ unsigned long DatabaseMysql::escape_string(char *to, const char *from, unsigned return(mysql_real_escape_string(mMysql, to, from, length)); } -void DatabaseMysql::InitDelayThread() +void DatabaseMysql::InitDelayThread(const char* infoString) { assert(!m_delayThread); //New delay thread for delay execute - m_delayThread = new ZThread::Thread(m_threadBody = new MySQLDelayThread(this)); + m_delayThread = new ZThread::Thread(m_threadBody = new MySQLDelayThread(this,infoString)); } void DatabaseMysql::HaltDelayThread() -- cgit v1.2.3