From db618fee383201b41c94080bd7defdacceb8cf29 Mon Sep 17 00:00:00 2001 From: Akkadius Date: Sun, 16 Feb 2025 20:51:30 -0600 Subject: [PATCH] Testing --- common/database/database_update_manifest.cpp | 5 +++-- common/database_instances.cpp | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/common/database/database_update_manifest.cpp b/common/database/database_update_manifest.cpp index 9eafdaaf6..f309bdd81 100644 --- a/common/database/database_update_manifest.cpp +++ b/common/database/database_update_manifest.cpp @@ -6847,10 +6847,8 @@ RENAME TABLE `expedition_lockouts` TO `dynamic_zone_lockouts`; .sql = R"( -- ✅ Drop old indexes DROP INDEX IF EXISTS `keys` ON `data_buckets`; -DROP INDEX IF EXISTS `idx_character_expires` ON `data_buckets`; DROP INDEX IF EXISTS `idx_npc_expires` ON `data_buckets`; DROP INDEX IF EXISTS `idx_bot_expires` ON `data_buckets`; -DROP INDEX IF EXISTS `idx_account_id_key` ON `data_buckets`; -- Add zone_id, instance_id ALTER TABLE `data_buckets` @@ -6867,6 +6865,9 @@ ALTER TABLE `data_buckets` -- ✅ Create optimized unique index with `key` first CREATE UNIQUE INDEX `keys` ON data_buckets (`key`, character_id, npc_id, bot_id, account_id, zone_id, instance_id); + +-- ✅ Create indexes for just instance_id (instance deletion) +CREATE INDEX idx_instance_id ON data_buckets (instance_id); )", .content_schema_update = false }, diff --git a/common/database_instances.cpp b/common/database_instances.cpp index 2e3b4fd0a..c595a0221 100644 --- a/common/database_instances.cpp +++ b/common/database_instances.cpp @@ -30,7 +30,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #include "../common/repositories/respawn_times_repository.h" #include "../common/repositories/spawn_condition_values_repository.h" #include "repositories/spawn2_disabled_repository.h" - +#include "repositories/data_buckets_repository.h" #include "database.h" @@ -479,6 +479,7 @@ void Database::DeleteInstance(uint16 instance_id) DynamicZoneMembersRepository::DeleteByInstance(*this, instance_id); DynamicZonesRepository::DeleteWhere(*this, fmt::format("instance_id = {}", instance_id)); CharacterCorpsesRepository::BuryInstance(*this, instance_id); + DataBucketsRepository::DeleteWhere(*this, fmt::format("instance_id = {}", instance_id)); } void Database::FlagInstanceByGroupLeader(uint32 zone_id, int16 version, uint32 character_id, uint32 group_id)