Skip to content
Snippets Groups Projects
Commit e5dd24e0 authored by JediKev's avatar JediKev Committed by Peter Rotich
Browse files

issue: Orphaned File Query Rewrite

This addresses an issue that was introduced by a previous attempt to
address the orphaned file query. The previous attempt addressed the
original issue but slowed database performance so this addresses the
performance issue.
parent 9f3b6b27
No related branches found
No related tags found
No related merge requests found
......@@ -627,20 +627,17 @@ class AttachmentFile extends VerySimpleModel {
* canned-response, or faq point to any more.
*/
static function deleteOrphans() {
// XXX: Allow plugins to define filetypes which do not represent
// files attached to tickets or other things in the attachment
// table and are not logos
$files = static::objects()
->filter(array(
'attachments__object_id__isnull' => true,
'ft' => 'T',
'created__lt' => SqlFunction::NOW()->minus(SqlInterval::DAY(1)),
));
foreach ($files as $f) {
if (!$f->delete())
break;
$sql = "SELECT `id` FROM ".FILE_TABLE.
" A1 WHERE (A1.ft = 'T' AND A1.created < NOW() - INTERVAL 1 DAY)".
" AND NOT EXISTS (SELECT id FROM ".ATTACHMENT_TABLE.
" A2 WHERE A1.`id` = A2.`file_id`)";
if (($res=db_query($sql)) && db_num_rows($res)) {
while (list($id) = db_fetch_row($res)) {
if ($f = static::lookup((int) $id))
if (!$f->delete())
break;
}
}
return true;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment