liquid_feedback_core
changeset 292:3de42ea02dc2
No "issue_quorum" for polling policies
author | jbe |
---|---|
date | Mon Aug 20 13:22:33 2012 +0200 (2012-08-20) |
parents | 86f231bd6906 |
children | 9ab561a91035 |
files | core.sql update/core-update.v2.0.11-v2.1.0.sql |
line diff
1.1 --- a/core.sql Mon Aug 20 03:28:45 2012 +0200 1.2 +++ b/core.sql Mon Aug 20 13:22:33 2012 +0200 1.3 @@ -337,8 +337,8 @@ 1.4 "discussion_time" INTERVAL, 1.5 "verification_time" INTERVAL, 1.6 "voting_time" INTERVAL, 1.7 - "issue_quorum_num" INT4 NOT NULL, 1.8 - "issue_quorum_den" INT4 NOT NULL, 1.9 + "issue_quorum_num" INT4, 1.10 + "issue_quorum_den" INT4, 1.11 "initiative_quorum_num" INT4 NOT NULL, 1.12 "initiative_quorum_den" INT4 NOT NULL, 1.13 "direct_majority_num" INT4 NOT NULL DEFAULT 1, 1.14 @@ -362,7 +362,10 @@ 1.15 "verification_time" NOTNULL AND "voting_time" NOTNULL ) OR 1.16 ( "polling" = TRUE AND 1.17 "admission_time" ISNULL AND "discussion_time" ISNULL AND 1.18 - "verification_time" ISNULL AND "voting_time" ISNULL ) ) ); 1.19 + "verification_time" ISNULL AND "voting_time" ISNULL ) ), 1.20 + CONSTRAINT "issue_quorum_if_and_only_if_not_polling" CHECK ( 1.21 + "polling" = "issue_quorum_num" ISNULL AND 1.22 + "polling" = "issue_quorum_den" ISNULL ) ); 1.23 CREATE INDEX "policy_active_idx" ON "policy" ("active"); 1.24 1.25 COMMENT ON TABLE "policy" IS 'Policies for a particular proceeding type (timelimits, quorum)';
2.1 --- a/update/core-update.v2.0.11-v2.1.0.sql Mon Aug 20 03:28:45 2012 +0200 2.2 +++ b/update/core-update.v2.0.11-v2.1.0.sql Mon Aug 20 13:22:33 2012 +0200 2.3 @@ -21,6 +21,8 @@ 2.4 ALTER TABLE "policy" ALTER COLUMN "discussion_time" DROP NOT NULL; 2.5 ALTER TABLE "policy" ALTER COLUMN "verification_time" DROP NOT NULL; 2.6 ALTER TABLE "policy" ALTER COLUMN "voting_time" DROP NOT NULL; 2.7 +ALTER TABLE "policy" ALTER COLUMN "issue_quorum_num" DROP NOT NULL; 2.8 +ALTER TABLE "policy" ALTER COLUMN "issue_quorum_den" DROP NOT NULL; 2.9 ALTER TABLE "policy" ADD CONSTRAINT "timing" CHECK ( 2.10 ( "polling" = FALSE AND 2.11 "admission_time" NOTNULL AND "discussion_time" NOTNULL AND 2.12 @@ -31,6 +33,9 @@ 2.13 ( "polling" = TRUE AND 2.14 "admission_time" ISNULL AND "discussion_time" ISNULL AND 2.15 "verification_time" ISNULL AND "voting_time" ISNULL ) ); 2.16 +ALTER TABLE "policy" ADD CONSTRAINT "issue_quorum_if_and_only_if_not_polling" CHECK ( 2.17 + "polling" = "issue_quorum_num" ISNULL AND 2.18 + "polling" = "issue_quorum_den" ISNULL ); 2.19 COMMENT ON COLUMN "policy"."polling" IS 'TRUE = special policy for non-user-generated issues without issue quorum, where certain initiatives (those having the "polling" flag set) do not need to pass the initiative quorum; "admission_time" MUST be set to NULL, the other timings may be set to NULL altogether, allowing individual timing for those issues'; 2.20 2.21 ALTER TABLE "issue" ALTER COLUMN "admission_time" DROP NOT NULL;