From 791687f2717ed3aace2f251146a4563b32f05706 Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Tue, 20 Feb 2024 14:27:22 +0100 Subject: [PATCH] refs #5878 feat: comments --- db/routines/util/events/vn_scheduler.sql | 4 ++++ db/routines/util/procedures/vn_scheduler.sql | 22 +++++++++++-------- .../vn/triggers/zoneIncluded_afterDelete.sql | 7 +++--- .../vn/triggers/zoneIncluded_beforeInsert.sql | 8 +++---- .../vn/triggers/zoneIncluded_beforeUpdate.sql | 6 ++--- 5 files changed, 27 insertions(+), 20 deletions(-) diff --git a/db/routines/util/events/vn_scheduler.sql b/db/routines/util/events/vn_scheduler.sql index e25741ac64..2d84574993 100644 --- a/db/routines/util/events/vn_scheduler.sql +++ b/db/routines/util/events/vn_scheduler.sql @@ -4,6 +4,10 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `VN_SCHEDULER` STARTS CURRENT_TIMESTAMP + INTERVAL 1 DAY ENABLE DO BEGIN + /** + * Ejecuta el PROCEDURE que comprueba si hay procedimientos planificados para ejecutar + * + */ CALL `VN_SCHEDULER`(); END$$ diff --git a/db/routines/util/procedures/vn_scheduler.sql b/db/routines/util/procedures/vn_scheduler.sql index 1ab72de390..2b65b20b01 100644 --- a/db/routines/util/procedures/vn_scheduler.sql +++ b/db/routines/util/procedures/vn_scheduler.sql @@ -1,20 +1,27 @@ DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `util`.`VN_SCHEDULER`() BEGIN +/** + * Ejecuta los procedimientos que se han programado a demanda. + * +*/ DECLARE vDone BOOL; DECLARE vError VARCHAR(255) DEFAULT NULL; DECLARE vErrorCode VARCHAR(255) DEFAULT NULL; DECLARE vSchema VARCHAR(255); DECLARE vStatus VARCHAR(255); DECLARE vProcedure VARCHAR(255); - -- DECLARE vLogMail VARCHAR(255); + DECLARE vScheduleFk INT; -- Obtener datos de la tabla vn_schedules DECLARE vQueue CURSOR FOR SELECT id, `schema`, `procedure`, `status` FROM vn_schedules WHERE status = 'scheduled'; - + DECLARE EXIT HANDLER FOR SQLEXCEPTION + GET DIAGNOSTICS CONDITION 1 + vError = MESSAGE_TEXT, + vErrorCode = RETURNED_SQLSTATE; OPEN vQueue; l: LOOP SET vDone = FALSE; @@ -32,10 +39,7 @@ BEGIN WHERE id = vScheduleFk; SET vError = NULL; - DECLARE EXIT HANDLER FOR SQLEXCEPTION - GET DIAGNOSTICS CONDITION 1 - vError = MESSAGE_TEXT, - vErrorCode = RETURNED_SQLSTATE; + CALL util.exec(CONCAT('CALL `', vSchema ,'`.`', vProcedure ,'`')); @@ -55,14 +59,14 @@ BEGIN UPDATE vn_schedules SET `error` = vError, finished = util.VN_NOW(), - lastFinished = util.VN_NOW() - `errorCode` = vErrorCode + lastFinished = util.VN_NOW(), + `errorCode` = vErrorCode, `status` = 'error' WHERE id = vScheduleFk; ELSE UPDATE vn_schedules SET `error` = vError, - `errorCode` = vErrorCode + `errorCode` = vErrorCode, finished = util.VN_NOW(), lastFinished = util.VN_NOW(), `status` = 'exec' diff --git a/db/routines/vn/triggers/zoneIncluded_afterDelete.sql b/db/routines/vn/triggers/zoneIncluded_afterDelete.sql index a46ba90606..1a076cd8f7 100644 --- a/db/routines/vn/triggers/zoneIncluded_afterDelete.sql +++ b/db/routines/vn/triggers/zoneIncluded_afterDelete.sql @@ -9,12 +9,11 @@ BEGIN `changedModelId` = OLD.zoneFk, `userFk` = account.myUser_getId(); - -- Activo el evento 'zone_getCollisions' - -- UPDATE `mysql`.`event` SET status = 1 WHERE name = 'zone_getCollisions'; + -- Inserta en vn_schedules para ejecutar el procedure de 'zone_getCollisions' + INSERT IGNORE INTO `util`.`vn_schedules`(`schema`, `procedure`) VALUES - (`vn`, `zone_getCollisions`); + ('vn', 'zone_getCollisions'); - -- Insert en vn_schedules 'zone_getCollisions' END$$ DELIMITER ; diff --git a/db/routines/vn/triggers/zoneIncluded_beforeInsert.sql b/db/routines/vn/triggers/zoneIncluded_beforeInsert.sql index 810546d917..13d45aa12a 100644 --- a/db/routines/vn/triggers/zoneIncluded_beforeInsert.sql +++ b/db/routines/vn/triggers/zoneIncluded_beforeInsert.sql @@ -1,15 +1,15 @@ DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`zoneIncluded_beforeInsert` BEFORE INSERT ON `zoneIncluded` + FOR EACH ROW BEGIN SET NEW.editorFk = account.myUser_getId(); - -- Activo el evento 'zone_getCollisions' - -- Insert en vn_schedulesla key 'zone_getCollisions' - -- ALTER EVENT zoneCollisions ENABLE; + -- Inserta en vn_schedules para ejecutar el procedure de 'zone_getCollisions' + INSERT IGNORE INTO `util`.`vn_schedules`(`schema`, `procedure`) VALUES - (`vn`, `zone_getCollisions`); + ('vn', 'zone_getCollisions'); END$$ DELIMITER ; diff --git a/db/routines/vn/triggers/zoneIncluded_beforeUpdate.sql b/db/routines/vn/triggers/zoneIncluded_beforeUpdate.sql index a5e0184b47..f54c55654b 100644 --- a/db/routines/vn/triggers/zoneIncluded_beforeUpdate.sql +++ b/db/routines/vn/triggers/zoneIncluded_beforeUpdate.sql @@ -5,10 +5,10 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`zoneIncluded_beforeUp BEGIN SET NEW.editorFk = account.myUser_getId(); - -- Activo el evento 'zone_getCollisions' -- Insert en vn_schedules 'zone_getCollisions' + -- Inserta en vn_schedules para ejecutar el procedure de 'zone_getCollisions' INSERT IGNORE INTO `util`.`vn_schedules`(`schema`, `procedure`) - VALUES - (`vn`, `zone_getCollisions`); + VALUES + ('vn', 'zone_getCollisions'); END$$ DELIMITER ;