From b251aa087b7a68446dcde838ecdd9114f66a717c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Zaj=C4=85c?= <mzajac@gitlab.com>
Date: Mon, 21 Nov 2022 19:24:49 +0100
Subject: [PATCH] Remove another unused index on vulnerabilities

Changelog: removed
---
 ...x_on_vulnerabilities_state_case_id_desc.rb | 20 +++++++++++++++++++
 db/schema_migrations/20221121181627           |  1 +
 db/structure.sql                              |  2 --
 ee/spec/models/ee/vulnerability_spec.rb       |  2 +-
 4 files changed, 22 insertions(+), 3 deletions(-)
 create mode 100644 db/post_migrate/20221121181627_drop_index_on_vulnerabilities_state_case_id_desc.rb
 create mode 100644 db/schema_migrations/20221121181627

diff --git a/db/post_migrate/20221121181627_drop_index_on_vulnerabilities_state_case_id_desc.rb b/db/post_migrate/20221121181627_drop_index_on_vulnerabilities_state_case_id_desc.rb
new file mode 100644
index 0000000000000..712343bc7b0c8
--- /dev/null
+++ b/db/post_migrate/20221121181627_drop_index_on_vulnerabilities_state_case_id_desc.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+class DropIndexOnVulnerabilitiesStateCaseIdDesc < Gitlab::Database::Migration[2.0]
+  INDEX_NAME = "index_vulnerabilities_on_state_case_id_desc"
+  disable_ddl_transaction!
+
+  def up
+    remove_concurrent_index_by_name(
+      :vulnerabilities,
+      INDEX_NAME
+    )
+  end
+
+  def down
+    execute <<~SQL
+      CREATE INDEX CONCURRENTLY index_vulnerabilities_on_state_case_id_desc ON vulnerabilities
+      USING btree (array_position(ARRAY[(1)::smallint, (4)::smallint, (3)::smallint, (2)::smallint], state) DESC, id DESC);
+    SQL
+  end
+end
diff --git a/db/schema_migrations/20221121181627 b/db/schema_migrations/20221121181627
new file mode 100644
index 0000000000000..2be29d4fcec29
--- /dev/null
+++ b/db/schema_migrations/20221121181627
@@ -0,0 +1 @@
+91c8b8327b502611b47400f229204f3093b87f6dd555c7471a2a827c0ee2d7fe
\ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 586a9aaacff6f..10afdd05c653f 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -31147,8 +31147,6 @@ CREATE INDEX index_vulnerabilities_on_resolved_by_id ON vulnerabilities USING bt
 
 CREATE INDEX index_vulnerabilities_on_start_date_sourcing_milestone_id ON vulnerabilities USING btree (start_date_sourcing_milestone_id);
 
-CREATE INDEX index_vulnerabilities_on_state_case_id_desc ON vulnerabilities USING btree (array_position(ARRAY[(1)::smallint, (4)::smallint, (3)::smallint, (2)::smallint], state) DESC, id DESC);
-
 CREATE INDEX index_vulnerabilities_on_updated_by_id ON vulnerabilities USING btree (updated_by_id);
 
 CREATE INDEX index_vulnerabilities_project_id_and_id_on_default_branch ON vulnerabilities USING btree (project_id, id) WHERE (present_on_default_branch IS TRUE);
diff --git a/ee/spec/models/ee/vulnerability_spec.rb b/ee/spec/models/ee/vulnerability_spec.rb
index 2694c13835382..25e413983e5f7 100644
--- a/ee/spec/models/ee/vulnerability_spec.rb
+++ b/ee/spec/models/ee/vulnerability_spec.rb
@@ -29,7 +29,7 @@
   let_it_be(:vulnerability) { create(:vulnerability, :sast, :confirmed, :low, project: project) }
   let_it_be(:finding) { create(:vulnerabilities_finding, vulnerability: vulnerability) }
 
-  it { is_expected.to have_locked_schema('9e0c8a8eec7c990209307db76b07c6a3d33a21ab2145de14bbd3237b1d46e5fa').reference('https://gitlab.com/gitlab-org/gitlab/-/issues/349315') }
+  it { is_expected.to have_locked_schema('68d13447d3ba569e33f1511e585a20378d91667434fe8f0709bd6ace626d33f2').reference('https://gitlab.com/gitlab-org/gitlab/-/issues/349315') }
 
   describe 'enums' do
     it { is_expected.to define_enum_for(:state).with_values(state_values) }
-- 
GitLab