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;