Create partial index for migration 20170503004427_upate_retried_for_ci_build
The migration 20170503004427_upate_retried_for_ci_build.rb updates a lot of CI builds using a WHERE retried IS NULL
. This migration can benefit from a partial index (as proven after adding this for GitLab.com). We can add this by changing the migration as follows:
disable_statement_timeout
if Gitlab::Database.postgresql?
execute 'CREATE INDEX CONCURRENTLY index_for_ci_builds_retried_migration ON ci_builds (id, retried) WHERE retried IS NULL;'
end
regular migration code here
if Gitlab::Database.postgresql?
execute 'DROP INDEX CONCURRENTLY index_for_ci_builds_retried_migration'
end
Edited by Yorick Peterse