Resolve N+1 query issue with discussions
This commit is contained in:
parent
1ac12698c6
commit
e53169c970
|
@ -43,7 +43,12 @@ module Noteable
|
|||
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 @@ class Discussion
|
|||
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`
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Resolve N+1 query issue with discussions
|
||||
merge_request:
|
||||
author:
|
Loading…
Reference in New Issue