liquid_feedback_core

changeset 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
files core.sql update/core-update.v3.1.0-v3.2.0.sql
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;
     2.1 --- a/update/core-update.v3.1.0-v3.2.0.sql	Fri Apr 01 17:01:30 2016 +0200
     2.2 +++ b/update/core-update.v3.1.0-v3.2.0.sql	Fri Apr 01 17:13:46 2016 +0200
     2.3 @@ -78,14 +78,14 @@
     2.4    RETURNS SETOF "initiative"
     2.5    LANGUAGE 'plpgsql' STABLE AS $$
     2.6      DECLARE
     2.7 -      "sample_size_v"     INT4;
     2.8 +      "member_row"        "member"%ROWTYPE;
     2.9        "member_id_v"       "member"."id"%TYPE;
    2.10        "seed_v"            TEXT;
    2.11        "result_row"        "initiative"%ROWTYPE;
    2.12        "match_v"           BOOLEAN;
    2.13        "initiative_id_ary" INT4[];  --"initiative"."id"%TYPE[]
    2.14      BEGIN
    2.15 -      SELECT INTO "sample_size_v" "sample_size" FROM "member" WHERE "id" = "member_id_p";
    2.16 +      SELECT INTO "member_row" * FROM "member" WHERE "id" = "member_id_p";
    2.17        "initiative_id_ary" := '{}';
    2.18        LOOP
    2.19          "match_v" := FALSE;
    2.20 @@ -93,7 +93,7 @@
    2.21            SELECT * FROM (
    2.22              SELECT DISTINCT
    2.23                "supporter"."member_id",
    2.24 -              md5("member_id" || '-' || "member"."notification_counter" || '-' || "area_id_p") AS "seed"
    2.25 +              md5("member_id_p" || '-' || "member_row"."notification_counter" || '-' || "area_id_p" || '-' || "supporter"."member_id") AS "seed"
    2.26              FROM "supporter"
    2.27              JOIN "member" ON "member"."id" = "supporter"."member_id"
    2.28              JOIN "initiative" ON "initiative"."id" = "supporter"."initiative_id"
    2.29 @@ -122,7 +122,7 @@
    2.30              "match_v" := TRUE;
    2.31              "initiative_id_ary" := "initiative_id_ary" || "result_row"."id";
    2.32              RETURN NEXT "result_row";
    2.33 -            IF array_length("initiative_id_ary", 1) >= "sample_size_v" THEN
    2.34 +            IF array_length("initiative_id_ary", 1) >= "member_row""member_row"."sample_size" THEN
    2.35                RETURN;
    2.36              END IF;
    2.37            END IF;

Impressum / About Us