Fix N+1 query when rendering with StatusSerializer (#15641)
This commit is contained in:
		
							parent
							
								
									eb0f9e3159
								
							
						
					
					
						commit
						c8c764dd8b
					
				@ -114,7 +114,7 @@ class Status < ApplicationRecord
 | 
				
			|||||||
                   :tags,
 | 
					                   :tags,
 | 
				
			||||||
                   :preview_cards,
 | 
					                   :preview_cards,
 | 
				
			||||||
                   :preloadable_poll,
 | 
					                   :preloadable_poll,
 | 
				
			||||||
                   account: :account_stat,
 | 
					                   account: [:account_stat, :user],
 | 
				
			||||||
                   active_mentions: { account: :account_stat },
 | 
					                   active_mentions: { account: :account_stat },
 | 
				
			||||||
                   reblog: [
 | 
					                   reblog: [
 | 
				
			||||||
                     :application,
 | 
					                     :application,
 | 
				
			||||||
@ -124,7 +124,7 @@ class Status < ApplicationRecord
 | 
				
			|||||||
                     :conversation,
 | 
					                     :conversation,
 | 
				
			||||||
                     :status_stat,
 | 
					                     :status_stat,
 | 
				
			||||||
                     :preloadable_poll,
 | 
					                     :preloadable_poll,
 | 
				
			||||||
                     account: :account_stat,
 | 
					                     account: [:account_stat, :user],
 | 
				
			||||||
                     active_mentions: { account: :account_stat },
 | 
					                     active_mentions: { account: :account_stat },
 | 
				
			||||||
                   ],
 | 
					                   ],
 | 
				
			||||||
                   thread: { account: :account_stat }
 | 
					                   thread: { account: :account_stat }
 | 
				
			||||||
@ -301,7 +301,7 @@ class Status < ApplicationRecord
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      return if account_ids.empty?
 | 
					      return if account_ids.empty?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      accounts = Account.where(id: account_ids).includes(:account_stat).index_by(&:id)
 | 
					      accounts = Account.where(id: account_ids).includes(:account_stat, :user).index_by(&:id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      cached_items.each do |item|
 | 
					      cached_items.each do |item|
 | 
				
			||||||
        item.account = accounts[item.account_id]
 | 
					        item.account = accounts[item.account_id]
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user