Skip to content

Add indexes to support filtering issues by last test report state

Felipe Artur requested to merge issue_378170 into master

What does this MR do and why?

On !100045 (merged) we added GraphQL endpoints to support filtering issues by its latest requirements_managemenent_test_reports associated record.

Adds onde index to support the following queries:

More context at !100045 (comment 1138368270)

related to #378170 (closed)

Migration output

main: == 20221019141508 AddIndexToTestReportsIssueIdCreatedAtAndId: migrating =======
main: -- transaction_open?()
main:    -> 0.0000s
main: -- index_exists?("requirements_management_test_reports", [:issue_id, :created_at, :id], {:name=>"idx_test_reports_on_issue_id_created_at_and_id", :algorithm=>:concurrently})
main:    -> 0.0020s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0003s
main: -- add_index("requirements_management_test_reports", [:issue_id, :created_at, :id], {:name=>"idx_test_reports_on_issue_id_created_at_and_id", :algorithm=>:concurrently})
main:    -> 0.0008s
main: -- execute("RESET statement_timeout")
main:    -> 0.0004s
main: == 20221019141508 AddIndexToTestReportsIssueIdCreatedAtAndId: migrated (0.0056s) 

ci: == 20221019141508 AddIndexToTestReportsIssueIdCreatedAtAndId: migrating =======
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- index_exists?("requirements_management_test_reports", [:issue_id, :created_at, :id], {:name=>"idx_test_reports_on_issue_id_created_at_and_id", :algorithm=>:concurrently})
ci:    -> 0.0023s
ci: -- execute("SET statement_timeout TO 0")
ci:    -> 0.0003s
ci: -- add_index("requirements_management_test_reports", [:issue_id, :created_at, :id], {:name=>"idx_test_reports_on_issue_id_created_at_and_id", :algorithm=>:concurrently})
ci:    -> 0.0009s
ci: -- execute("RESET statement_timeout")
ci:    -> 0.0004s
ci: == 20221019141508 AddIndexToTestReportsIssueIdCreatedAtAndId: migrated (0.0061s) 

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Felipe Artur

Merge request reports