-
- Downloads
Better caching and indexing of broadcast messages
Caching of BroadcastMessage instances has been changed so a cache stays valid as long as the default cache expiration time permits, instead of the cache being expired after 1 minute. When modifying broadcast messages the cache is flushed automatically. To remove the need for performing sequence scans on the "broadcast_messages" table we also add an index on (starts_at, ends_at, id), permitting PostgreSQL to use an index scan to get all necessary data. Finally this commit adds a few NOT NULL constraints to the table to match the Rails validations. Fixes gitlab-org/gitlab-ce#31706
Showing
- app/models/broadcast_message.rb 12 additions, 2 deletionsapp/models/broadcast_message.rb
- changelogs/unreleased/broadcast-messages-cache.yml 4 additions, 0 deletionschangelogs/unreleased/broadcast-messages-cache.yml
- db/migrate/20170809133343_add_broadcast_messages_index.rb 21 additions, 0 deletionsdb/migrate/20170809133343_add_broadcast_messages_index.rb
- db/migrate/20170809134534_add_broadcast_message_not_null_constraints.rb 17 additions, 0 deletions...70809134534_add_broadcast_message_not_null_constraints.rb
- db/schema.rb 7 additions, 5 deletionsdb/schema.rb
- spec/models/broadcast_message_spec.rb 19 additions, 1 deletionspec/models/broadcast_message_spec.rb
Please register or sign in to comment