Address PR review: check transaction/delete results, fix manifest, use distinct spell IDs in test

Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-03-08 23:54:04 +00:00
parent 4f4742b425
commit d0e1c027e9
3 changed files with 28 additions and 9 deletions
+22 -4
View File
@@ -2925,15 +2925,33 @@ void ZoneDatabase::SaveBuffs(Client *client)
v.emplace_back(e);
}
database.TransactionBegin();
const auto begin_result = database.QueryDatabase("START TRANSACTION");
if (!begin_result.Success()) {
LogError(
"Failed to begin buff save transaction for character [{}] [{}]: {}",
client->GetCleanName(),
client->CharacterID(),
begin_result.ErrorMessage()
);
return;
}
CharacterBuffsRepository::DeleteWhere(
database,
const auto delete_result = database.QueryDatabase(
fmt::format(
"`character_id` = {}",
"DELETE FROM `character_buffs` WHERE `character_id` = {}",
client->CharacterID()
)
);
if (!delete_result.Success()) {
database.TransactionRollback();
LogError(
"Failed to delete existing buffs for character [{}] [{}]: {}",
client->GetCleanName(),
client->CharacterID(),
delete_result.ErrorMessage()
);
return;
}
if (!v.empty()) {
const auto saved_count = CharacterBuffsRepository::ReplaceMany(database, v);