Skip to content

Persist blocking issues count on database

Felipe Cardozo requested to merge issue_34247_save_count_on_db into master

What does this MR do?

Persist blocking issues count on database. This will avoid slow queries when ordering issues by blocking counts.

For more information check: !34665 (comment 376762008)

Related to #34247 (closed)

Migration output

== 20200720191134 AddBlockingIssuesCountToIssues: migrating ===================
-- column_exists?(:issues, :blocking_issues_count)
   -> 0.0048s
-- add_column(:issues, :blocking_issues_count, :integer, {:default=>0, :null=>false})
   -> 0.0013s
-- transaction_open?()
   -> 0.0000s
-- index_exists?(:issues, [:project_id, :state_id, :blocking_issues_count], {:name=>"index_issue_on_project_id_state_id_and_blocking_issues_count", :algorithm=>:concurrently})
   -> 0.0080s
-- add_index(:issues, [:project_id, :state_id, :blocking_issues_count], {:name=>"index_issue_on_project_id_state_id_and_blocking_issues_count", :algorithm=>:concurrently})
   -> 0.0084s
== 20200720191134 AddBlockingIssuesCountToIssues: migrated (0.0301s) ==========

Index creation time

exec CREATE INDEX CONCURRENTLY "testindex" ON "issues" ("project_id", "state_id", "blocking_issues_count")
Session: joe-bslc4g8350j74np1uesg
The query has been executed. Duration: 24.887 min (edited) 

Conformity

Edited by Felipe Cardozo

Merge request reports