From b978f0286c4ff1f00d4806b332f825df80c0112e Mon Sep 17 00:00:00 2001 From: devil1234 Date: Tue, 11 Nov 2014 13:14:36 +0000 Subject: Core/Databases: Add hotfix database to world config and prepared statement for it. Closes #13533 --- src/server/worldserver/Main.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/server/worldserver/Main.cpp') diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp index 821e1f5bd83..c46a1dffeec 100644 --- a/src/server/worldserver/Main.cpp +++ b/src/server/worldserver/Main.cpp @@ -80,6 +80,7 @@ uint32 _maxCoreStuckTimeInMs(0); WorldDatabaseWorkerPool WorldDatabase; ///< Accessor to the world database CharacterDatabaseWorkerPool CharacterDatabase; ///< Accessor to the character database +HotfixDatabaseWorkerPool HotfixDatabase; ///< Accessor to the hotfix database LoginDatabaseWorkerPool LoginDatabase; ///< Accessor to the realm/login database Battlenet::RealmHandle realmHandle; ///< Id of the realm Realm realm; @@ -570,6 +571,31 @@ bool StartDB() return false; } + ///- Get hotfix database info from configuration file + dbString = sConfigMgr->GetStringDefault("HotfixDatabaseInfo", ""); + if (dbString.empty()) + { + TC_LOG_ERROR("server.worldserver", "Hotfix database not specified in configuration file"); + return false; + } + + asyncThreads = uint8(sConfigMgr->GetIntDefault("HotfixDatabase.WorkerThreads", 1)); + if (asyncThreads < 1 || asyncThreads > 32) + { + TC_LOG_ERROR("server.worldserver", "Hotfix database: invalid number of worker threads specified. " + "Please pick a value between 1 and 32."); + return false; + } + + synchThreads = uint8(sConfigMgr->GetIntDefault("HotfixDatabase.SynchThreads", 2)); + + ///- Initialize the Hotfix database + if (!HotfixDatabase.Open(dbString, asyncThreads, synchThreads)) + { + TC_LOG_ERROR("server.worldserver", "Cannot connect to Hotfix database %s", dbString.c_str()); + return false; + } + ///- Get login database info from configuration file dbString = sConfigMgr->GetStringDefault("LoginDatabaseInfo", ""); if (dbString.empty()) -- cgit v1.2.3