aboutsummaryrefslogtreecommitdiff
path: root/sql/updates
diff options
context:
space:
mode:
authorlinencloth <none@none>2010-12-26 04:16:18 +0100
committerlinencloth <none@none>2010-12-26 04:16:18 +0100
commitb150172521636fa5646489688e53d03f0773b9be (patch)
treeb078947617c1deead6699123567e8beabdb2477b /sql/updates
parent8fdbe7c4e69f5b0a8eb907aa76cc2afd2b297cd3 (diff)
Core/QuestStatus:
- Separate rewarded quests from active quests, and store them in a new table to reduce database size - Drop the no longer needed `rewarded` column from character_queststatus for smaller table size - Prevent filling the database with dropped quests - Delete useless records - Implement queststatus save "queues" instead of states - Minor optimizations WARNING: Backup your database! --HG-- branch : trunk
Diffstat (limited to 'sql/updates')
-rw-r--r--sql/updates/10828_characters_character_queststatus.sql13
1 files changed, 13 insertions, 0 deletions
diff --git a/sql/updates/10828_characters_character_queststatus.sql b/sql/updates/10828_characters_character_queststatus.sql
new file mode 100644
index 00000000000..88681714a86
--- /dev/null
+++ b/sql/updates/10828_characters_character_queststatus.sql
@@ -0,0 +1,13 @@
+DELETE FROM character_queststatus WHERE `status` = 0;
+
+DROP TABLE IF EXISTS `character_queststatus_rewarded`;
+CREATE TABLE `character_queststatus_rewarded` (
+ `guid` int(10) unsigned NOT NULL default '0' COMMENT 'Global Unique Identifier',
+ `quest` int(10) unsigned NOT NULL default '0' COMMENT 'Quest Identifier',
+ PRIMARY KEY (`guid`,`quest`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Player System';
+
+INSERT INTO character_queststatus_rewarded SELECT guid, quest FROM character_queststatus WHERE rewarded = 1;
+DELETE FROM character_queststatus WHERE rewarded = 1;
+
+ALTER TABLE character_queststatus DROP COLUMN rewarded;