# HG changeset patch # User jbe # Date 1381584815 -7200 # Node ID 782eb17c7ad93dc3299b2ea0a933702af6f44ebb # Parent db863178d98b3581e562fbf0bb21cc4f9c8ee086 Remove referential integrity from "issue_order" table to avoid performance/locking issues diff -r db863178d98b -r 782eb17c7ad9 core.sql --- a/core.sql Fri Oct 11 20:50:16 2013 +0200 +++ b/core.sql Sat Oct 12 15:33:35 2013 +0200 @@ -607,12 +607,13 @@ CREATE TABLE "issue_order" ( - "id" INT8 PRIMARY KEY REFERENCES "issue" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id" INT8 PRIMARY KEY, --REFERENCES "issue" ("id") ON DELETE CASCADE ON UPDATE CASCADE, "order_in_admission_state" INT4, "order_in_open_states" INT4 ); COMMENT ON TABLE "issue_order" IS 'Ordering information for issues that are not stored in the "issue" table to avoid locking of multiple issues at once'; +COMMENT ON COLUMN "issue_order"."id" IS 'References "issue" ("id") but has no referential integrity trigger associated, due to performance/locking issues'; COMMENT ON COLUMN "issue_order"."order_in_admission_state" IS 'To be used for sorting issues within an area, when showing only issues in admission state; NULL values sort last; updated by "lf_update_issue_order"'; COMMENT ON COLUMN "issue_order"."order_in_open_states" IS 'To be used for sorting issues within an area, when showing all open issues; NULL values sort last; updated by "lf_update_issue_order"'; diff -r db863178d98b -r 782eb17c7ad9 update/core-update.v2.2.5-v2.2.6.sql --- a/update/core-update.v2.2.5-v2.2.6.sql Fri Oct 11 20:50:16 2013 +0200 +++ b/update/core-update.v2.2.5-v2.2.6.sql Sat Oct 12 15:33:35 2013 +0200 @@ -5,12 +5,13 @@ AS "subquery"("string", "major", "minor", "revision"); CREATE TABLE "issue_order" ( - "id" INT8 PRIMARY KEY REFERENCES "issue" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id" INT8 PRIMARY KEY, --REFERENCES "issue" ("id") ON DELETE CASCADE ON UPDATE CASCADE, "order_in_admission_state" INT4, "order_in_open_states" INT4 ); COMMENT ON TABLE "issue_order" IS 'Ordering information for issues that are not stored in the "issue" table to avoid locking of multiple issues at once'; +COMMENT ON COLUMN "issue_order"."id" IS 'References "issue" ("id") but has no referential integrity trigger associated, due to performance/locking issues'; COMMENT ON COLUMN "issue_order"."order_in_admission_state" IS 'To be used for sorting issues within an area, when showing only issues in admission state; NULL values sort last; updated by "lf_update_issue_order"'; COMMENT ON COLUMN "issue_order"."order_in_open_states" IS 'To be used for sorting issues within an area, when showing all open issues; NULL values sort last; updated by "lf_update_issue_order"';