liquid_feedback_core
annotate update/core-update.v1.0.1-v1.0.2.sql @ 378:e88d0606891f
Bugfix regarding "proportional_order" of suggestions:
Use NULL values explicitly to be sorted last
(includes new suggestions as well as suggestions without any individual rankings)
Use NULL values explicitly to be sorted last
(includes new suggestions as well as suggestions without any individual rankings)
author | jbe |
---|---|
date | Mon Mar 18 09:36:21 2013 +0100 (2013-03-18) |
parents | c45df7907da6 |
children |
rev | line source |
---|---|
jbe@50 | 1 BEGIN; |
jbe@50 | 2 |
jbe@50 | 3 CREATE OR REPLACE VIEW "liquid_feedback_version" AS |
jbe@50 | 4 SELECT * FROM (VALUES ('1.0.2', 1, 0, 2)) |
jbe@50 | 5 AS "subquery"("string", "major", "minor", "revision"); |
jbe@50 | 6 |
jbe@50 | 7 CREATE OR REPLACE FUNCTION "delete_member_data"("member_id_p" "member"."id"%TYPE) |
jbe@50 | 8 RETURNS VOID |
jbe@50 | 9 LANGUAGE 'plpgsql' VOLATILE AS $$ |
jbe@50 | 10 BEGIN |
jbe@50 | 11 UPDATE "member" SET |
jbe@50 | 12 "login" = NULL, |
jbe@50 | 13 "password" = NULL, |
jbe@50 | 14 "notify_email" = NULL, |
jbe@50 | 15 "notify_email_unconfirmed" = NULL, |
jbe@50 | 16 "notify_email_secret" = NULL, |
jbe@50 | 17 "notify_email_secret_expiry" = NULL, |
jbe@50 | 18 "password_reset_secret" = NULL, |
jbe@50 | 19 "password_reset_secret_expiry" = NULL, |
jbe@50 | 20 "organizational_unit" = NULL, |
jbe@50 | 21 "internal_posts" = NULL, |
jbe@50 | 22 "realname" = NULL, |
jbe@50 | 23 "birthday" = NULL, |
jbe@50 | 24 "address" = NULL, |
jbe@50 | 25 "email" = NULL, |
jbe@50 | 26 "xmpp_address" = NULL, |
jbe@50 | 27 "website" = NULL, |
jbe@50 | 28 "phone" = NULL, |
jbe@50 | 29 "mobile_phone" = NULL, |
jbe@50 | 30 "profession" = NULL, |
jbe@50 | 31 "external_memberships" = NULL, |
jbe@50 | 32 "external_posts" = NULL, |
jbe@50 | 33 "statement" = NULL |
jbe@50 | 34 WHERE "id" = "member_id_p"; |
jbe@50 | 35 -- "text_search_data" is updated by triggers |
jbe@50 | 36 UPDATE "member_history" SET "login" = NULL |
jbe@50 | 37 WHERE "member_id" = "member_id_p"; |
jbe@50 | 38 DELETE FROM "setting" WHERE "member_id" = "member_id_p"; |
jbe@50 | 39 DELETE FROM "setting_map" WHERE "member_id" = "member_id_p"; |
jbe@50 | 40 DELETE FROM "member_relation_setting" WHERE "member_id" = "member_id_p"; |
jbe@50 | 41 DELETE FROM "member_image" WHERE "member_id" = "member_id_p"; |
jbe@50 | 42 DELETE FROM "contact" WHERE "member_id" = "member_id_p"; |
jbe@50 | 43 DELETE FROM "delegation" WHERE "truster_id" = "member_id_p"; |
jbe@50 | 44 DELETE FROM "membership" WHERE "member_id" = "member_id_p"; |
jbe@50 | 45 DELETE FROM "area_setting" WHERE "member_id" = "member_id_p"; |
jbe@50 | 46 DELETE FROM "issue_setting" WHERE "member_id" = "member_id_p"; |
jbe@50 | 47 DELETE FROM "initiative_setting" WHERE "member_id" = "member_id_p"; |
jbe@50 | 48 DELETE FROM "suggestion_setting" WHERE "member_id" = "member_id_p"; |
jbe@50 | 49 RETURN; |
jbe@50 | 50 END; |
jbe@50 | 51 $$; |
jbe@50 | 52 |
jbe@50 | 53 CREATE OR REPLACE FUNCTION "delete_private_data"() |
jbe@50 | 54 RETURNS VOID |
jbe@50 | 55 LANGUAGE 'plpgsql' VOLATILE AS $$ |
jbe@50 | 56 BEGIN |
jbe@50 | 57 UPDATE "member" SET |
jbe@50 | 58 "login" = NULL, |
jbe@50 | 59 "password" = NULL, |
jbe@50 | 60 "notify_email" = NULL, |
jbe@50 | 61 "notify_email_unconfirmed" = NULL, |
jbe@50 | 62 "notify_email_secret" = NULL, |
jbe@50 | 63 "notify_email_secret_expiry" = NULL, |
jbe@50 | 64 "password_reset_secret" = NULL, |
jbe@50 | 65 "password_reset_secret_expiry" = NULL, |
jbe@50 | 66 "organizational_unit" = NULL, |
jbe@50 | 67 "internal_posts" = NULL, |
jbe@50 | 68 "realname" = NULL, |
jbe@50 | 69 "birthday" = NULL, |
jbe@50 | 70 "address" = NULL, |
jbe@50 | 71 "email" = NULL, |
jbe@50 | 72 "xmpp_address" = NULL, |
jbe@50 | 73 "website" = NULL, |
jbe@50 | 74 "phone" = NULL, |
jbe@50 | 75 "mobile_phone" = NULL, |
jbe@50 | 76 "profession" = NULL, |
jbe@50 | 77 "external_memberships" = NULL, |
jbe@50 | 78 "external_posts" = NULL, |
jbe@50 | 79 "statement" = NULL; |
jbe@50 | 80 -- "text_search_data" is updated by triggers |
jbe@50 | 81 UPDATE "member_history" SET "login" = NULL; |
jbe@50 | 82 DELETE FROM "setting"; |
jbe@50 | 83 DELETE FROM "setting_map"; |
jbe@50 | 84 DELETE FROM "member_relation_setting"; |
jbe@50 | 85 DELETE FROM "member_image"; |
jbe@50 | 86 DELETE FROM "contact"; |
jbe@50 | 87 DELETE FROM "area_setting"; |
jbe@50 | 88 DELETE FROM "issue_setting"; |
jbe@50 | 89 DELETE FROM "initiative_setting"; |
jbe@50 | 90 DELETE FROM "suggestion_setting"; |
jbe@50 | 91 DELETE FROM "invite_code"; |
jbe@50 | 92 DELETE FROM "session"; |
jbe@50 | 93 DELETE FROM "direct_voter" USING "issue" |
jbe@50 | 94 WHERE "direct_voter"."issue_id" = "issue"."id" |
jbe@50 | 95 AND "issue"."closed" ISNULL; |
jbe@50 | 96 RETURN; |
jbe@50 | 97 END; |
jbe@50 | 98 $$; |
jbe@50 | 99 |
jbe@50 | 100 COMMIT; |