From e73333242ac42a1020319f5d491daf0647af4c54 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Wed, 24 Jan 2018 12:56:11 +0100 Subject: Optimize SQL query that removes duplicated stages --- .../20180119121225_remove_redundant_pipeline_stages.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'db/post_migrate') diff --git a/db/post_migrate/20180119121225_remove_redundant_pipeline_stages.rb b/db/post_migrate/20180119121225_remove_redundant_pipeline_stages.rb index 3868e0adae1..c1705cd8757 100644 --- a/db/post_migrate/20180119121225_remove_redundant_pipeline_stages.rb +++ b/db/post_migrate/20180119121225_remove_redundant_pipeline_stages.rb @@ -5,10 +5,10 @@ class RemoveRedundantPipelineStages < ActiveRecord::Migration def up redundant_stages_ids = <<~SQL - SELECT id FROM ci_stages a WHERE ( - SELECT COUNT(*) FROM ci_stages b - WHERE a.pipeline_id = b.pipeline_id AND a.name = b.name - ) > 1 + SELECT id FROM ci_stages WHERE (pipeline_id, name) IN ( + SELECT pipeline_id, name FROM ci_stages + GROUP BY pipeline_id, name HAVING COUNT(*) > 1 + ) SQL execute <<~SQL -- cgit v1.2.3