Skip to content

Create index on approval_rules for scan_result_policy_id

Sashi Kumar Kumaresan requested to merge sk/391312-add-sync-index into master

What does this MR do and why?

Addresses #391312 (closed)

This MR introduces a migration to create index synchronously on approval rules for scan_result_policy_id. The index was created asynchronously in Add scan result policy relation to approval rules (!111682 - merged)

Both the indices are created in gitlab.com:

Migration Output

Up

main: == 20230220165240 AddIndexToApprovalRulesOnScanResultPolicyId: migrating ======
main: -- transaction_open?()
main:    -> 0.0000s
main: -- view_exists?(:postgres_partitions)
main:    -> 0.0840s
main: -- index_exists?(:approval_project_rules, :scan_result_policy_id, {:name=>"idx_approval_project_rules_on_scan_result_policy_id", :algorithm=>:concurrently})
main:    -> 0.0042s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0002s
main: -- add_index(:approval_project_rules, :scan_result_policy_id, {:name=>"idx_approval_project_rules_on_scan_result_policy_id", :algorithm=>:concurrently})
main:    -> 0.0029s
main: -- execute("RESET statement_timeout")
main:    -> 0.0003s
main: -- transaction_open?()
main:    -> 0.0000s
main: -- view_exists?(:postgres_partitions)
main:    -> 0.0005s
main: -- index_exists?(:approval_merge_request_rules, :scan_result_policy_id, {:name=>"idx_approval_merge_request_rules_on_scan_result_policy_id", :algorithm=>:concurrently})
main:    -> 0.0036s
main: -- add_index(:approval_merge_request_rules, :scan_result_policy_id, {:name=>"idx_approval_merge_request_rules_on_scan_result_policy_id", :algorithm=>:concurrently})
main:    -> 0.0019s
main: == 20230220165240 AddIndexToApprovalRulesOnScanResultPolicyId: migrated (0.1245s) 

Down


main: == 20230220165240 AddIndexToApprovalRulesOnScanResultPolicyId: reverting ======
main: -- transaction_open?()
main:    -> 0.0001s
main: -- view_exists?(:postgres_partitions)
main:    -> 0.2110s
main: -- indexes(:approval_project_rules)
main:    -> 0.0040s
main: -- current_schema()
main:    -> 0.0001s
main: -- transaction_open?()
main:    -> 0.0000s
main: -- view_exists?(:postgres_partitions)
main:    -> 0.0005s
main: -- indexes(:approval_merge_request_rules)
main:    -> 0.0034s
main: -- current_schema()
main:    -> 0.0002s
main: == 20230220165240 AddIndexToApprovalRulesOnScanResultPolicyId: reverted (0.2519s)

MR acceptance checklist

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

Merge request reports

Loading