aboutsummaryrefslogtreecommitdiff
path: root/src/shared/Database/DatabaseMysql.cpp
diff options
context:
space:
mode:
authorraczman <none@none>2009-06-25 15:56:45 +0200
committerraczman <none@none>2009-06-25 15:56:45 +0200
commitb8a1ffcf5022477402cea9bfee2b9ddcd830513e (patch)
tree73ea62ebb1ef231b870eb05f94a594a73e3b9dfc /src/shared/Database/DatabaseMysql.cpp
parente92f3cf01fb618505f3600a9a291c33b12aa5e63 (diff)
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
Diffstat (limited to 'src/shared/Database/DatabaseMysql.cpp')
-rw-r--r--src/shared/Database/DatabaseMysql.cpp10
1 files changed, 5 insertions, 5 deletions
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()