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