mirror of
https://bitbucket.org/theswgsource/src-1.2.git
synced 2026-10-05 20:13:29 -04:00
Added serverDatabase library
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
// ======================================================================
|
||||
//
|
||||
// TaskCheckGoldVersionNumber.cpp
|
||||
// copyright (c) 2004 Sony Online Entertainment
|
||||
//
|
||||
// ======================================================================
|
||||
|
||||
#include "serverDatabase/FirstServerDatabase.h"
|
||||
#include "serverDatabase/TaskCheckGoldVersionNumber.h"
|
||||
|
||||
#include "serverDatabase/GetGoldVersionNumberQuery.h"
|
||||
#include "sharedDatabaseInterface/DbSession.h"
|
||||
|
||||
// ======================================================================
|
||||
|
||||
TaskCheckGoldVersionNumber::TaskCheckGoldVersionNumber(int codeVersion, bool fatalOnMismatch) :
|
||||
m_codeVersion(codeVersion),
|
||||
m_databaseVersion(0),
|
||||
m_minVersion(0),
|
||||
m_fatalOnMismatch(fatalOnMismatch)
|
||||
{
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
TaskCheckGoldVersionNumber::~TaskCheckGoldVersionNumber()
|
||||
{
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
bool TaskCheckGoldVersionNumber::process(DB::Session *session)
|
||||
{
|
||||
int rowsFetched;
|
||||
DBQuery::GetGoldVersionNumberQuery qry;
|
||||
|
||||
if (! (session->exec(&qry)))
|
||||
return false;
|
||||
rowsFetched = qry.fetch();
|
||||
m_databaseVersion=qry.getVersionNumber();
|
||||
m_minVersion=qry.getMinVersionNumber();
|
||||
return (rowsFetched >= 0);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
void TaskCheckGoldVersionNumber::onComplete()
|
||||
{
|
||||
if ((m_codeVersion > m_databaseVersion) || (m_codeVersion < m_minVersion))
|
||||
{
|
||||
if (m_fatalOnMismatch)
|
||||
{
|
||||
FATAL(true,("This version of the server requires GOLD database version %i, but the GOLD database is version %i.\n",m_codeVersion,m_databaseVersion));
|
||||
}
|
||||
else
|
||||
{
|
||||
WARNING(true,("This version of the server requires GOLD database version %i, but the GOLD database is version %i.\n",m_codeVersion,m_databaseVersion));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ======================================================================
|
||||
Reference in New Issue
Block a user