summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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