PurgeExpiredInstances converted to QueryDatabase

This commit is contained in:
Arthur Ice 2014-07-06 14:30:38 -07:00 committed by Arthur Ice
parent 010bc76440
commit 3449f5e11c

View File

@ -2370,32 +2370,19 @@ bool Database::CreateInstance(uint16 instance_id, uint32 zone_id, uint32 version
void Database::PurgeExpiredInstances() void Database::PurgeExpiredInstances()
{ {
char errbuf[MYSQL_ERRMSG_SIZE]; char *query = nullptr;
char *query = 0;
MYSQL_RES *result;
MYSQL_ROW row;
uint16 id = 0; auto results = QueryDatabase(query, MakeAnyLenString(&query, "SELECT id FROM instance_list where (start_time+duration) <= UNIX_TIMESTAMP() and never_expires = 0"));
if (RunQuery(query, MakeAnyLenString(&query, "SELECT id FROM instance_list where "
"(start_time+duration) <= UNIX_TIMESTAMP() and never_expires = 0"), errbuf, &result))
{
safe_delete_array(query); safe_delete_array(query);
if (mysql_num_rows(result) > 0)
{ if (!results.Success())
row = mysql_fetch_row(result); return;
while(row != nullptr)
{ if (results.RowCount() == 0)
id = atoi(row[0]); return;
DeleteInstance(id);
row = mysql_fetch_row(result); for (auto row = results.begin();row != results.end();++row)
} DeleteInstance(atoi(row[0]));
}
mysql_free_result(result);
}
else
{
safe_delete_array(query);
}
} }
bool Database::AddClientToInstance(uint16 instance_id, uint32 char_id) bool Database::AddClientToInstance(uint16 instance_id, uint32 char_id)