diff --git a/mysql/create_trigger.sql b/mysql/create_trigger.sql index 0833974e..f70082b8 100644 --- a/mysql/create_trigger.sql +++ b/mysql/create_trigger.sql @@ -87,17 +87,6 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job stats_total_real_sec = stats_total_real_sec + NEW.stats_real_sec WHERE group_id = NEW.group_id; - -- INQ(0) | ASSIGNED(100) | CANCELLING(989) -> CANCELLED(990) - ELSEIF NEW.job_status = 990 AND OLD.job_status IN (0, 100, 989) THEN - - SET NEW.date_start = NOW(); - SET NEW.date_end = NEW.date_start; - - UPDATE mxq_group SET - group_jobs_inq = group_jobs_inq - 1, - group_jobs_cancelled = group_jobs_cancelled + 1 - WHERE group_id = NEW.group_id; - -- LOADED(150) | RUNNING(200) -> UNKNOWN(999) ELSEIF NEW.job_status = 999 AND OLD.job_status IN (150, 200) THEN @@ -162,5 +151,17 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job END IF; END; | + +DROP TRIGGER IF EXISTS mxq_update_job2| +CREATE TRIGGER mxq_update_job2 BEFORE UPDATE ON mxq_job + FOR EACH ROW FOLLOWS mxq_update_job + IF NEW.job_status = 0 AND NEW.job_cancelled THEN + SET NEW.job_status = 990; -- CANCELLED + UPDATE mxq_group SET + group_jobs_inq = group_jobs_inq - 1, + group_jobs_cancelled = group_jobs_cancelled + 1 + WHERE group_id = NEW.group_id; + END IF; +| DELIMITER ; UNLOCK TABLES;