liquid_feedback_core
changeset 570:4c40333dac66
Fill new columns "issue_quorum" and "initiative_quorum" of "issue" table in update script to version 4.0.0
author | jbe |
---|---|
date | Fri Sep 29 20:09:26 2017 +0200 (2017-09-29) |
parents | 622c71ca6428 |
children | ed3c3d8bd16b |
files | update/core-update.v3.2.2-v4.0.0.sql |
line diff
1.1 --- a/update/core-update.v3.2.2-v4.0.0.sql Fri Sep 29 19:37:49 2017 +0200 1.2 +++ b/update/core-update.v3.2.2-v4.0.0.sql Fri Sep 29 20:09:26 2017 +0200 1.3 @@ -579,6 +579,29 @@ 1.4 COMMENT ON COLUMN "issue"."population" IS 'Count of members in "snapshot_population" table with "snapshot_id" equal to "issue"."latest_snapshot_id"'; 1.5 1.6 1.7 +ALTER TABLE "issue" DISABLE TRIGGER USER; -- NOTE: required to modify table later 1.8 + 1.9 +UPDATE "issue" SET 1.10 + "issue_quorum" = ceil( 1.11 + ("subquery"."population"::INT8 * "policy"."issue_quorum_num"::INT8) / 1.12 + "policy"."issue_quorum_den"::FLOAT8 1.13 + ), 1.14 + "initiative_quorum" = ceil( 1.15 + ("issue"."population"::INT8 * "policy"."initiative_quorum_num"::INT8) / 1.16 + "policy"."initiative_quorum_den"::FLOAT8 1.17 + ) 1.18 + FROM ( 1.19 + SELECT "issue_id", sum("weight") AS "population" 1.20 + FROM "direct_population_snapshot" 1.21 + WHERE "event" = 'end_of_admission' 1.22 + GROUP BY "issue_id" 1.23 + ) AS "subquery", "policy" 1.24 + WHERE "issue"."id" = "subquery"."issue_id" 1.25 + AND "issue"."policy_id" = "policy"."id"; 1.26 + 1.27 +ALTER TABLE "issue" ENABLE TRIGGER USER; 1.28 + 1.29 + 1.30 ALTER TABLE "snapshot" ADD FOREIGN KEY ("issue_id") REFERENCES "issue" ("id") ON DELETE CASCADE ON UPDATE CASCADE; 1.31 1.32