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;