diff --git a/db/post_migrate/20240123120413_index_sbom_occurrences_on_project_id_component_version_id_and_input_file_path.rb b/db/post_migrate/20240123120413_index_sbom_occurrences_on_project_id_component_version_id_and_input_file_path.rb new file mode 100644 index 0000000000000000000000000000000000000000..cf413e78eca9bab976ed7a69b3d8dcf754e6083f --- /dev/null +++ b/db/post_migrate/20240123120413_index_sbom_occurrences_on_project_id_component_version_id_and_input_file_path.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +class IndexSbomOccurrencesOnProjectIdComponentVersionIdAndInputFilePath < Gitlab::Database::Migration[2.2] + INDEX_NAME = 'idx_sbom_occurr_on_project_component_version_input_file_path' + DROPPED_INDEX_NAME = 'index_sbom_occurrences_for_input_file_path_search' + disable_ddl_transaction! + milestone '16.9' + + def up + remove_concurrent_index_by_name :sbom_occurrences, DROPPED_INDEX_NAME + add_concurrent_index :sbom_occurrences, %i[project_id component_version_id input_file_path], name: INDEX_NAME + end + + def down + remove_concurrent_index_by_name :sbom_occurrences, INDEX_NAME + add_concurrent_index :sbom_occurrences, %i[project_id component_id input_file_path], name: DROPPED_INDEX_NAME + end +end diff --git a/db/schema_migrations/20240123120413 b/db/schema_migrations/20240123120413 new file mode 100644 index 0000000000000000000000000000000000000000..1323454ef1227a84cc0ecfcfd6b9bee5dbb0025b --- /dev/null +++ b/db/schema_migrations/20240123120413 @@ -0,0 +1 @@ +9b55d0889ab76a1bf64696bc1d356a99366912e1f5c3c689fd8a52d2134f7644 \ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index a8e521109fd262a3a2e90e9a8de4937c51ea4599..eeee6695b2c0395929a86790bf93b651fef9a0fc 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -32465,6 +32465,8 @@ CREATE INDEX idx_repository_states_on_wiki_failure_partial ON project_repository CREATE INDEX idx_repository_states_outdated_checksums ON project_repository_states USING btree (project_id) WHERE (((repository_verification_checksum IS NULL) AND (last_repository_verification_failure IS NULL)) OR ((wiki_verification_checksum IS NULL) AND (last_wiki_verification_failure IS NULL))); +CREATE INDEX idx_sbom_occurr_on_project_component_version_input_file_path ON sbom_occurrences USING btree (project_id, component_version_id, input_file_path); + CREATE INDEX idx_sbom_occurrences_on_project_id_and_source_id ON sbom_occurrences USING btree (project_id, source_id); CREATE UNIQUE INDEX idx_sbom_source_packages_on_name_and_purl_type ON sbom_source_packages USING btree (name, purl_type); @@ -35327,8 +35329,6 @@ CREATE UNIQUE INDEX index_sbom_components_on_component_type_name_and_purl_type O CREATE INDEX index_sbom_occurr_on_project_id_and_component_version_id_and_id ON sbom_occurrences USING btree (project_id, component_version_id, id); -CREATE INDEX index_sbom_occurrences_for_input_file_path_search ON sbom_occurrences USING btree (project_id, component_id, input_file_path); - CREATE INDEX index_sbom_occurrences_on_component_id_and_id ON sbom_occurrences USING btree (component_id, id); CREATE INDEX index_sbom_occurrences_on_component_version_id ON sbom_occurrences USING btree (component_version_id); diff --git a/spec/support/helpers/database/duplicate_indexes.yml b/spec/support/helpers/database/duplicate_indexes.yml index 609b018b0cd1b1002c3d78049752712b1ce87e3c..29202d49e789c06f0e07d3c8c47547a7c9aa723b 100644 --- a/spec/support/helpers/database/duplicate_indexes.yml +++ b/spec/support/helpers/database/duplicate_indexes.yml @@ -135,8 +135,6 @@ sbom_component_versions: index_sbom_component_versions_on_component_id_and_version: - index_sbom_component_versions_on_component_id sbom_occurrences: - index_sbom_occurrences_for_input_file_path_search: - - index_sbom_occurrences_on_project_id_component_id index_sbom_occurrences_on_project_id_and_component_id_and_id: - index_sbom_occurrences_on_project_id_component_id search_namespace_index_assignments: