Commit e53169c9 authored by Douwe Maan's avatar Douwe Maan
Browse files

Resolve N+1 query issue with discussions

parent e657d9bf3d81
......@@ -43,7 +43,12 @@ def grouped_diff_discussions(*args)
end
def resolvable_discussions
@resolvable_discussions ||= discussion_notes.resolvable.discussions(self)
@resolvable_discussions ||=
if defined?(@discussions)
@discussions.select(&:resolvable?)
else
discussion_notes.resolvable.discussions(self)
end
end
def discussions_resolvable?
......
......@@ -21,7 +21,8 @@ def self.build(notes, context_noteable = nil)
end
def self.build_collection(notes, context_noteable = nil)
notes.group_by { |n| n.discussion_id(context_noteable) }.values.map { |notes| build(notes, context_noteable) }
grouped_notes = notes.includes(:noteable).group_by { |n| n.discussion_id(context_noteable) }
grouped_notes.values.map { |notes| build(notes, context_noteable) }
end
# Returns an alphanumeric discussion ID based on `build_discussion_id`
......
---
title: Resolve N+1 query issue with discussions
merge_request:
author:
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment