liquid_feedback_core

changeset 94:fb9688f31740 v1.3.0

Corrected "delete_member" and "delete_private_data" functions to refer to "ignored_issue" table instead of non-existing "ignored_voting" table; Delete "ignored_issue" entries in "clean_issue" function as well
author jbe
date Sun Oct 31 02:38:05 2010 +0200 (2010-10-31)
parents 20be30c73831
children 625f88e41125
files core.sql update/core-update.v1.2.9-v1.3.0.sql
line diff
     1.1 --- a/core.sql	Sun Oct 31 02:14:18 2010 +0200
     1.2 +++ b/core.sql	Sun Oct 31 02:38:05 2010 +0200
     1.3 @@ -3327,6 +3327,8 @@
     1.4            WHERE "issue_id" = "issue_id_p";
     1.5          DELETE FROM "direct_population_snapshot"
     1.6            WHERE "issue_id" = "issue_id_p";
     1.7 +        DELETE FROM "ignored_issue"
     1.8 +          WHERE "issue_id" = "issue_id_p";
     1.9          DELETE FROM "delegation"
    1.10            WHERE "issue_id" = "issue_id_p";
    1.11          DELETE FROM "supporter"
    1.12 @@ -3386,8 +3388,8 @@
    1.13        DELETE FROM "initiative_setting" WHERE "member_id" = "member_id_p";
    1.14        DELETE FROM "suggestion_setting" WHERE "member_id" = "member_id_p";
    1.15        DELETE FROM "membership"         WHERE "member_id" = "member_id_p";
    1.16 +      DELETE FROM "ignored_issue"      WHERE "member_id" = "member_id_p";
    1.17        DELETE FROM "delegation"         WHERE "truster_id" = "member_id_p";
    1.18 -      DELETE FROM "ignored_voting"     WHERE "member_id" = "member_id_p";
    1.19        DELETE FROM "direct_voter" USING "issue"
    1.20          WHERE "direct_voter"."issue_id" = "issue"."id"
    1.21          AND "issue"."closed" ISNULL
    1.22 @@ -3440,7 +3442,7 @@
    1.23        DELETE FROM "issue_setting";
    1.24        DELETE FROM "initiative_setting";
    1.25        DELETE FROM "suggestion_setting";
    1.26 -      DELETE FROM "ignored_voting";
    1.27 +      DELETE FROM "ignored_issue";
    1.28        DELETE FROM "direct_voter" USING "issue"
    1.29          WHERE "direct_voter"."issue_id" = "issue"."id"
    1.30          AND "issue"."closed" ISNULL;
     2.1 --- a/update/core-update.v1.2.9-v1.3.0.sql	Sun Oct 31 02:14:18 2010 +0200
     2.2 +++ b/update/core-update.v1.2.9-v1.3.0.sql	Sun Oct 31 02:38:05 2010 +0200
     2.3 @@ -274,6 +274,48 @@
     2.4  
     2.5  -- delete entries of "ignored_issue" table in "delete_member"(...) and "delete_private_data"() functions
     2.6  
     2.7 +CREATE OR REPLACE FUNCTION "clean_issue"("issue_id_p" "issue"."id"%TYPE)
     2.8 +  RETURNS VOID
     2.9 +  LANGUAGE 'plpgsql' VOLATILE AS $$
    2.10 +    DECLARE
    2.11 +      "issue_row" "issue"%ROWTYPE;
    2.12 +    BEGIN
    2.13 +      SELECT * INTO "issue_row"
    2.14 +        FROM "issue" WHERE "id" = "issue_id_p"
    2.15 +        FOR UPDATE;
    2.16 +      IF "issue_row"."cleaned" ISNULL THEN
    2.17 +        UPDATE "issue" SET
    2.18 +          "closed" = NULL,
    2.19 +          "ranks_available" = FALSE
    2.20 +          WHERE "id" = "issue_id_p";
    2.21 +        DELETE FROM "delegating_voter"
    2.22 +          WHERE "issue_id" = "issue_id_p";
    2.23 +        DELETE FROM "direct_voter"
    2.24 +          WHERE "issue_id" = "issue_id_p";
    2.25 +        DELETE FROM "delegating_interest_snapshot"
    2.26 +          WHERE "issue_id" = "issue_id_p";
    2.27 +        DELETE FROM "direct_interest_snapshot"
    2.28 +          WHERE "issue_id" = "issue_id_p";
    2.29 +        DELETE FROM "delegating_population_snapshot"
    2.30 +          WHERE "issue_id" = "issue_id_p";
    2.31 +        DELETE FROM "direct_population_snapshot"
    2.32 +          WHERE "issue_id" = "issue_id_p";
    2.33 +        DELETE FROM "ignored_issue"
    2.34 +          WHERE "issue_id" = "issue_id_p";
    2.35 +        DELETE FROM "delegation"
    2.36 +          WHERE "issue_id" = "issue_id_p";
    2.37 +        DELETE FROM "supporter"
    2.38 +          WHERE "issue_id" = "issue_id_p";
    2.39 +        UPDATE "issue" SET
    2.40 +          "closed"          = "issue_row"."closed",
    2.41 +          "ranks_available" = "issue_row"."ranks_available",
    2.42 +          "cleaned"         = now()
    2.43 +          WHERE "id" = "issue_id_p";
    2.44 +      END IF;
    2.45 +      RETURN;
    2.46 +    END;
    2.47 +  $$;
    2.48 +
    2.49  CREATE OR REPLACE FUNCTION "delete_member"("member_id_p" "member"."id"%TYPE)
    2.50    RETURNS VOID
    2.51    LANGUAGE 'plpgsql' VOLATILE AS $$
    2.52 @@ -316,8 +358,8 @@
    2.53        DELETE FROM "initiative_setting" WHERE "member_id" = "member_id_p";
    2.54        DELETE FROM "suggestion_setting" WHERE "member_id" = "member_id_p";
    2.55        DELETE FROM "membership"         WHERE "member_id" = "member_id_p";
    2.56 +      DELETE FROM "ignored_issue"      WHERE "member_id" = "member_id_p";
    2.57        DELETE FROM "delegation"         WHERE "truster_id" = "member_id_p";
    2.58 -      DELETE FROM "ignored_voting"     WHERE "member_id" = "member_id_p";
    2.59        DELETE FROM "direct_voter" USING "issue"
    2.60          WHERE "direct_voter"."issue_id" = "issue"."id"
    2.61          AND "issue"."closed" ISNULL
    2.62 @@ -367,7 +409,7 @@
    2.63        DELETE FROM "issue_setting";
    2.64        DELETE FROM "initiative_setting";
    2.65        DELETE FROM "suggestion_setting";
    2.66 -      DELETE FROM "ignored_voting";
    2.67 +      DELETE FROM "ignored_issue";
    2.68        DELETE FROM "direct_voter" USING "issue"
    2.69          WHERE "direct_voter"."issue_id" = "issue"."id"
    2.70          AND "issue"."closed" ISNULL;

Impressum / About Us