mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 21:01:29 +00:00
[Database] Wrap PurgeExpiredInstances in a Transaction (#4824)
This commit is contained in:
parent
d9e57eca79
commit
803972873a
@ -579,6 +579,7 @@ void Database::PurgeExpiredInstances()
|
|||||||
|
|
||||||
const auto ids = Strings::Implode(",", instance_ids);
|
const auto ids = Strings::Implode(",", instance_ids);
|
||||||
|
|
||||||
|
TransactionBegin();
|
||||||
InstanceListRepository::DeleteWhere(*this, fmt::format("id IN ({})", ids));
|
InstanceListRepository::DeleteWhere(*this, fmt::format("id IN ({})", ids));
|
||||||
InstanceListPlayerRepository::DeleteWhere(*this, fmt::format("id IN ({})", ids));
|
InstanceListPlayerRepository::DeleteWhere(*this, fmt::format("id IN ({})", ids));
|
||||||
RespawnTimesRepository::DeleteWhere(*this, fmt::format("instance_id IN ({})", ids));
|
RespawnTimesRepository::DeleteWhere(*this, fmt::format("instance_id IN ({})", ids));
|
||||||
@ -591,6 +592,9 @@ void Database::PurgeExpiredInstances()
|
|||||||
if (RuleB(Zone, StateSavingOnShutdown)) {
|
if (RuleB(Zone, StateSavingOnShutdown)) {
|
||||||
ZoneStateSpawnsRepository::DeleteWhere(*this, fmt::format("`instance_id` IN ({})", ids));
|
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)
|
void Database::SetInstanceDuration(uint16 instance_id, uint32 new_duration)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user