Skip to content

Add max_seats_used_changed_at index

Ryan Cobb requested to merge rc/add_max_seats_used_changed_at_index into master

What does this MR do and why?

Issue: #358080 (closed)

This adds an index on column max_seats_used_changed_at in gitlab_subscriptions. We will be using this column in later MRs to find all subscriptions that have had max seats used changed on a daily basis.

Up

main: == 20221102225800 AddMaxSeatsUsedChangedAtIndexToGitlabSubscriptions: migrating
main: -- transaction_open?()
main:    -> 0.0000s
main: -- index_exists?(:gitlab_subscriptions, [:max_seats_used_changed_at, :namespace_id], {:name=>"index_gitlab_subscriptions_on_max_seats_used_changed_at", :algorithm=>:concurrently})
main:    -> 0.0044s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0001s
main: -- add_index(:gitlab_subscriptions, [:max_seats_used_changed_at, :namespace_id], {:name=>"index_gitlab_subscriptions_on_max_seats_used_changed_at", :algorithm=>:concurrently})
main:    -> 0.0017s
main: -- execute("RESET statement_timeout")
main:    -> 0.0002s
main: == 20221102225800 AddMaxSeatsUsedChangedAtIndexToGitlabSubscriptions: migrated (0.0108s)

ci: == 20221102225800 AddMaxSeatsUsedChangedAtIndexToGitlabSubscriptions: migrating
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- index_exists?(:gitlab_subscriptions, [:max_seats_used_changed_at, :namespace_id], {:name=>"index_gitlab_subscriptions_on_max_seats_used_changed_at", :algorithm=>:concurrently})
ci:    -> 0.0033s
ci: -- execute("SET statement_timeout TO 0")
ci:    -> 0.0001s
ci: -- add_index(:gitlab_subscriptions, [:max_seats_used_changed_at, :namespace_id], {:name=>"index_gitlab_subscriptions_on_max_seats_used_changed_at", :algorithm=>:concurrently})
ci:    -> 0.0019s
ci: -- execute("RESET statement_timeout")
ci:    -> 0.0007s
ci: == 20221102225800 AddMaxSeatsUsedChangedAtIndexToGitlabSubscriptions: migrated (0.0086s)

Down

main: == 20221102225800 AddMaxSeatsUsedChangedAtIndexToGitlabSubscriptions: reverting
main: -- transaction_open?()
main:    -> 0.0000s
main: -- indexes(:gitlab_subscriptions)
main:    -> 0.0042s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0001s
main: -- remove_index(:gitlab_subscriptions, {:algorithm=>:concurrently, :name=>"index_gitlab_subscriptions_on_max_seats_used_changed_at"})
main:    -> 0.0011s
main: -- execute("RESET statement_timeout")
main:    -> 0.0001s
main: == 20221102225800 AddMaxSeatsUsedChangedAtIndexToGitlabSubscriptions: reverted (0.0093s)

ci: == 20221102225800 AddMaxSeatsUsedChangedAtIndexToGitlabSubscriptions: reverting
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- indexes(:gitlab_subscriptions)
ci:    -> 0.0035s
ci: -- execute("SET statement_timeout TO 0")
ci:    -> 0.0001s
ci: -- remove_index(:gitlab_subscriptions, {:algorithm=>:concurrently, :name=>"index_gitlab_subscriptions_on_max_seats_used_changed_at"})
ci:    -> 0.0017s
ci: -- execute("RESET statement_timeout")
ci:    -> 0.0001s
ci: == 20221102225800 AddMaxSeatsUsedChangedAtIndexToGitlabSubscriptions: reverted (0.0088s)

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

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 Ryan Cobb

Merge request reports