summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Derichs <pderichs@gitlab.com>2019-07-24 23:32:24 +0200
committerPatrick Derichs <pderichs@gitlab.com>2019-07-26 08:14:50 +0200
commite6ad2714562636f057fc27d94c69f1904a33db9f (patch)
treea495d8679b375ff87db3343ebabf55089c50c29b
parent2dfa469184427d49f32a07d559d23d2afac6879a (diff)
downloadgitlab-ce-52123-query-count-test.tar.gz
Call discussions method again52123-query-count-test
-rw-r--r--app/controllers/concerns/issuable_actions.rb3
-rw-r--r--spec/controllers/concerns/issuable_notes_finder_query_count_spec.rb13
2 files changed, 10 insertions, 6 deletions
diff --git a/app/controllers/concerns/issuable_actions.rb b/app/controllers/concerns/issuable_actions.rb
index e509b717b4d..291a5816d5c 100644
--- a/app/controllers/concerns/issuable_actions.rb
+++ b/app/controllers/concerns/issuable_actions.rb
@@ -101,6 +101,9 @@ module IssuableActions
# rubocop:disable CodeReuse/ActiveRecord
def discussions
notes = NotesFinder.new(project, current_user, finder_params_for_issuable).execute
+ .inc_relations_for_view
+ .includes(:noteable)
+ .fresh
if notes_filter != UserPreference::NOTES_FILTERS[:only_comments]
notes = ResourceEvents::MergeIntoNotesService.new(issuable, current_user).execute(notes)
diff --git a/spec/controllers/concerns/issuable_notes_finder_query_count_spec.rb b/spec/controllers/concerns/issuable_notes_finder_query_count_spec.rb
index 9f1b16582b6..564c38c83be 100644
--- a/spec/controllers/concerns/issuable_notes_finder_query_count_spec.rb
+++ b/spec/controllers/concerns/issuable_notes_finder_query_count_spec.rb
@@ -11,7 +11,6 @@ describe 'Query counts for Issuable' do
let(:old_module) do
Module.new do
-
# Former implementation
def discussions
notes = issuable.discussion_notes
@@ -64,16 +63,18 @@ describe 'Query counts for Issuable' do
# New implementation
discussions_provider = klass.new(issue, project, user)
- # ActiveRecord::QueryRecorder.new { discussions_provider.discussions }.count
- new_count = ActiveRecord::QueryRecorder.new { NotesFinder.new(project, user, {target_id: issue.id, target_type: 'issue', notes_filter: {}}).execute }.count
+ ActiveRecord::QueryRecorder.new { discussions_provider.discussions }.count
+ # new_count = ActiveRecord::QueryRecorder.new { NotesFinder.new(project, user, {target: issue, notes_filter: {}}).execute }.count
+ new_count = ActiveRecord::QueryRecorder.new { discussions_provider.discussions }.count
# Activate former implementation
klass.prepend(old_module)
discussions_provider = klass.new(issue, project, user)
- old_count = ActiveRecord::QueryRecorder.new { issue.discussion_notes }.count
+ # old_count = ActiveRecord::QueryRecorder.new { issue.discussion_notes }.count
+ old_count = ActiveRecord::QueryRecorder.new { discussions_provider.discussions }.count
- # puts "Old: #{old_count}"
- # puts "New: #{new_count}"
+ puts "Old: #{old_count}"
+ puts "New: #{new_count}"
expect(old_count).to eq(new_count)
end