# HG changeset patch # User jbe # Date 1395850195 -3600 # Node ID bc94ea65757b8dfdf906997f1d1704019cb7d979 # Parent db9ccf3c05f4f256d785f5bf9aa4aa8786674666 Reconstruct battle data in update script to avoid future data loss when executing "clean_issue" to delete voting data diff -r db9ccf3c05f4 -r bc94ea65757b update/core-update.v3.0.0-v3.0.1.sql --- a/update/core-update.v3.0.0-v3.0.1.sql Wed Mar 26 14:45:49 2014 +0100 +++ b/update/core-update.v3.0.0-v3.0.1.sql Wed Mar 26 17:09:55 2014 +0100 @@ -71,6 +71,26 @@ WHERE "initiative"."admitted" AND "initiative"."id" = "subquery"."initiative_id"; +-- reconstruct battle data to avoid future data loss when +-- executing "clean_issue" to delete voting data: +INSERT INTO "battle" ( + "issue_id", + "winning_initiative_id", + "losing_initiative_id", + "count" + ) SELECT + "battle_view"."issue_id", + "battle_view"."winning_initiative_id", + "battle_view"."losing_initiative_id", + "battle_view"."count" + FROM "battle_view" + LEFT JOIN "battle" + ON "battle_view"."winning_initiative_id" = "battle"."winning_initiative_id" + AND "battle_view"."losing_initiative_id" = "battle"."losing_initiative_id" + -- NOTE: comparisons with status-quo are intentionally omitted to mark + -- issues that were counted prior LiquidFeedback Core v2.0.0 + WHERE "battle" ISNULL; + CREATE OR REPLACE FUNCTION "close_voting"("issue_id_p" "issue"."id"%TYPE) RETURNS VOID LANGUAGE 'plpgsql' VOLATILE AS $$