From f877540bb4ee612eeaac00c1eb3d8832c43356d7 Mon Sep 17 00:00:00 2001 From: Marius Bobin Date: Tue, 17 Jan 2023 13:48:36 +0200 Subject: [PATCH] Add partitioning tmp indexes to ci_sources_pipelines table Changelog: added --- ...to_ci_sources_pipelines_on_partition_id.rb | 29 +++++++++++++++++++ db/schema_migrations/20230117113719 | 1 + 2 files changed, 30 insertions(+) create mode 100644 db/post_migrate/20230117113719_add_tmp_index_to_ci_sources_pipelines_on_partition_id.rb create mode 100644 db/schema_migrations/20230117113719 diff --git a/db/post_migrate/20230117113719_add_tmp_index_to_ci_sources_pipelines_on_partition_id.rb b/db/post_migrate/20230117113719_add_tmp_index_to_ci_sources_pipelines_on_partition_id.rb new file mode 100644 index 00000000000000..28c722893bc4c0 --- /dev/null +++ b/db/post_migrate/20230117113719_add_tmp_index_to_ci_sources_pipelines_on_partition_id.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +class AddTmpIndexToCiSourcesPipelinesOnPartitionId < Gitlab::Database::Migration[2.1] + disable_ddl_transaction! + + INDEX_NAME = :tmp_index_ci_sources_pipelines_on_partition_id_and_id + SOURCE_INDEX_NAME = :tmp_index_ci_sources_pipelines_on_source_partition_id_and_id + TABLE_NAME = :ci_sources_pipelines + + def up + return unless Gitlab.com? + + add_concurrent_index TABLE_NAME, + [:partition_id, :id], + name: INDEX_NAME, where: 'partition_id = 101' + + add_concurrent_index TABLE_NAME, + [:source_partition_id, :id], + name: SOURCE_INDEX_NAME, + where: 'source_partition_id = 101' + end + + def down + return unless Gitlab.com? + + remove_concurrent_index_by_name TABLE_NAME, INDEX_NAME + remove_concurrent_index_by_name TABLE_NAME, SOURCE_INDEX_NAME + end +end diff --git a/db/schema_migrations/20230117113719 b/db/schema_migrations/20230117113719 new file mode 100644 index 00000000000000..abdccc39a8050f --- /dev/null +++ b/db/schema_migrations/20230117113719 @@ -0,0 +1 @@ +d0aac8e7bdb605eec1f3d60aa06db81e36d0069b79a15a89f4a076889dd68edc \ No newline at end of file -- GitLab