コード例 #1
0
//-------------------------------------------------------------------------------------
bool Dbmgr::initDB()
{
    if(!DBUtil::initialize())
    {
        ERROR_MSG("Dbmgr::initDB: can't initialize dbinterface!\n");
        return false;
    }

    DBInterface* pDBInterface = DBUtil::createInterface();
    if(pDBInterface == NULL)
    {
        ERROR_MSG("Dbmgr::initDB: can't create dbinterface!\n");
        return false;
    }

    bool ret = DBUtil::initInterface(pDBInterface);

    if(ret)
    {
        ret = pDBInterface->checkEnvironment();
    }

    pDBInterface->detach();
    SAFE_RELEASE(pDBInterface);

    if(!ret)
        return false;

    return ret;
}
コード例 #2
0
//-------------------------------------------------------------------------------------		
bool Dbmgr::initDB()
{
	ScriptDefModule* pModule = EntityDef::findScriptModule(DBUtil::accountScriptName());
	if(pModule == NULL)
	{
		ERROR_MSG(fmt::format("Dbmgr::initDB(): not found account script[{}]!\n", 
			DBUtil::accountScriptName()));

		return false;
	}

	if(!DBUtil::initialize())
	{
		ERROR_MSG("Dbmgr::initDB(): can't initialize dbinterface!\n");
		return false;
	}

	DBInterface* pDBInterface = DBUtil::createInterface();
	if(pDBInterface == NULL)
	{
		ERROR_MSG("Dbmgr::initDB(): can't create dbinterface!\n");
		return false;
	}

	bool ret = DBUtil::initInterface(pDBInterface);
	pDBInterface->detach();
	SAFE_RELEASE(pDBInterface);

	if(!ret)
		return false;

	return ret;
}
コード例 #3
0
ファイル: dbmgr.cpp プロジェクト: Ollydbg/kbengine
//-------------------------------------------------------------------------------------		
bool Dbmgr::initDB()
{
	if(!DBUtil::initialize())
	{
		ERROR_MSG("Dbmgr::initDB: can't initialize dbinterface!\n");
		return false;
	}

	ENGINE_COMPONENT_INFO& dbcfg = g_kbeSrvConfig.getDBMgr();

	DBInterface* pDBInterface = DBUtil::createInterface();
	if(pDBInterface == NULL)
	{
		ERROR_MSG("Dbmgr::initDB: can't create dbinterface!\n");
		return false;
	}

	bool ret = DBUtil::initInterface(pDBInterface);
	
	if(ret)
	{
		ret = pDBInterface->checkEnvironment();
	}
	
	pDBInterface->detach();
	SAFE_RELEASE(pDBInterface);

	if(!ret)
		return false;

	if(!dbThreadPool_.isInitialize())
	{
		ret = dbThreadPool_.createThreadPool(dbcfg.db_numConnections, 
			dbcfg.db_numConnections, dbcfg.db_numConnections);
	}

	return ret;
}
コード例 #4
0
//-------------------------------------------------------------------------------------		
bool Dbmgr::initDB()
{
	ScriptDefModule* pModule = EntityDef::findScriptModule(DBUtil::accountScriptName());
	if(pModule == NULL)
	{
		ERROR_MSG(fmt::format("Dbmgr::initDB(): not found account script[{}]!\n", 
			DBUtil::accountScriptName()));

		return false;
	}

	ENGINE_COMPONENT_INFO& dbcfg = g_kbeSrvConfig.getDBMgr();
	if (dbcfg.dbInterfaceInfos.size() == 0)
	{
		ERROR_MSG(fmt::format("DBUtil::initialize: not found dbInterface! (kbengine_defs.xml->dbmgr->databaseInterfaces)\n"));
		return false;
	}

	if (!DBUtil::initialize())
	{
		ERROR_MSG("Dbmgr::initDB(): can't initialize dbInterface!\n");
		return false;
	}

	bool hasDefaultInterface = false;

	std::vector<DBInterfaceInfo>::iterator dbinfo_iter = dbcfg.dbInterfaceInfos.begin();
	for (; dbinfo_iter != dbcfg.dbInterfaceInfos.end(); ++dbinfo_iter)
	{
		Buffered_DBTasks buffered_DBTasks;
		bufferedDBTasksMaps_.insert(std::make_pair((*dbinfo_iter).name, buffered_DBTasks));
		BUFFERED_DBTASKS_MAP::iterator buffered_DBTasks_iter = bufferedDBTasksMaps_.find((*dbinfo_iter).name);
		buffered_DBTasks_iter->second.dbInterfaceName((*dbinfo_iter).name);
	}

	for (dbinfo_iter = dbcfg.dbInterfaceInfos.begin(); dbinfo_iter != dbcfg.dbInterfaceInfos.end(); ++dbinfo_iter)
	{
		DBInterface* pDBInterface = DBUtil::createInterface((*dbinfo_iter).name);
		if(pDBInterface == NULL)
		{
			ERROR_MSG("Dbmgr::initDB(): can't create dbInterface!\n");
			return false;
		}

		bool ret = DBUtil::initInterface(pDBInterface);
		pDBInterface->detach();
		SAFE_RELEASE(pDBInterface);

		if(!ret)
			return false;

		if (std::string("default") == (*dbinfo_iter).name)
			hasDefaultInterface = true;
	}

	if (!hasDefaultInterface)
	{
		ERROR_MSG("Dbmgr::initDB(): \"default\" dbInterface was not found! (kbengine_defs.xml->dbmgr->databaseInterfaces)\n");
		return false;
	}

	return true;
}