Untrack external_pull_requests row deletions
What does this MR do and why?
This MR finalizes the loose foreign key removal. Previous MR: !81866 (merged)
This MR does the following:
- Remove the deletion tracking trigger.
- Remove the pending rows in
external_pull_requests
. This is safe because we still have the foreign key onci_pipelines
in place.
Database
Delete query: https://console.postgres.ai/gitlab/gitlab-production-tunnel-pg12/sessions/9070/commands/31958
Up:
== 20220309084838 RemoveExternalPullRequestTracking: migrating ================
-- execute("DROP TRIGGER IF EXISTS external_pull_requests_loose_fk_trigger ON external_pull_requests")
-> 0.0017s
== 20220309084838 RemoveExternalPullRequestTracking: migrated (0.0017s) =======
== 20220309084954 RemoveLeftoverExternalPullRequestDeletions: migrating =======
-- execute("DELETE FROM \"loose_foreign_keys_deleted_records\"\nWHERE\n(\"loose_foreign_keys_deleted_records\".\"partition\", \"loose_foreign_keys_deleted_records\".\"id\") IN (\n SELECT \"loose_foreign_keys_deleted_records\".\"partition\", \"loose_foreign_keys_deleted_records\".\"id\"\n FROM \"loose_foreign_keys_deleted_records\"\n WHERE\n \"loose_foreign_keys_deleted_records\".\"fully_qualified_table_name\" = 'public.external_pull_requests' AND\n \"loose_foreign_keys_deleted_records\".\"status\" = 1\n LIMIT 100\n)\n")
-> 0.0014s
== 20220309084954 RemoveLeftoverExternalPullRequestDeletions: migrated (0.0015s)
Down:
== 20220309084954 RemoveLeftoverExternalPullRequestDeletions: reverting =======
== 20220309084954 RemoveLeftoverExternalPullRequestDeletions: reverted (0.0000s)
== 20220309084838 RemoveExternalPullRequestTracking: reverting ================
-- execute("CREATE TRIGGER external_pull_requests_loose_fk_trigger\nAFTER DELETE ON external_pull_requests REFERENCING OLD TABLE AS old_table\nFOR EACH STATEMENT\nEXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();\n")
-> 0.0036s
== 20220309084838 RemoveExternalPullRequestTracking: reverted (0.0037s) =======
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Adam Hegyi