Use #any? instead of #exists? when checking media attachments (#7570)

If media_attachments are not loaded, SQL query is the same, but
the #exists? method performs SQL query even if preloaded
This commit is contained in:
Eugen Rochko 2018-05-21 16:01:16 +02:00 committed by GitHub
parent ed4949c676
commit f68736088b
3 changed files with 3 additions and 3 deletions

View file

@ -81,7 +81,7 @@ class BatchedRemoveStatusService < BaseService
redis.publish('timeline:public', payload) redis.publish('timeline:public', payload)
redis.publish('timeline:public:local', payload) if status.local? redis.publish('timeline:public:local', payload) if status.local?
if status.media_attachments.exists? if status.media_attachments.any?
redis.publish('timeline:public:media', payload) redis.publish('timeline:public:media', payload)
redis.publish('timeline:public:local:media', payload) if status.local? redis.publish('timeline:public:local:media', payload) if status.local?
end end

View file

@ -25,7 +25,7 @@ class FanOutOnWriteService < BaseService
return if status.reply? && status.in_reply_to_account_id != status.account_id return if status.reply? && status.in_reply_to_account_id != status.account_id
deliver_to_public(status) deliver_to_public(status)
deliver_to_media(status) if status.media_attachments.exists? deliver_to_media(status) if status.media_attachments.any?
end end
private private

View file

@ -20,7 +20,7 @@ class RemoveStatusService < BaseService
remove_reblogs remove_reblogs
remove_from_hashtags remove_from_hashtags
remove_from_public remove_from_public
remove_from_media if status.media_attachments.exists? remove_from_media if status.media_attachments.any?
remove_from_direct if status.direct_visibility? remove_from_direct if status.direct_visibility?
@status.destroy! @status.destroy!