# HG changeset patch # User jbe # Date 1360518460 -3600 # Node ID 6529e423f8eb62ab94a8bf7fdd55ecef238a457e # Parent 5c98265b39a0a060bce247eef343691cf44c1d7f Bugfix regarding index usage (speeds up lf_update) diff -r 5c98265b39a0 -r 6529e423f8eb core.sql --- a/core.sql Sat Oct 06 23:34:03 2012 +0200 +++ b/core.sql Sun Feb 10 18:47:40 2013 +0100 @@ -3268,8 +3268,10 @@ WHERE "issue_id" = "issue_id_p" AND "event" = 'periodic'; DELETE FROM "direct_supporter_snapshot" - WHERE "issue_id" = "issue_id_p" - AND "event" = 'periodic'; + USING "initiative" -- NOTE: due to missing index on issue_id + WHERE "initiative"."issue_id" = "issue_id_p" + AND "direct_supporter_snapshot"."initiative_id" = "initiative"."id" + AND "direct_supporter_snapshot"."event" = 'periodic'; INSERT INTO "direct_interest_snapshot" ("issue_id", "event", "member_id") SELECT @@ -3539,7 +3541,10 @@ UPDATE "delegating_interest_snapshot" SET "event" = "event_p" WHERE "issue_id" = "issue_id_p" AND "event" = "event_v"; UPDATE "direct_supporter_snapshot" SET "event" = "event_p" - WHERE "issue_id" = "issue_id_p" AND "event" = "event_v"; + FROM "initiative" -- NOTE: due to missing index on issue_id + WHERE "initiative"."issue_id" = "issue_id_p" + AND "direct_supporter_snapshot"."initiative_id" = "initiative"."id" + AND "direct_supporter_snapshot"."event" = "event_v"; RETURN; END; $$; @@ -4343,7 +4348,9 @@ DELETE FROM "delegation" WHERE "issue_id" = "issue_id_p"; DELETE FROM "supporter" - WHERE "issue_id" = "issue_id_p"; + USING "initiative" + WHERE "initiative"."issue_id" = "issue_id_p" + AND "supporter"."initiative_id" = "initiative_id"; UPDATE "issue" SET "state" = "issue_row"."state", "closed" = "issue_row"."closed",