Project

General

Profile

« Previous | Next » 

Revision 9fde85ad

Added by Dominic Cleal over 9 years ago

fixes #8565 - only get unique, unused message/source IDs to speed up expiry

View differences:

app/models/report.rb
cond += " and reports.status = #{status}" unless status.nil?
Log.joins(:report).where(:report_id => Report.where(cond)).delete_all
Message.where("id not IN (#{Log.select(:message_id).to_sql})").delete_all
Source.where("id not IN (#{Log.select(:source_id).to_sql})").delete_all
Message.where("id not IN (#{Log.select('DISTINCT message_id').to_sql})").delete_all
Source.where("id not IN (#{Log.select('DISTINCT source_id').to_sql})").delete_all
count = Report.where(cond).delete_all
logger.info Time.now.to_s + ": Expired #{count} Reports"
count

Also available in: Unified diff