update database create-script
This commit is contained in:
parent
f947a7a4df
commit
3557ab7e33
1 changed files with 182 additions and 152 deletions
334
db/create.sql
334
db/create.sql
|
@ -1,8 +1,8 @@
|
|||
-- MySQL dump 10.15 Distrib 10.0.18-MariaDB, for Linux (x86_64)
|
||||
-- MySQL dump 10.15 Distrib 10.0.21-MariaDB, for Linux (x86_64)
|
||||
--
|
||||
-- Host: localhost Database: z
|
||||
-- ------------------------------------------------------
|
||||
-- Server version 10.0.18-MariaDB-log
|
||||
-- Server version 10.0.21-MariaDB-log
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
|
@ -275,8 +275,10 @@ CREATE TABLE `cache_charactergroups` (
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_cache_charactergroups_insert` AFTER INSERT ON `cache_charactergroups` FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters_charactergroup(NEW.charactergroup_id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_cache_charactergroups_insert`
|
||||
AFTER INSERT ON cache_charactergroups
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters_charactergroup(NEW.charactergroup_id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -292,8 +294,10 @@ DELIMITER ;
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_cache_charactergroups_update` AFTER UPDATE ON `cache_charactergroups` FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters_charactergroup(NEW.charactergroup_id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_cache_charactergroups_update`
|
||||
AFTER UPDATE ON cache_charactergroups
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters_charactergroup(NEW.charactergroup_id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -359,8 +363,10 @@ CREATE TABLE `charactergroups` (
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroups_insert` AFTER INSERT ON `charactergroups` FOR EACH ROW BEGIN
|
||||
CALL update_cache_charactergroups(NEW.id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroups_insert`
|
||||
AFTER INSERT ON charactergroups
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_charactergroups(NEW.id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -453,8 +459,10 @@ CREATE TABLE `charactergroupsquests` (
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_update` AFTER UPDATE ON `charactergroupsquests` FOR EACH ROW BEGIN
|
||||
CALL update_cache_charactergroups_charactergroupsquest(NEW.id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_update`
|
||||
AFTER UPDATE ON charactergroupsquests
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_charactergroups_charactergroupsquest(NEW.id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -489,8 +497,10 @@ CREATE TABLE `charactergroupsquests_groups` (
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_groups_insert` AFTER INSERT ON `charactergroupsquests_groups` FOR EACH ROW BEGIN
|
||||
CALL update_cache_charactergroups(NEW.charactergroup_id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_groups_insert`
|
||||
AFTER INSERT ON charactergroupsquests_groups
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_charactergroups(NEW.charactergroup_id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -506,9 +516,11 @@ DELIMITER ;
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_groups_update` AFTER UPDATE ON `charactergroupsquests_groups` FOR EACH ROW BEGIN
|
||||
CALL update_cache_charactergroups(OLD.charactergroup_id);
|
||||
CALL update_cache_charactergroups(NEW.charactergroup_id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_groups_update`
|
||||
AFTER UPDATE ON charactergroupsquests_groups
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_charactergroups(OLD.charactergroup_id);
|
||||
CALL update_cache_charactergroups(NEW.charactergroup_id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -524,8 +536,10 @@ DELIMITER ;
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_groups_delete` AFTER DELETE ON `charactergroupsquests_groups` FOR EACH ROW BEGIN
|
||||
CALL update_cache_charactergroups(OLD.charactergroup_id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_charactergroupsquests_groups_delete`
|
||||
AFTER DELETE ON charactergroupsquests_groups
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_charactergroups(OLD.charactergroup_id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -601,8 +615,10 @@ CREATE TABLE `characters` (
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_insert` AFTER INSERT ON `characters` FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(NEW.id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_insert`
|
||||
AFTER INSERT ON characters
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(NEW.id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -636,8 +652,10 @@ CREATE TABLE `characters_charactergroups` (
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_charactergroups_insert` AFTER INSERT ON `characters_charactergroups` FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(NEW.character_id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_charactergroups_insert`
|
||||
AFTER INSERT ON characters_charactergroups
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(NEW.character_id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -653,9 +671,11 @@ DELIMITER ;
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_charactergroups_update` AFTER UPDATE ON `characters_charactergroups` FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(OLD.character_id);
|
||||
CALL update_cache_characters(NEW.character_id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_charactergroups_update`
|
||||
AFTER UPDATE ON characters_charactergroups
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(OLD.character_id);
|
||||
CALL update_cache_characters(NEW.character_id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -671,8 +691,10 @@ DELIMITER ;
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_charactergroups_delete` AFTER DELETE ON `characters_charactergroups` FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(OLD.character_id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_characters_charactergroups_delete`
|
||||
AFTER DELETE ON characters_charactergroups
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(OLD.character_id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -981,8 +1003,10 @@ CREATE TABLE `quests` (
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_update` AFTER UPDATE ON `quests` FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters_quest(NEW.id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_update`
|
||||
AFTER UPDATE ON quests
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters_quest(NEW.id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -1019,8 +1043,10 @@ CREATE TABLE `quests_characters` (
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_characters_insert` AFTER INSERT ON `quests_characters` FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(NEW.character_id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_characters_insert`
|
||||
AFTER INSERT ON quests_characters
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(NEW.character_id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -1036,9 +1062,11 @@ DELIMITER ;
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_characters_update` AFTER UPDATE ON `quests_characters` FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(OLD.character_id);
|
||||
CALL update_cache_characters(NEW.character_id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_characters_update`
|
||||
AFTER UPDATE ON quests_characters
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(OLD.character_id);
|
||||
CALL update_cache_characters(NEW.character_id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -1054,8 +1082,10 @@ DELIMITER ;
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_characters_delete` AFTER DELETE ON `quests_characters` FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(OLD.character_id);
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`z`@`%`*/ /*!50003 TRIGGER `update_cache_quests_characters_delete`
|
||||
AFTER DELETE ON quests_characters
|
||||
FOR EACH ROW BEGIN
|
||||
CALL update_cache_characters(OLD.character_id);
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -1957,18 +1987,18 @@ CREATE TABLE `xplevels` (
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_charactergroups`(
|
||||
IN CHARACTERGROUPID INT(11)
|
||||
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_charactergroups`(
|
||||
IN CHARACTERGROUPID INT(11)
|
||||
)
|
||||
BEGIN
|
||||
/* XPs */
|
||||
REPLACE INTO cache_charactergroups
|
||||
(charactergroup_id, xps)
|
||||
SELECT charactergroups.id, IFNULL(SUM(ROUND(charactergroupsquests.xps * charactergroupsquests_groups.xps_factor)),0) AS xps
|
||||
FROM charactergroups
|
||||
LEFT JOIN charactergroupsquests_groups ON charactergroupsquests_groups.charactergroup_id = charactergroups.id
|
||||
LEFT JOIN charactergroupsquests ON charactergroupsquests.id = charactergroupsquests_groups.charactergroupsquest_id
|
||||
WHERE charactergroups.id = CHARACTERGROUPID;
|
||||
BEGIN
|
||||
|
||||
REPLACE INTO cache_charactergroups
|
||||
(charactergroup_id, xps)
|
||||
SELECT charactergroups.id, IFNULL(SUM(ROUND(charactergroupsquests.xps * charactergroupsquests_groups.xps_factor)),0) AS xps
|
||||
FROM charactergroups
|
||||
LEFT JOIN charactergroupsquests_groups ON charactergroupsquests_groups.charactergroup_id = charactergroups.id
|
||||
LEFT JOIN charactergroupsquests ON charactergroupsquests.id = charactergroupsquests_groups.charactergroupsquest_id
|
||||
WHERE charactergroups.id = CHARACTERGROUPID;
|
||||
END ;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -1985,27 +2015,27 @@ DELIMITER ;
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_charactergroups_charactergroupsquest`(
|
||||
IN CHARACTERGROUPSQUESTID INT(11)
|
||||
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_charactergroups_charactergroupsquest`(
|
||||
IN CHARACTERGROUPSQUESTID INT(11)
|
||||
)
|
||||
BEGIN
|
||||
DECLARE CHARACTERGROUPID INT;
|
||||
DECLARE done INT DEFAULT FALSE;
|
||||
DECLARE charactergroups_cursor CURSOR FOR
|
||||
SELECT charactergroup_id
|
||||
FROM charactergroupsquests_groups
|
||||
WHERE charactergroupsquest_id = CHARACTERGROUPSQUESTID;
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
||||
|
||||
SET done = 0;
|
||||
OPEN charactergroups_cursor;
|
||||
get_charactergroups: LOOP
|
||||
FETCH charactergroups_cursor INTO CHARACTERGROUPID;
|
||||
IF done = TRUE THEN
|
||||
LEAVE get_charactergroups;
|
||||
END IF;
|
||||
CALL update_cache_charactergroups(CHARACTERGROUPID);
|
||||
END LOOP get_charactergroups;
|
||||
BEGIN
|
||||
DECLARE CHARACTERGROUPID INT;
|
||||
DECLARE done INT DEFAULT FALSE;
|
||||
DECLARE charactergroups_cursor CURSOR FOR
|
||||
SELECT charactergroup_id
|
||||
FROM charactergroupsquests_groups
|
||||
WHERE charactergroupsquest_id = CHARACTERGROUPSQUESTID;
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
||||
|
||||
SET done = 0;
|
||||
OPEN charactergroups_cursor;
|
||||
get_charactergroups: LOOP
|
||||
FETCH charactergroups_cursor INTO CHARACTERGROUPID;
|
||||
IF done = TRUE THEN
|
||||
LEAVE get_charactergroups;
|
||||
END IF;
|
||||
CALL update_cache_charactergroups(CHARACTERGROUPID);
|
||||
END LOOP get_charactergroups;
|
||||
END ;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -2022,52 +2052,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;
|
||||
|
||||
/* XPs */
|
||||
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;
|
||||
|
||||
/* XP-level */
|
||||
SELECT (
|
||||
SELECT id
|
||||
FROM xplevels
|
||||
WHERE seminary_id = charactertypes.seminary_id AND xps = (
|
||||
SELECT MAX(xps)
|
||||
FROM xplevels AS xplevels_sub
|
||||
WHERE xps <= TOTALXPS
|
||||
)
|
||||
) INTO XPLEVELID
|
||||
FROM characters
|
||||
LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id
|
||||
WHERE characters.id = CHARACTERID;
|
||||
|
||||
/* Avatar */
|
||||
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;
|
||||
|
||||
/* Set values */
|
||||
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(xps)
|
||||
FROM xplevels AS xplevels_sub
|
||||
WHERE 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 */ ;
|
||||
|
@ -2084,27 +2114,27 @@ DELIMITER ;
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_characters_charactergroup`(
|
||||
IN CHARACTERGROUPID INT(11)
|
||||
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_characters_charactergroup`(
|
||||
IN CHARACTERGROUPID INT(11)
|
||||
)
|
||||
BEGIN
|
||||
DECLARE CHARACTERID INT;
|
||||
DECLARE done INT DEFAULT FALSE;
|
||||
DECLARE characters_cursor CURSOR FOR
|
||||
SELECT character_id
|
||||
FROM characters_charactergroups
|
||||
WHERE charactergroup_id = CHARACTERGROUPID;
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
||||
|
||||
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 character_id
|
||||
FROM characters_charactergroups
|
||||
WHERE charactergroup_id = CHARACTERGROUPID;
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
||||
|
||||
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 */ ;
|
||||
|
@ -2121,27 +2151,27 @@ DELIMITER ;
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_characters_quest`(
|
||||
IN QUESTID INT(11)
|
||||
CREATE DEFINER=`z`@`%` PROCEDURE `update_cache_characters_quest`(
|
||||
IN QUESTID INT(11)
|
||||
)
|
||||
BEGIN
|
||||
DECLARE CHARACTERID INT;
|
||||
DECLARE done INT DEFAULT FALSE;
|
||||
DECLARE characters_cursor CURSOR FOR
|
||||
SELECT character_id
|
||||
FROM quests_characters
|
||||
WHERE quest_id = QUESTID AND status = 3;
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
||||
|
||||
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 character_id
|
||||
FROM quests_characters
|
||||
WHERE quest_id = QUESTID AND status = 3;
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
|
||||
|
||||
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 */ ;
|
||||
|
@ -2158,4 +2188,4 @@ DELIMITER ;
|
|||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2015-05-19 11:52:32
|
||||
-- Dump completed on 2015-08-19 21:42:23
|
||||
|
|
Loading…
Add table
Reference in a new issue