liquid_feedback_core

diff update/core-update.v1.2.9-v1.3.0.sql @ 94:fb9688f31740

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
line diff
     1.1 --- a/update/core-update.v1.2.9-v1.3.0.sql	Sun Oct 31 02:14:18 2010 +0200
     1.2 +++ b/update/core-update.v1.2.9-v1.3.0.sql	Sun Oct 31 02:38:05 2010 +0200
     1.3 @@ -274,6 +274,48 @@
     1.4  
     1.5  -- delete entries of "ignored_issue" table in "delete_member"(...) and "delete_private_data"() functions
     1.6  
     1.7 +CREATE OR REPLACE FUNCTION "clean_issue"("issue_id_p" "issue"."id"%TYPE)
     1.8 +  RETURNS VOID
     1.9 +  LANGUAGE 'plpgsql' VOLATILE AS $$
    1.10 +    DECLARE
    1.11 +      "issue_row" "issue"%ROWTYPE;
    1.12 +    BEGIN
    1.13 +      SELECT * INTO "issue_row"
    1.14 +        FROM "issue" WHERE "id" = "issue_id_p"
    1.15 +        FOR UPDATE;
    1.16 +      IF "issue_row"."cleaned" ISNULL THEN
    1.17 +        UPDATE "issue" SET
    1.18 +          "closed" = NULL,
    1.19 +          "ranks_available" = FALSE
    1.20 +          WHERE "id" = "issue_id_p";
    1.21 +        DELETE FROM "delegating_voter"
    1.22 +          WHERE "issue_id" = "issue_id_p";
    1.23 +        DELETE FROM "direct_voter"
    1.24 +          WHERE "issue_id" = "issue_id_p";
    1.25 +        DELETE FROM "delegating_interest_snapshot"
    1.26 +          WHERE "issue_id" = "issue_id_p";
    1.27 +        DELETE FROM "direct_interest_snapshot"
    1.28 +          WHERE "issue_id" = "issue_id_p";
    1.29 +        DELETE FROM "delegating_population_snapshot"
    1.30 +          WHERE "issue_id" = "issue_id_p";
    1.31 +        DELETE FROM "direct_population_snapshot"
    1.32 +          WHERE "issue_id" = "issue_id_p";
    1.33 +        DELETE FROM "ignored_issue"
    1.34 +          WHERE "issue_id" = "issue_id_p";
    1.35 +        DELETE FROM "delegation"
    1.36 +          WHERE "issue_id" = "issue_id_p";
    1.37 +        DELETE FROM "supporter"
    1.38 +          WHERE "issue_id" = "issue_id_p";
    1.39 +        UPDATE "issue" SET
    1.40 +          "closed"          = "issue_row"."closed",
    1.41 +          "ranks_available" = "issue_row"."ranks_available",
    1.42 +          "cleaned"         = now()
    1.43 +          WHERE "id" = "issue_id_p";
    1.44 +      END IF;
    1.45 +      RETURN;
    1.46 +    END;
    1.47 +  $$;
    1.48 +
    1.49  CREATE OR REPLACE FUNCTION "delete_member"("member_id_p" "member"."id"%TYPE)
    1.50    RETURNS VOID
    1.51    LANGUAGE 'plpgsql' VOLATILE AS $$
    1.52 @@ -316,8 +358,8 @@
    1.53        DELETE FROM "initiative_setting" WHERE "member_id" = "member_id_p";
    1.54        DELETE FROM "suggestion_setting" WHERE "member_id" = "member_id_p";
    1.55        DELETE FROM "membership"         WHERE "member_id" = "member_id_p";
    1.56 +      DELETE FROM "ignored_issue"      WHERE "member_id" = "member_id_p";
    1.57        DELETE FROM "delegation"         WHERE "truster_id" = "member_id_p";
    1.58 -      DELETE FROM "ignored_voting"     WHERE "member_id" = "member_id_p";
    1.59        DELETE FROM "direct_voter" USING "issue"
    1.60          WHERE "direct_voter"."issue_id" = "issue"."id"
    1.61          AND "issue"."closed" ISNULL
    1.62 @@ -367,7 +409,7 @@
    1.63        DELETE FROM "issue_setting";
    1.64        DELETE FROM "initiative_setting";
    1.65        DELETE FROM "suggestion_setting";
    1.66 -      DELETE FROM "ignored_voting";
    1.67 +      DELETE FROM "ignored_issue";
    1.68        DELETE FROM "direct_voter" USING "issue"
    1.69          WHERE "direct_voter"."issue_id" = "issue"."id"
    1.70          AND "issue"."closed" ISNULL;

Impressum / About Us