@@ -338,7 +338,7 @@ LANGUAGE plpgsql set search_path FROM CURRENT;
338
338
CREATE FUNCTION _possible_args () RETURNS jsonbAS
339
339
$BODY$
340
340
BEGIN
341
- RETURNjson_build_object (
341
+ RETURNjsonb_build_object (
342
342
' node' ,' node name (default: master)' ,
343
343
' name' ,' job name' ,
344
344
' comments' ,' some comments on job' ,
@@ -437,9 +437,9 @@ BEGIN
437
437
IF N> 0 THEN
438
438
EXECUTE' SELECT array_agg(lll) FROM (SELECT distinct(date_trunc(' ' min' ' , unnest::timestamp with time zone)) as lll FROM unnest($1) ORDER BY date_trunc(' ' min' ' , unnest::timestamp with time zone)) as Z'
439
439
INTO dates USING dates;
440
- cron := COALESCE(cron,' {}' ::jsonb)|| json_build_object (' dates' , array_to_json(dates))::jsonb ;
440
+ cron := COALESCE(cron,' {}' ::jsonb)|| jsonb_build_object (' dates' , array_to_json(dates));
441
441
END IF;
442
-
442
+
443
443
clean_cron := ' {}' ::jsonb;
444
444
FOR nameIN SELECT * FROM unnest(' {dates, crontab, onstart, days, hours, wdays, months, minutes}' ::text [])
445
445
LOOP
@@ -635,7 +635,7 @@ LANGUAGE plpgsql
635
635
CREATE FUNCTION create_job (crontext , commandtext , nodetext DEFAULTNULL ) RETURNSinteger AS
636
636
$BODY$
637
637
BEGIN
638
- RETURN create_job(json_build_object (' cron' , cron,' command' , command,' node' , node)::jsonb );
638
+ RETURN create_job(jsonb_build_object (' cron' , cron,' command' , command,' node' , node));
639
639
END
640
640
$BODY$
641
641
LANGUAGE plpgsql
@@ -644,7 +644,7 @@ LANGUAGE plpgsql
644
644
CREATE FUNCTION create_job (dttimestamp with time zone , commandtext , nodetext DEFAULTNULL ) RETURNSinteger AS
645
645
$BODY$
646
646
BEGIN
647
- RETURN create_job(json_build_object (' date' , dt::text ,' command' , command,' node' , node)::jsonb );
647
+ RETURN create_job(jsonb_build_object (' date' , dt::text ,' command' , command,' node' , node));
648
648
END
649
649
$BODY$
650
650
LANGUAGE plpgsql
@@ -653,7 +653,7 @@ LANGUAGE plpgsql
653
653
CREATE FUNCTION create_job (dtstimestamp with time zone [], commandtext , nodetext DEFAULTNULL ) RETURNSinteger AS
654
654
$BODY$
655
655
BEGIN
656
- RETURN create_job(json_build_object (' dates' , array_to_json(dts),' command' , command,' node' , node)::jsonb );
656
+ RETURN create_job(jsonb_build_object (' dates' , array_to_json(dts),' command' , command,' node' , node));
657
657
END
658
658
$BODY$
659
659
LANGUAGE plpgsql
@@ -662,7 +662,7 @@ LANGUAGE plpgsql
662
662
CREATE FUNCTION create_job (crontext , commandstext [], nodetext DEFAULTNULL ) RETURNSinteger AS
663
663
$BODY$
664
664
BEGIN
665
- RETURN create_job(json_build_object (' cron' , cron,' commands' , array_to_json(commands),' node' , node)::jsonb );
665
+ RETURN create_job(jsonb_build_object (' cron' , cron,' commands' , array_to_json(commands),' node' , node));
666
666
END
667
667
$BODY$
668
668
LANGUAGE plpgsql
@@ -671,7 +671,7 @@ LANGUAGE plpgsql
671
671
CREATE FUNCTION create_job (dttimestamp with time zone , commandstext [], nodetext DEFAULTNULL ) RETURNSinteger AS
672
672
$BODY$
673
673
BEGIN
674
- RETURN create_job(json_build_object (' date' , dt::text ,' commands' , array_to_json(commands),' node' , node)::jsonb );
674
+ RETURN create_job(jsonb_build_object (' date' , dt::text ,' commands' , array_to_json(commands),' node' , node));
675
675
END
676
676
$BODY$
677
677
LANGUAGE plpgsql
@@ -680,7 +680,7 @@ LANGUAGE plpgsql
680
680
CREATE FUNCTION create_job (dtstimestamp with time zone [], commandstext [], nodetext DEFAULTNULL ) RETURNSinteger AS
681
681
$BODY$
682
682
BEGIN
683
- RETURN create_job(json_build_object (' dates' , array_to_json(dts),' commands' , array_to_json(commands),' node' , node)::jsonb );
683
+ RETURN create_job(jsonb_build_object (' dates' , array_to_json(dts),' commands' , array_to_json(commands),' node' , node));
684
684
END
685
685
$BODY$
686
686
LANGUAGE plpgsql
@@ -796,14 +796,27 @@ $BODY$
796
796
LANGUAGE plpgsql
797
797
SECURITY DEFINERset search_pathFROM CURRENT;
798
798
799
+ CREATE FUNCTION set_job_attribute (jobIdinteger , nametext , value jsonb) RETURNSboolean AS
800
+ $BODY$
801
+ BEGIN
802
+ IF name<> ' rule' THEN
803
+ RAISE EXCEPTION' key % cannot have a jsonb value. Only "rule" allowed' , name;
804
+ END IF;
805
+
806
+ RETURN set_job_attributes(jobId, jsonb_build_object(name, value));
807
+ END
808
+ $BODY$
809
+ LANGUAGE plpgsql
810
+ SECURITY DEFINERset search_pathFROM CURRENT;
811
+
799
812
CREATE FUNCTION set_job_attribute (jobIdinteger , nametext , value anyarray) RETURNSboolean AS
800
813
$BODY$
801
814
BEGIN
802
815
IF name<> ' dates' AND name<> ' commands' THEN
803
816
RAISE EXCEPTION' key % cannot have an array value. Only dates, commands allowed' , name;
804
817
END IF;
805
818
806
- RETURN set_job_attributes(jobId,json_build_object (name, array_to_json(value))::jsonb );
819
+ RETURN set_job_attributes(jobId,jsonb_build_object (name, array_to_json(value)));
807
820
END
808
821
$BODY$
809
822
LANGUAGE plpgsql
@@ -815,9 +828,11 @@ DECLARE
815
828
attrs jsonb;
816
829
BEGIN
817
830
IF name= ' dates' OR name= ' commands' THEN
818
- attrs := json_build_object(name, array_to_json(value::text []));
831
+ attrs := jsonb_build_object(name, array_to_json(value::text []));
832
+ ELSIF name= ' rule' THEN
833
+ attrs := jsonb_build_object(' rule' , value::jsonb);
819
834
ELSE
820
- attrs := json_build_object (name, value);
835
+ attrs := jsonb_build_object (name, value);
821
836
END IF;
822
837
RETURN set_job_attributes(jobId, attrs);
823
838
END