liquid_feedback_core

diff core.sql @ 482:75130c1d90da

Bugfix in function "featured_initiative"
author jbe
date Fri Apr 01 17:13:46 2016 +0200 (2016-04-01)
parents 698559ebe9cd
children 39f37c2a0c85
line diff
     1.1 --- a/core.sql	Fri Apr 01 17:01:30 2016 +0200
     1.2 +++ b/core.sql	Fri Apr 01 17:13:46 2016 +0200
     1.3 @@ -2435,14 +2435,14 @@
     1.4    RETURNS SETOF "initiative"
     1.5    LANGUAGE 'plpgsql' STABLE AS $$
     1.6      DECLARE
     1.7 -      "sample_size_v"     INT4;
     1.8 +      "member_row"        "member"%ROWTYPE;
     1.9        "member_id_v"       "member"."id"%TYPE;
    1.10        "seed_v"            TEXT;
    1.11        "result_row"        "initiative"%ROWTYPE;
    1.12        "match_v"           BOOLEAN;
    1.13        "initiative_id_ary" INT4[];  --"initiative"."id"%TYPE[]
    1.14      BEGIN
    1.15 -      SELECT INTO "sample_size_v" "sample_size" FROM "member" WHERE "id" = "member_id_p";
    1.16 +      SELECT INTO "member_row" * FROM "member" WHERE "id" = "member_id_p";
    1.17        "initiative_id_ary" := '{}';
    1.18        LOOP
    1.19          "match_v" := FALSE;
    1.20 @@ -2450,7 +2450,7 @@
    1.21            SELECT * FROM (
    1.22              SELECT DISTINCT
    1.23                "supporter"."member_id",
    1.24 -              md5("member_id" || '-' || "member"."notification_counter" || '-' || "area_id_p") AS "seed"
    1.25 +              md5("member_id_p" || '-' || "member_row"."notification_counter" || '-' || "area_id_p" || '-' || "supporter"."member_id") AS "seed"
    1.26              FROM "supporter"
    1.27              JOIN "member" ON "member"."id" = "supporter"."member_id"
    1.28              JOIN "initiative" ON "initiative"."id" = "supporter"."initiative_id"
    1.29 @@ -2479,7 +2479,7 @@
    1.30              "match_v" := TRUE;
    1.31              "initiative_id_ary" := "initiative_id_ary" || "result_row"."id";
    1.32              RETURN NEXT "result_row";
    1.33 -            IF array_length("initiative_id_ary", 1) >= "sample_size_v" THEN
    1.34 +            IF array_length("initiative_id_ary", 1) >= "member_row""member_row"."sample_size" THEN
    1.35                RETURN;
    1.36              END IF;
    1.37            END IF;

Impressum / About Us