liquid_feedback_core

changeset 538:1bc3dfe5823e

Implementation of unit/area/policy event triggers
author jbe
date Mon Jun 26 16:45:54 2017 +0200 (2017-06-26)
parents aa261389c993
children eaa330e4c0fb
files core.sql update/core-update.v3.2.2-v4.0.0.sql
line diff
     1.1 --- a/core.sql	Mon Jun 26 16:20:36 2017 +0200
     1.2 +++ b/core.sql	Mon Jun 26 16:45:54 2017 +0200
     1.3 @@ -1785,7 +1785,21 @@
     1.4  CREATE FUNCTION "write_event_unit_trigger"()
     1.5    RETURNS TRIGGER
     1.6    LANGUAGE 'plpgsql' VOLATILE AS $$
     1.7 +    DECLARE
     1.8 +      "event_v" "event_type";
     1.9      BEGIN
    1.10 +      IF TG_OP = 'UPDATE' THEN
    1.11 +        IF OLD."active" = FALSE AND NEW."active" = FALSE THEN
    1.12 +          RETURN NULL;
    1.13 +        ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN
    1.14 +          "event_v" := 'unit_removed';
    1.15 +        ELSE
    1.16 +          "event_v" := 'unit_updated';
    1.17 +        END IF;
    1.18 +      ELSE
    1.19 +        "event_v" := 'unit_created';
    1.20 +      END IF;
    1.21 +      INSERT INTO "event" ("event", "unit_id") VALUES ("event_v", NEW."id");
    1.22        RETURN NULL;
    1.23      END;
    1.24    $$;
    1.25 @@ -1800,7 +1814,21 @@
    1.26  CREATE FUNCTION "write_event_area_trigger"()
    1.27    RETURNS TRIGGER
    1.28    LANGUAGE 'plpgsql' VOLATILE AS $$
    1.29 +    DECLARE
    1.30 +      "event_v" "event_type";
    1.31      BEGIN
    1.32 +      IF TG_OP = 'UPDATE' THEN
    1.33 +        IF OLD."active" = FALSE AND NEW."active" = FALSE THEN
    1.34 +          RETURN NULL;
    1.35 +        ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN
    1.36 +          "event_v" := 'area_removed';
    1.37 +        ELSE
    1.38 +          "event_v" := 'area_updated';
    1.39 +        END IF;
    1.40 +      ELSE
    1.41 +        "event_v" := 'area_created';
    1.42 +      END IF;
    1.43 +      INSERT INTO "event" ("event", "area_id") VALUES ("event_v", NEW."id");
    1.44        RETURN NULL;
    1.45      END;
    1.46    $$;
    1.47 @@ -1815,7 +1843,21 @@
    1.48  CREATE FUNCTION "write_event_policy_trigger"()
    1.49    RETURNS TRIGGER
    1.50    LANGUAGE 'plpgsql' VOLATILE AS $$
    1.51 +    DECLARE
    1.52 +      "event_v" "event_type";
    1.53      BEGIN
    1.54 +      IF TG_OP = 'UPDATE' THEN
    1.55 +        IF OLD."active" = FALSE AND NEW."active" = FALSE THEN
    1.56 +          RETURN NULL;
    1.57 +        ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN
    1.58 +          "event_v" := 'policy_removed';
    1.59 +        ELSE
    1.60 +          "event_v" := 'policy_updated';
    1.61 +        END IF;
    1.62 +      ELSE
    1.63 +        "event_v" := 'policy_created';
    1.64 +      END IF;
    1.65 +      INSERT INTO "event" ("event", "policy_id") VALUES ("event_v", NEW."id");
    1.66        RETURN NULL;
    1.67      END;
    1.68    $$;
     2.1 --- a/update/core-update.v3.2.2-v4.0.0.sql	Mon Jun 26 16:20:36 2017 +0200
     2.2 +++ b/update/core-update.v3.2.2-v4.0.0.sql	Mon Jun 26 16:45:54 2017 +0200
     2.3 @@ -944,7 +944,21 @@
     2.4  CREATE FUNCTION "write_event_unit_trigger"()
     2.5    RETURNS TRIGGER
     2.6    LANGUAGE 'plpgsql' VOLATILE AS $$
     2.7 +    DECLARE
     2.8 +      "event_v" "event_type";
     2.9      BEGIN
    2.10 +      IF TG_OP = 'UPDATE' THEN
    2.11 +        IF OLD."active" = FALSE AND NEW."active" = FALSE THEN
    2.12 +          RETURN NULL;
    2.13 +        ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN
    2.14 +          "event_v" := 'unit_removed';
    2.15 +        ELSE
    2.16 +          "event_v" := 'unit_updated';
    2.17 +        END IF;
    2.18 +      ELSE
    2.19 +        "event_v" := 'unit_created';
    2.20 +      END IF;
    2.21 +      INSERT INTO "event" ("event", "unit_id") VALUES ("event_v", NEW."id");
    2.22        RETURN NULL;
    2.23      END;
    2.24    $$;
    2.25 @@ -959,7 +973,21 @@
    2.26  CREATE FUNCTION "write_event_area_trigger"()
    2.27    RETURNS TRIGGER
    2.28    LANGUAGE 'plpgsql' VOLATILE AS $$
    2.29 +    DECLARE
    2.30 +      "event_v" "event_type";
    2.31      BEGIN
    2.32 +      IF TG_OP = 'UPDATE' THEN
    2.33 +        IF OLD."active" = FALSE AND NEW."active" = FALSE THEN
    2.34 +          RETURN NULL;
    2.35 +        ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN
    2.36 +          "event_v" := 'area_removed';
    2.37 +        ELSE
    2.38 +          "event_v" := 'area_updated';
    2.39 +        END IF;
    2.40 +      ELSE
    2.41 +        "event_v" := 'area_created';
    2.42 +      END IF;
    2.43 +      INSERT INTO "event" ("event", "area_id") VALUES ("event_v", NEW."id");
    2.44        RETURN NULL;
    2.45      END;
    2.46    $$;
    2.47 @@ -974,7 +1002,21 @@
    2.48  CREATE FUNCTION "write_event_policy_trigger"()
    2.49    RETURNS TRIGGER
    2.50    LANGUAGE 'plpgsql' VOLATILE AS $$
    2.51 +    DECLARE
    2.52 +      "event_v" "event_type";
    2.53      BEGIN
    2.54 +      IF TG_OP = 'UPDATE' THEN
    2.55 +        IF OLD."active" = FALSE AND NEW."active" = FALSE THEN
    2.56 +          RETURN NULL;
    2.57 +        ELSIF OLD."active" = TRUE AND NEW."active" = FALSE THEN
    2.58 +          "event_v" := 'policy_removed';
    2.59 +        ELSE
    2.60 +          "event_v" := 'policy_updated';
    2.61 +        END IF;
    2.62 +      ELSE
    2.63 +        "event_v" := 'policy_created';
    2.64 +      END IF;
    2.65 +      INSERT INTO "event" ("event", "policy_id") VALUES ("event_v", NEW."id");
    2.66        RETURN NULL;
    2.67      END;
    2.68    $$;

Impressum / About Us