aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Tools/CharacterDatabaseCleaner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Tools/CharacterDatabaseCleaner.cpp')
-rw-r--r--src/server/game/Tools/CharacterDatabaseCleaner.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/server/game/Tools/CharacterDatabaseCleaner.cpp b/src/server/game/Tools/CharacterDatabaseCleaner.cpp
index 4f67878885e..06956f865f3 100644
--- a/src/server/game/Tools/CharacterDatabaseCleaner.cpp
+++ b/src/server/game/Tools/CharacterDatabaseCleaner.cpp
@@ -36,12 +36,7 @@ void CharacterDatabaseCleaner::CleanDatabase()
uint32 oldMSTime = getMSTime();
- // check flags which clean ups are necessary
- QueryResult result = CharacterDatabase.PQuery("SELECT value FROM worldstates WHERE entry = %d", WS_CLEANING_FLAGS);
- if (!result)
- return;
-
- uint32 flags = (*result)[0].GetUInt32();
+ uint32 flags = sWorld->GetPersistentWorldVariable(World::CharacterDatabaseCleaningFlagsVarId);
// clean up
if (flags & CLEANING_FLAG_ACHIEVEMENT_PROGRESS)
@@ -62,7 +57,7 @@ void CharacterDatabaseCleaner::CleanDatabase()
// NOTE: In order to have persistentFlags be set in worldstates for the next cleanup,
// you need to define them at least once in worldstates.
flags &= sWorld->getIntConfig(CONFIG_PERSISTENT_CHARACTER_CLEAN_FLAGS);
- CharacterDatabase.DirectPExecute("UPDATE worldstates SET value = %u WHERE entry = %d", flags, WS_CLEANING_FLAGS);
+ sWorld->SetPersistentWorldVariable(World::CharacterDatabaseCleaningFlagsVarId, flags);
sWorld->SetCleaningFlags(flags);