@@ -338,7 +338,7 @@ LANGUAGE plpgsql set search_path FROM CURRENT;
338
338
CREATE FUNCTION _possible_args () RETURNS jsonb AS
339
339
$BODY$
340
340
BEGIN
341
- RETURN json_build_object (
341
+ RETURN jsonb_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 name IN 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 (cron text , command text , node text DEFAULT NULL ) RETURNS integer 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 (dt timestamp with time zone , command text , node text DEFAULT NULL ) RETURNS integer 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 (dts timestamp with time zone [], command text , node text DEFAULT NULL ) RETURNS integer 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 (cron text , commands text [], node text DEFAULT NULL ) RETURNS integer 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 (dt timestamp with time zone , commands text [], node text DEFAULT NULL ) RETURNS integer 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 (dts timestamp with time zone [], commands text [], node text DEFAULT NULL ) RETURNS integer 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 DEFINER set search_path FROM CURRENT;
798
798
799
+ CREATE FUNCTION set_job_attribute (jobId integer , name text , value jsonb) RETURNS boolean 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 DEFINER set search_path FROM CURRENT;
811
+
799
812
CREATE FUNCTION set_job_attribute (jobId integer , name text , value anyarray) RETURNS boolean 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
0 commit comments