22 lines
458 B
PL/PgSQL
22 lines
458 B
PL/PgSQL
/* Updating a datapoint name also updates the jsonb array entry */
|
|
CREATE OR REPLACE FUNCTION update_triggers_datapoint_name()
|
|
RETURNS TRIGGER
|
|
LANGUAGE PLPGSQL
|
|
AS
|
|
$$
|
|
BEGIN
|
|
UPDATE "trigger"
|
|
SET
|
|
datapoints = (datapoints - OLD.name) || jsonb_build_array(NEW.name)
|
|
WHERE
|
|
datapoints ? OLD.name;
|
|
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
CREATE TRIGGER datapoint_renamed
|
|
AFTER UPDATE
|
|
ON public.datapoint
|
|
FOR EACH ROW
|
|
EXECUTE PROCEDURE update_triggers_datapoint_name();
|