Drop partitioned copy of merge_request_diff_commits
What does this MR do and why?
Drops the partitioned copy of merge_request_diff_commits (merge_request_diff_commits_b5377a7a34).
If the partitions contain a large amount of data, dropping them all at once could cause some CPU contention in postgresql, so we first detach and drop the individual partitions before dropping the parent table.
Why
We have decided to change the schema of merge_request_diff_commits, so we are dropping the partitioned copy and will recreate it after the planned schema changes are done.
References
- Backfill data into partitioned merge_request_di... (#422766 - closed)
- https://gitlab.com/gitlab-org/gitlab/-/issues/514290+
Migration output
Up
main: == [advisory_lock_connection] object_id: 121180, pg_backend_pid: 39081
main: == 20250318180451 DropMergeRequestDiffCommitsb5377a7a34: migrating ============
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1\";\n")
main: -> 0.0021s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1000000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1000000001\";\n")
main: -> 0.0011s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1200000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1200000001\";\n")
main: -> 0.0011s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1400000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1400000001\";\n")
main: -> 0.0010s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1600000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1600000001\";\n")
main: -> 0.0010s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1800000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1800000001\";\n")
main: -> 0.0012s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_2000000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_2000000001\";\n")
main: -> 0.0015s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_200000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_200000001\";\n")
main: -> 0.0011s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_2200000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_2200000001\";\n")
main: -> 0.0012s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_400000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_400000001\";\n")
main: -> 0.0011s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_600000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_600000001\";\n")
main: -> 0.0011s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_800000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_800000001\";\n")
main: -> 0.0010s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- execute("DROP TRIGGER IF EXISTS table_sync_trigger_57c8465cd7 ON merge_request_diff_commits")
main: -> 0.0005s
main: -- execute("DROP FUNCTION IF EXISTS table_sync_function_0992e728d3()")
main: -> 0.0004s
main: -- drop_table("merge_request_diff_commits_b5377a7a34")
main: -> 0.0007s
main: == 20250318180451 DropMergeRequestDiffCommitsb5377a7a34: migrated (0.0802s) ===
main: == [advisory_lock_connection] object_id: 121180, pg_backend_pid: 39081
ci: == [advisory_lock_connection] object_id: 121900, pg_backend_pid: 39083
ci: == 20250318180451 DropMergeRequestDiffCommitsb5377a7a34: migrating ============
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1\";\n")
ci: -> 0.0023s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1000000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1000000001\";\n")
ci: -> 0.0016s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1200000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1200000001\";\n")
ci: -> 0.0011s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1400000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1400000001\";\n")
ci: -> 0.0015s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1600000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1600000001\";\n")
ci: -> 0.0013s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1800000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_1800000001\";\n")
ci: -> 0.0011s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_2000000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_2000000001\";\n")
ci: -> 0.0012s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_200000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_200000001\";\n")
ci: -> 0.0015s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_2200000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_2200000001\";\n")
ci: -> 0.0012s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_400000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_400000001\";\n")
ci: -> 0.0011s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_600000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_600000001\";\n")
ci: -> 0.0015s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("ALTER TABLE \"merge_request_diff_commits_b5377a7a34\"\nDETACH PARTITION \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_800000001\";\nDROP TABLE \"gitlab_partitions_dynamic\".\"merge_request_diff_commits_b5377a7a34_800000001\";\n")
ci: -> 0.0011s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- execute("DROP TRIGGER IF EXISTS table_sync_trigger_57c8465cd7 ON merge_request_diff_commits")
ci: -> 0.0005s
ci: -- execute("DROP FUNCTION IF EXISTS table_sync_function_0992e728d3()")
ci: -> 0.0004s
ci: -- drop_table("merge_request_diff_commits_b5377a7a34")
ci: -> 0.0006s
ci: == 20250318180451 DropMergeRequestDiffCommitsb5377a7a34: migrated (0.0690s) ===
ci: == [advisory_lock_connection] object_id: 121900, pg_backend_pid: 39083
Down
main: == [advisory_lock_connection] object_id: 120860, pg_backend_pid: 39263
main: == 20250318180451 DropMergeRequestDiffCommitsb5377a7a34: reverting ============
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- transaction_open?(nil)
main: -> 0.0000s
main: -- transaction(nil)
main: -- execute("CREATE TABLE merge_request_diff_commits_b5377a7a34 (\n LIKE merge_request_diff_commits INCLUDING ALL EXCLUDING INDEXES,\n merge_request_diff_id_tmp bigint NOT NULL, relative_order_tmp integer NOT NULL,\n PRIMARY KEY (merge_request_diff_id_tmp, relative_order_tmp)\n) PARTITION BY RANGE (merge_request_diff_id_tmp)\n")
main: -> 0.0036s
main: -- remove_column("merge_request_diff_commits_b5377a7a34", "merge_request_diff_id")
main: -> 0.0010s
main: -- rename_column("merge_request_diff_commits_b5377a7a34", "merge_request_diff_id_tmp", "merge_request_diff_id")
main: -> 0.0016s
main: -- remove_column("merge_request_diff_commits_b5377a7a34", "relative_order")
main: -> 0.0007s
main: -- rename_column("merge_request_diff_commits_b5377a7a34", "relative_order_tmp", "relative_order")
main: -> 0.0014s
main: -> 0.0088s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1) TO (200000001)\n")
main: -> 0.0037s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_200000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (200000001) TO (400000001)\n")
main: -> 0.0027s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_400000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (400000001) TO (600000001)\n")
main: -> 0.0025s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_600000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (600000001) TO (800000001)\n")
main: -> 0.0024s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_800000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (800000001) TO (1000000001)\n")
main: -> 0.0018s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1000000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1000000001) TO (1200000001)\n")
main: -> 0.0023s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1200000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1200000001) TO (1400000001)\n")
main: -> 0.0022s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1400000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1400000001) TO (1600000001)\n")
main: -> 0.0024s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1600000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1600000001) TO (1800000001)\n")
main: -> 0.0021s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1800000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1800000001) TO (2000000001)\n")
main: -> 0.0022s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_2000000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (2000000001) TO (2200000001)\n")
main: -> 0.0020s
main: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_2200000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (2200000001) TO (2400000001)\n")
main: -> 0.0019s
main: -- execute("CREATE FUNCTION table_sync_function_0992e728d3()\nRETURNS TRIGGER AS\n$$\nBEGIN\nIF (TG_OP = 'DELETE') THEN\n DELETE FROM merge_request_diff_commits_b5377a7a34 where \"merge_request_diff_id\" = OLD.\"merge_request_diff_id\" AND \"relative_order\" = OLD.\"relative_order\";\nELSIF (TG_OP = 'UPDATE') THEN\n UPDATE merge_request_diff_commits_b5377a7a34\n SET \"authored_date\" = NEW.\"authored_date\",\n \"committed_date\" = NEW.\"committed_date\",\n \"sha\" = NEW.\"sha\",\n \"message\" = NEW.\"message\",\n \"trailers\" = NEW.\"trailers\",\n \"commit_author_id\" = NEW.\"commit_author_id\",\n \"committer_id\" = NEW.\"committer_id\"\n WHERE merge_request_diff_commits_b5377a7a34.\"merge_request_diff_id\" = NEW.\"merge_request_diff_id\" AND merge_request_diff_commits_b5377a7a34.\"relative_order\" = NEW.\"relative_order\";\nELSIF (TG_OP = 'INSERT') THEN\n INSERT INTO merge_request_diff_commits_b5377a7a34 (\"authored_date\",\n \"committed_date\",\n \"sha\",\n \"message\",\n \"trailers\",\n \"commit_author_id\",\n \"committer_id\",\n \"merge_request_diff_id\",\n \"relative_order\")\n VALUES (NEW.\"authored_date\",\n NEW.\"committed_date\",\n NEW.\"sha\",\n NEW.\"message\",\n NEW.\"trailers\",\n NEW.\"commit_author_id\",\n NEW.\"committer_id\",\n NEW.\"merge_request_diff_id\",\n NEW.\"relative_order\");\nEND IF;\nRETURN NULL;\n\nEND\n$$ LANGUAGE PLPGSQL\n")
main: -> 0.0100s
main: -- execute("COMMENT ON FUNCTION table_sync_function_0992e728d3 IS 'Partitioning migration: table sync for merge_request_diff_commits table'")
main: -> 0.0007s
main: -- execute("CREATE TRIGGER table_sync_trigger_57c8465cd7\nAFTER INSERT OR UPDATE OR DELETE ON merge_request_diff_commits\nFOR EACH ROW\n\nEXECUTE FUNCTION table_sync_function_0992e728d3()\n")
main: -> 0.0006s
main: -- execute("DROP TRIGGER IF EXISTS table_sync_trigger_57c8465cd7 ON merge_request_diff_commits")
main: -> 0.0005s
main: -- execute("DROP FUNCTION IF EXISTS table_sync_function_0992e728d3()")
main: -> 0.0003s
main: -- add_column("merge_request_diff_commits_b5377a7a34", :project_id, :bigint)
main: -> 0.0010s
main: == 20250318180451 DropMergeRequestDiffCommitsb5377a7a34: reverted (0.1212s) ===
main: == [advisory_lock_connection] object_id: 120860, pg_backend_pid: 39263
ci: == [advisory_lock_connection] object_id: 121500, pg_backend_pid: 39277
ci: == 20250318180451 DropMergeRequestDiffCommitsb5377a7a34: reverting ============
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- transaction_open?(nil)
ci: -> 0.0000s
ci: -- transaction(nil)
ci: -- execute("CREATE TABLE merge_request_diff_commits_b5377a7a34 (\n LIKE merge_request_diff_commits INCLUDING ALL EXCLUDING INDEXES,\n merge_request_diff_id_tmp bigint NOT NULL, relative_order_tmp integer NOT NULL,\n PRIMARY KEY (merge_request_diff_id_tmp, relative_order_tmp)\n) PARTITION BY RANGE (merge_request_diff_id_tmp)\n")
ci: -> 0.0033s
ci: -- remove_column("merge_request_diff_commits_b5377a7a34", "merge_request_diff_id")
ci: -> 0.0006s
ci: -- rename_column("merge_request_diff_commits_b5377a7a34", "merge_request_diff_id_tmp", "merge_request_diff_id")
ci: -> 0.0017s
ci: -- remove_column("merge_request_diff_commits_b5377a7a34", "relative_order")
ci: -> 0.0007s
ci: -- rename_column("merge_request_diff_commits_b5377a7a34", "relative_order_tmp", "relative_order")
ci: -> 0.0013s
ci: -> 0.0077s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1) TO (200000001)\n")
ci: -> 0.0039s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_200000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (200000001) TO (400000001)\n")
ci: -> 0.0024s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_400000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (400000001) TO (600000001)\n")
ci: -> 0.0030s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_600000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (600000001) TO (800000001)\n")
ci: -> 0.0032s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_800000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (800000001) TO (1000000001)\n")
ci: -> 0.0035s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1000000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1000000001) TO (1200000001)\n")
ci: -> 0.0034s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1200000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1200000001) TO (1400000001)\n")
ci: -> 0.0037s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1400000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1400000001) TO (1600000001)\n")
ci: -> 0.0033s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1600000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1600000001) TO (1800000001)\n")
ci: -> 0.0027s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_1800000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (1800000001) TO (2000000001)\n")
ci: -> 0.0035s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_2000000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (2000000001) TO (2200000001)\n")
ci: -> 0.0022s
ci: -- execute("CREATE TABLE gitlab_partitions_dynamic.merge_request_diff_commits_b5377a7a34_2200000001 PARTITION OF merge_request_diff_commits_b5377a7a34\nFOR VALUES FROM (2200000001) TO (2400000001)\n")
ci: -> 0.0026s
ci: -- execute("CREATE FUNCTION table_sync_function_0992e728d3()\nRETURNS TRIGGER AS\n$$\nBEGIN\nIF (TG_OP = 'DELETE') THEN\n DELETE FROM merge_request_diff_commits_b5377a7a34 where \"merge_request_diff_id\" = OLD.\"merge_request_diff_id\" AND \"relative_order\" = OLD.\"relative_order\";\nELSIF (TG_OP = 'UPDATE') THEN\n UPDATE merge_request_diff_commits_b5377a7a34\n SET \"authored_date\" = NEW.\"authored_date\",\n \"committed_date\" = NEW.\"committed_date\",\n \"sha\" = NEW.\"sha\",\n \"message\" = NEW.\"message\",\n \"trailers\" = NEW.\"trailers\",\n \"commit_author_id\" = NEW.\"commit_author_id\",\n \"committer_id\" = NEW.\"committer_id\"\n WHERE merge_request_diff_commits_b5377a7a34.\"merge_request_diff_id\" = NEW.\"merge_request_diff_id\" AND merge_request_diff_commits_b5377a7a34.\"relative_order\" = NEW.\"relative_order\";\nELSIF (TG_OP = 'INSERT') THEN\n INSERT INTO merge_request_diff_commits_b5377a7a34 (\"authored_date\",\n \"committed_date\",\n \"sha\",\n \"message\",\n \"trailers\",\n \"commit_author_id\",\n \"committer_id\",\n \"merge_request_diff_id\",\n \"relative_order\")\n VALUES (NEW.\"authored_date\",\n NEW.\"committed_date\",\n NEW.\"sha\",\n NEW.\"message\",\n NEW.\"trailers\",\n NEW.\"commit_author_id\",\n NEW.\"committer_id\",\n NEW.\"merge_request_diff_id\",\n NEW.\"relative_order\");\nEND IF;\nRETURN NULL;\n\nEND\n$$ LANGUAGE PLPGSQL\n")
ci: -> 0.0018s
ci: -- execute("COMMENT ON FUNCTION table_sync_function_0992e728d3 IS 'Partitioning migration: table sync for merge_request_diff_commits table'")
ci: -> 0.0006s
ci: -- execute("CREATE TRIGGER table_sync_trigger_57c8465cd7\nAFTER INSERT OR UPDATE OR DELETE ON merge_request_diff_commits\nFOR EACH ROW\n\nEXECUTE FUNCTION table_sync_function_0992e728d3()\n")
ci: -> 0.0009s
ci: -- execute("DROP TRIGGER IF EXISTS table_sync_trigger_57c8465cd7 ON merge_request_diff_commits")
ci: -> 0.0005s
ci: -- execute("DROP FUNCTION IF EXISTS table_sync_function_0992e728d3()")
ci: -> 0.0005s
ci: -- add_column("merge_request_diff_commits_b5377a7a34", :project_id, :bigint)
ci: -> 0.0012s
ci: == 20250318180451 DropMergeRequestDiffCommitsb5377a7a34: reverted (0.0861s) ===
ci: == [advisory_lock_connection] object_id: 121500, pg_backend_pid: 39277
DEPRECATION WARNING: Support for Rails versions < 7.1 is deprecated and will be removed from ViewComponent 4.0.0 (ViewComponent v4 will remove support for Rails versions < 7.1 no earlier than April 1, 2025) (called from <main> at /Users/matt/sources/gitlab/gitlab-org/gitlab-development-kit/gitlab/config/environment.rb:7)
main: == [advisory_lock_connection] object_id: 131660, pg_backend_pid: 39311
main: == [advisory_lock_connection] object_id: 131660, pg_backend_pid: 39311
ci: == [advisory_lock_connection] object_id: 132140, pg_backend_pid: 39324
ci: == [advisory_lock_connection] object_id: 132140, pg_backend_pid: 39324
Edited by Matt Kasa