liquid_feedback_core
diff core.sql @ 70:5745db0b1a34
Removed subqueries which are unneccessary since last bugfix; Update script
| author | jbe |
|---|---|
| date | Mon Aug 30 22:10:45 2010 +0200 (2010-08-30) |
| parents | c65002c1a509 |
| children | dcaa1525c388 |
line diff
1.1 --- a/core.sql Mon Aug 30 22:01:08 2010 +0200 1.2 +++ b/core.sql Mon Aug 30 22:10:45 2010 +0200 1.3 @@ -1256,61 +1256,55 @@ 1.4 ------------------------------------------ 1.5 1.6 1.7 +CREATE VIEW "active_delegation" AS 1.8 + SELECT "delegation".* FROM "delegation" 1.9 + JOIN "member" ON "delegation"."truster_id" = "member"."id" 1.10 + WHERE "member"."active" = TRUE; 1.11 + 1.12 +COMMENT ON VIEW "active_delegation" IS 'Delegations where the truster_id refers to an active member'; 1.13 + 1.14 + 1.15 CREATE VIEW "global_delegation" AS 1.16 - SELECT 1.17 - "delegation"."id", 1.18 - "delegation"."truster_id", 1.19 - "delegation"."trustee_id" 1.20 - FROM "delegation" JOIN "member" 1.21 - ON "delegation"."truster_id" = "member"."id" 1.22 - WHERE "delegation"."scope" = 'global' AND "member"."active"; 1.23 + SELECT * FROM "active_delegation" WHERE "scope" = 'global'; 1.24 1.25 COMMENT ON VIEW "global_delegation" IS 'Global delegations from active members'; 1.26 1.27 1.28 CREATE VIEW "area_delegation" AS 1.29 - SELECT "subquery".* FROM ( 1.30 - SELECT DISTINCT ON ("area"."id", "delegation"."truster_id") 1.31 - "area"."id" AS "area_id", 1.32 - "delegation"."id", 1.33 - "delegation"."truster_id", 1.34 - "delegation"."trustee_id", 1.35 - "delegation"."scope" 1.36 - FROM "area" JOIN "delegation" 1.37 - ON "delegation"."scope" = 'global' 1.38 - OR "delegation"."area_id" = "area"."id" 1.39 - ORDER BY 1.40 - "area"."id", 1.41 - "delegation"."truster_id", 1.42 - "delegation"."scope" DESC 1.43 - ) AS "subquery" 1.44 - JOIN "member" ON "subquery"."truster_id" = "member"."id" 1.45 - WHERE "member"."active"; 1.46 - 1.47 -COMMENT ON VIEW "area_delegation" IS 'Active delegations for areas'; 1.48 + SELECT DISTINCT ON ("area"."id", "delegation"."truster_id") 1.49 + "area"."id" AS "area_id", 1.50 + "delegation"."id", 1.51 + "delegation"."truster_id", 1.52 + "delegation"."trustee_id", 1.53 + "delegation"."scope" 1.54 + FROM "area" JOIN "active_delegation" AS "delegation" 1.55 + ON "delegation"."scope" = 'global' 1.56 + OR "delegation"."area_id" = "area"."id" 1.57 + ORDER BY 1.58 + "area"."id", 1.59 + "delegation"."truster_id", 1.60 + "delegation"."scope" DESC; 1.61 + 1.62 +COMMENT ON VIEW "area_delegation" IS 'Resulting area delegations from active members'; 1.63 1.64 1.65 CREATE VIEW "issue_delegation" AS 1.66 - SELECT "subquery".* FROM ( 1.67 - SELECT DISTINCT ON ("issue"."id", "delegation"."truster_id") 1.68 - "issue"."id" AS "issue_id", 1.69 - "delegation"."id", 1.70 - "delegation"."truster_id", 1.71 - "delegation"."trustee_id", 1.72 - "delegation"."scope" 1.73 - FROM "issue" JOIN "delegation" 1.74 - ON "delegation"."scope" = 'global' 1.75 - OR "delegation"."area_id" = "issue"."area_id" 1.76 - OR "delegation"."issue_id" = "issue"."id" 1.77 - ORDER BY 1.78 - "issue"."id", 1.79 - "delegation"."truster_id", 1.80 - "delegation"."scope" DESC 1.81 - ) AS "subquery" 1.82 - JOIN "member" ON "subquery"."truster_id" = "member"."id" 1.83 - WHERE "member"."active"; 1.84 - 1.85 -COMMENT ON VIEW "issue_delegation" IS 'Active delegations for issues'; 1.86 + SELECT DISTINCT ON ("issue"."id", "delegation"."truster_id") 1.87 + "issue"."id" AS "issue_id", 1.88 + "delegation"."id", 1.89 + "delegation"."truster_id", 1.90 + "delegation"."trustee_id", 1.91 + "delegation"."scope" 1.92 + FROM "issue" JOIN "active_delegation" AS "delegation" 1.93 + ON "delegation"."scope" = 'global' 1.94 + OR "delegation"."area_id" = "issue"."area_id" 1.95 + OR "delegation"."issue_id" = "issue"."id" 1.96 + ORDER BY 1.97 + "issue"."id", 1.98 + "delegation"."truster_id", 1.99 + "delegation"."scope" DESC; 1.100 + 1.101 +COMMENT ON VIEW "issue_delegation" IS 'Resulting issue delegations from active members'; 1.102 1.103 1.104 CREATE FUNCTION "membership_weight_with_skipping"