Fix inefficient queries in “Follows and followers” as well as several admin pages (#27116)
This commit is contained in:
parent
9950e59578
commit
b40c42fd1e
|
@ -60,13 +60,13 @@ class RelationshipFilter
|
||||||
def relationship_scope(value)
|
def relationship_scope(value)
|
||||||
case value
|
case value
|
||||||
when 'following'
|
when 'following'
|
||||||
account.following.eager_load(:account_stat).reorder(nil)
|
account.following.includes(:account_stat).reorder(nil)
|
||||||
when 'followed_by'
|
when 'followed_by'
|
||||||
account.followers.eager_load(:account_stat).reorder(nil)
|
account.followers.includes(:account_stat).reorder(nil)
|
||||||
when 'mutual'
|
when 'mutual'
|
||||||
account.followers.eager_load(:account_stat).reorder(nil).merge(Account.where(id: account.following))
|
account.followers.includes(:account_stat).reorder(nil).merge(Account.where(id: account.following))
|
||||||
when 'invited'
|
when 'invited'
|
||||||
Account.joins(user: :invite).merge(Invite.where(user: account.user)).eager_load(:account_stat).reorder(nil)
|
Account.joins(user: :invite).merge(Invite.where(user: account.user)).includes(:account_stat).reorder(nil)
|
||||||
else
|
else
|
||||||
raise Mastodon::InvalidParameterError, "Unknown relationship: #{value}"
|
raise Mastodon::InvalidParameterError, "Unknown relationship: #{value}"
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue