update create script for last version of mysqldump

This commit is contained in:
oliver 2016-03-06 11:47:22 +01:00
parent 2c21c628ae
commit 60036ea794

View file

@ -273,7 +273,7 @@ CREATE TABLE `cache_charactergroups` (
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_cache_charactergroups_insert`
AFTER INSERT ON cache_charactergroups
@ -292,7 +292,7 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_cache_charactergroups_update`
AFTER UPDATE ON cache_charactergroups
@ -361,7 +361,7 @@ CREATE TABLE `charactergroups` (
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroups_insert`
AFTER INSERT ON charactergroups
@ -457,7 +457,7 @@ CREATE TABLE `charactergroupsquests` (
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_update`
AFTER UPDATE ON charactergroupsquests
@ -495,7 +495,7 @@ CREATE TABLE `charactergroupsquests_groups` (
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_groups_insert`
AFTER INSERT ON charactergroupsquests_groups
@ -514,7 +514,7 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_groups_update`
AFTER UPDATE ON charactergroupsquests_groups
@ -534,7 +534,7 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_groups_delete`
AFTER DELETE ON charactergroupsquests_groups
@ -680,7 +680,7 @@ CREATE TABLE `characters` (
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_insert`
AFTER INSERT ON characters
@ -717,7 +717,7 @@ CREATE TABLE `characters_charactergroups` (
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_charactergroups_insert`
AFTER INSERT ON characters_charactergroups
@ -736,7 +736,7 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_charactergroups_update`
AFTER UPDATE ON characters_charactergroups
@ -756,7 +756,7 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_charactergroups_delete`
AFTER DELETE ON characters_charactergroups
@ -1091,7 +1091,7 @@ CREATE TABLE `quests` (
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_update`
AFTER UPDATE ON quests
@ -1131,7 +1131,7 @@ CREATE TABLE `quests_characters` (
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_characters_insert`
AFTER INSERT ON quests_characters
@ -1150,7 +1150,7 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_characters_update`
AFTER UPDATE ON quests_characters
@ -1170,7 +1170,7 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_characters_delete`
AFTER DELETE ON quests_characters
@ -2233,12 +2233,12 @@ CREATE TABLE `xplevels` (
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_xplevels_insert`
AFTER INSERT ON xplevels
FOR EACH ROW BEGIN
CALL update_cache_characters_xplevels(NEW.seminary_id, NEW.xps, NULL);
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_xplevels_insert`
AFTER INSERT ON xplevels
FOR EACH ROW BEGIN
CALL update_cache_characters_xplevels(NEW.seminary_id, NEW.xps, NULL);
END */;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;
@ -2252,12 +2252,12 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_xplevels_update`
AFTER UPDATE ON xplevels
FOR EACH ROW BEGIN
CALL update_cache_characters_xplevels(NEW.seminary_id, OLD.xps, NEW.xps);
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_xplevels_update`
AFTER UPDATE ON xplevels
FOR EACH ROW BEGIN
CALL update_cache_characters_xplevels(NEW.seminary_id, OLD.xps, NEW.xps);
END */;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;
@ -2271,12 +2271,12 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8mb4 */ ;
/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_xplevels_delete`
AFTER DELETE ON xplevels
FOR EACH ROW BEGIN
CALL update_cache_characters_xplevels(OLD.seminary_id, OLD.xps, NULL);
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_xplevels_delete`
AFTER DELETE ON xplevels
FOR EACH ROW BEGIN
CALL update_cache_characters_xplevels(OLD.seminary_id, OLD.xps, NULL);
END */;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;
@ -2362,52 +2362,52 @@ DELIMITER ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
DELIMITER ;;
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_characters`(
IN CHARACTERID INT(11)
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_characters`(
IN CHARACTERID INT(11)
)
BEGIN
DECLARE QUESTXPS INT UNSIGNED;
DECLARE GROUPSXPS INT UNSIGNED;
DECLARE TOTALXPS INT UNSIGNED;
DECLARE XPLEVELID INT;
DECLARE AVATARID INT;
SELECT IFNULL(SUM(quests.xps),0) INTO QUESTXPS
FROM quests_characters
LEFT JOIN quests ON quests.id = quests_characters.quest_id
WHERE quests_characters.character_id = CHARACTERID AND quests_characters.status = 3;
SELECT IFNULL(SUM(cache_charactergroups.xps),0) INTO GROUPSXPS
FROM characters_charactergroups
LEFT JOIN cache_charactergroups ON cache_charactergroups.charactergroup_id = characters_charactergroups.charactergroup_id
WHERE characters_charactergroups.character_id = CHARACTERID;
SET TOTALXPS = QUESTXPS + GROUPSXPS;
SELECT (
SELECT id
FROM xplevels
WHERE seminary_id = charactertypes.seminary_id AND xps = (
SELECT MAX(xplevels_sub.xps)
FROM xplevels AS xplevels_sub
WHERE xplevels_sub.seminary_id = charactertypes.seminary_id AND xps <= TOTALXPS
)
) INTO XPLEVELID
FROM characters
LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id
WHERE characters.id = CHARACTERID;
SELECT avatars.id INTO AVATARID
FROM characters
LEFT JOIN avatars ON avatars.charactertype_id = characters.charactertype_id AND avatars.xplevel_id = XPLEVELID
WHERE characters.id = CHARACTERID;
REPLACE INTO cache_characters
(character_id, xps, quest_xps, xplevel_id, avatar_id)
VALUES
(CHARACTERID, TOTALXPS, QUESTXPS, XPLEVELID, AVATARID);
BEGIN
DECLARE QUESTXPS INT UNSIGNED;
DECLARE GROUPSXPS INT UNSIGNED;
DECLARE TOTALXPS INT UNSIGNED;
DECLARE XPLEVELID INT;
DECLARE AVATARID INT;
SELECT IFNULL(SUM(quests.xps),0) INTO QUESTXPS
FROM quests_characters
LEFT JOIN quests ON quests.id = quests_characters.quest_id
WHERE quests_characters.character_id = CHARACTERID AND quests_characters.status = 3;
SELECT IFNULL(SUM(cache_charactergroups.xps),0) INTO GROUPSXPS
FROM characters_charactergroups
LEFT JOIN cache_charactergroups ON cache_charactergroups.charactergroup_id = characters_charactergroups.charactergroup_id
WHERE characters_charactergroups.character_id = CHARACTERID;
SET TOTALXPS = QUESTXPS + GROUPSXPS;
SELECT (
SELECT id
FROM xplevels
WHERE seminary_id = charactertypes.seminary_id AND xps = (
SELECT MAX(xplevels_sub.xps)
FROM xplevels AS xplevels_sub
WHERE xplevels_sub.seminary_id = charactertypes.seminary_id AND xps <= TOTALXPS
)
) INTO XPLEVELID
FROM characters
LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id
WHERE characters.id = CHARACTERID;
SELECT avatars.id INTO AVATARID
FROM characters
LEFT JOIN avatars ON avatars.charactertype_id = characters.charactertype_id AND avatars.xplevel_id = XPLEVELID
WHERE characters.id = CHARACTERID;
REPLACE INTO cache_characters
(character_id, xps, quest_xps, xplevel_id, avatar_id)
VALUES
(CHARACTERID, TOTALXPS, QUESTXPS, XPLEVELID, AVATARID);
END ;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;
@ -2498,38 +2498,38 @@ DELIMITER ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = '' */ ;
DELIMITER ;;
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_characters_xplevels`(
IN SEMINARYID INT(11),
IN XPS_LOWER INT(11),
IN XPS_UPPER INT(11)
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_characters_xplevels`(
IN SEMINARYID INT(11),
IN XPS_LOWER INT(11),
IN XPS_UPPER INT(11)
)
BEGIN
DECLARE CHARACTERID INT;
DECLARE done INT DEFAULT FALSE;
DECLARE characters_cursor CURSOR FOR
SELECT cache_characters.character_id
FROM charactertypes
INNER JOIN characters ON characters.charactertype_id = charactertypes.id
INNER JOIN cache_characters ON cache_characters.character_id = characters.id
WHERE charactertypes.seminary_id = SEMINARY_ID AND cache_characters.xps >= LEAST(XPS_LOWER, IFNULL(XPS_UPPER,XPS_LOWER)) AND (XPS_UPPER IS NULL OR cache_characters.xps <= GREATEST(XPS_LOWER, XPS_UPPER));
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
IF XPS_UPPER IS NULL THEN
SELECT MIN(xps) INTO XPS_UPPER
FROM xplevels
WHERE seminary_id = SEMINARYID AND xps > XPS_LOWER;
END IF;
SET done = 0;
OPEN characters_cursor;
get_characters: LOOP
FETCH characters_cursor INTO CHARACTERID;
IF done = TRUE THEN
LEAVE get_characters;
END IF;
CALL update_cache_characters(CHARACTERID);
END LOOP get_characters;
BEGIN
DECLARE CHARACTERID INT;
DECLARE done INT DEFAULT FALSE;
DECLARE characters_cursor CURSOR FOR
SELECT cache_characters.character_id
FROM charactertypes
INNER JOIN characters ON characters.charactertype_id = charactertypes.id
INNER JOIN cache_characters ON cache_characters.character_id = characters.id
WHERE charactertypes.seminary_id = SEMINARY_ID AND cache_characters.xps >= LEAST(XPS_LOWER, IFNULL(XPS_UPPER,XPS_LOWER)) AND (XPS_UPPER IS NULL OR cache_characters.xps <= GREATEST(XPS_LOWER, XPS_UPPER));
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
IF XPS_UPPER IS NULL THEN
SELECT MIN(xps) INTO XPS_UPPER
FROM xplevels
WHERE seminary_id = SEMINARYID AND xps > XPS_LOWER;
END IF;
SET done = 0;
OPEN characters_cursor;
get_characters: LOOP
FETCH characters_cursor INTO CHARACTERID;
IF done = TRUE THEN
LEAVE get_characters;
END IF;
CALL update_cache_characters(CHARACTERID);
END LOOP get_characters;
END ;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;