mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 17:51:28 +00:00
LoadTaskSets converted to QueryDatabase
This commit is contained in:
parent
2bee906784
commit
be7d2e9457
@ -60,41 +60,32 @@ TaskManager::~TaskManager() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool TaskManager::LoadTaskSets() {
|
bool TaskManager::LoadTaskSets() {
|
||||||
const char *TaskSetQuery = "SELECT `id`, `taskid` from `tasksets` WHERE `id` > 0 AND `id` < %i "
|
|
||||||
"AND `taskid` >= 0 AND `taskid` < %i ORDER BY `id`, `taskid` ASC";
|
|
||||||
const char *ERR_MYSQLERROR = "[TASKS]Error in TaskManager::LoadTaskSets: %s";
|
|
||||||
|
|
||||||
char errbuf[MYSQL_ERRMSG_SIZE];
|
|
||||||
char* query = 0;
|
|
||||||
MYSQL_RES *result;
|
|
||||||
MYSQL_ROW row;
|
|
||||||
|
|
||||||
// Clear all task sets in memory. Done so we can reload them on the fly if required by just calling
|
// Clear all task sets in memory. Done so we can reload them on the fly if required by just calling
|
||||||
// this method again.
|
// this method again.
|
||||||
for(int i=0; i<MAXTASKSETS; i++) {
|
for(int i=0; i<MAXTASKSETS; i++)
|
||||||
TaskSets[i].clear();
|
TaskSets[i].clear();
|
||||||
}
|
|
||||||
|
|
||||||
if(database.RunQuery(query,MakeAnyLenString(&query,TaskSetQuery,MAXTASKSETS,MAXTASKS),errbuf,&result)) {
|
std::string query = StringFormat("SELECT `id`, `taskid` from `tasksets` "
|
||||||
|
"WHERE `id` > 0 AND `id` < %i "
|
||||||
while((row = mysql_fetch_row(result))) {
|
"AND `taskid` >= 0 AND `taskid` < %i "
|
||||||
int TaskSet = atoi(row[0]);
|
"ORDER BY `id`, `taskid` ASC",
|
||||||
int TaskID = atoi(row[1]);
|
MAXTASKSETS, MAXTASKS);
|
||||||
|
auto results = database.QueryDatabase(query);
|
||||||
TaskSets[TaskSet].push_back(TaskID);
|
if (!results.Success()) {
|
||||||
_log(TASKS__GLOBALLOAD, "Adding TaskID %4i to TaskSet %4i", TaskID, TaskSet);
|
LogFile->write(EQEMuLog::Error, "[TASKS]Error in TaskManager::LoadTaskSets: %s", results.ErrorMessage().c_str());
|
||||||
}
|
|
||||||
mysql_free_result(result);
|
|
||||||
safe_delete_array(query);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
LogFile->write(EQEMuLog::Error, ERR_MYSQLERROR, errbuf);
|
|
||||||
safe_delete_array(query);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
for (auto row = results.begin(); row != results.end(); ++row) {
|
||||||
|
int taskSet = atoi(row[0]);
|
||||||
|
int taskID = atoi(row[1]);
|
||||||
|
|
||||||
|
TaskSets[taskSet].push_back(taskID);
|
||||||
|
_log(TASKS__GLOBALLOAD, "Adding TaskID %4i to TaskSet %4i", taskID, taskSet);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TaskManager::LoadSingleTask(int TaskID) {
|
bool TaskManager::LoadSingleTask(int TaskID) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user