[Database] Wrap PurgeExpiredInstances in a Transaction (#4824)

This commit is contained in:
Chris Miles 2025-03-30 17:03:57 -05:00 committed by GitHub
parent d9e57eca79
commit 803972873a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -579,6 +579,7 @@ void Database::PurgeExpiredInstances()
const auto ids = Strings::Implode(",", instance_ids);
TransactionBegin();
InstanceListRepository::DeleteWhere(*this, fmt::format("id IN ({})", ids));
InstanceListPlayerRepository::DeleteWhere(*this, fmt::format("id IN ({})", ids));
RespawnTimesRepository::DeleteWhere(*this, fmt::format("instance_id IN ({})", ids));
@ -591,6 +592,9 @@ void Database::PurgeExpiredInstances()
if (RuleB(Zone, StateSavingOnShutdown)) {
ZoneStateSpawnsRepository::DeleteWhere(*this, fmt::format("`instance_id` IN ({})", ids));
}
TransactionCommit();
LogInfo("Purged [{}] expired instances", l.size());
}
void Database::SetInstanceDuration(uint16 instance_id, uint32 new_duration)