@@ -405,8 +405,11 @@ DECLARE
405405clean_cron jsonb;
406406Ninteger ;
407407nametext ;
408+ updatePrevboolean ;
408409BEGIN
409410
411+ updatePrev := true;
412+
410413IF NOT params?' cron' AND NOT params?' rule' AND NOT params?' date' AND NOT params?' dates' THEN
411414RAISE EXCEPTION' There is no information about job' ' s schedule'
412415USING HINT= ' Use' ' cron' ' - cron string,' ' rule' ' - json to set schedule rules or' ' date' ' and' ' dates' ' to set exact date(s)' ;
@@ -416,13 +419,11 @@ BEGIN
416419EXECUTE' SELECT cron2jsontext($1::cstring)::jsonb'
417420INTO cron
418421USING params- >> ' cron' ;
419- IF prevIS NOT NULL THEN
420- cron := prev|| cron;
421- END IF;
422422END IF;
423423
424424IF params?' rule' THEN
425425rule := params- > ' rule' ;
426+ updatePrev := false;
426427END IF;
427428
428429cron := coalesce(cron,' {}' ::jsonb)|| coalesce(rule,' {}' ::jsonb);
@@ -448,6 +449,10 @@ BEGIN
448449cron := cron|| jsonb_build_object(' dates' , array_to_json(dates));
449450END IF;
450451
452+ IF updatePrevAND prevIS NOT NULL THEN
453+ cron := prev|| cron;
454+ END IF;
455+
451456clean_cron := ' {}' ::jsonb;
452457FOR nameIN SELECT * FROM unnest(' {dates, crontab, onstart, days, hours, wdays, months, minutes}' ::text [])
453458LOOP