diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-12-08 16:58:32 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-12-08 16:58:32 +0000 |
commit | 53026c4282f41397e984009545fbec8f77a8fc8a (patch) | |
tree | 0503972ab36ec4d826ad1fa652e1ca56e91096f4 | |
parent | 1fb49ccd7bb37d5d6bde12397f32e1c04fc009ba (diff) | |
parent | c52a36e85959a5461b74bae8f881043a4e4feb45 (diff) | |
download | gitlab-ce-53026c4282f41397e984009545fbec8f77a8fc8a.tar.gz |
Merge branch 'fix-event-target-author-preloading' into 'master'
Fix N+1 query when displaying events
See merge request gitlab-org/gitlab-ce!15788
-rw-r--r-- | app/models/event.rb | 2 | ||||
-rw-r--r-- | changelogs/unreleased/fix-event-target-author-preloading.yml | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/app/models/event.rb b/app/models/event.rb index 0997b056c6a..6053594fab5 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -72,7 +72,7 @@ class Event < ActiveRecord::Base # We're using preload for "push_event_payload" as otherwise the association # is not always available (depending on the query being built). includes(:author, :project, project: :namespace) - .preload(:target, :push_event_payload) + .preload(:push_event_payload, target: :author) end scope :for_milestone_id, ->(milestone_id) { where(target_type: "Milestone", target_id: milestone_id) } diff --git a/changelogs/unreleased/fix-event-target-author-preloading.yml b/changelogs/unreleased/fix-event-target-author-preloading.yml new file mode 100644 index 00000000000..c6154cc0835 --- /dev/null +++ b/changelogs/unreleased/fix-event-target-author-preloading.yml @@ -0,0 +1,5 @@ +--- +title: Fix N+1 query when displaying events +merge_request: +author: +type: performance |