Правилен ли такой алгоритм?
Я обхожу дерево E4/DATA/domains в поисках файлов .messages.db3.
Для каждого файла:
- Нахожу
SELECT MAX(mid) FROM sp_messages WHERE created_t <= {$expiration_timestamp}
Если пусто, старых писем нет. Если не пусто, запоминаю в переменную max_mid.
- Выполняю
DELETE FROM sp_messages WHERE mid <= {$max_mid};
VACUUM;
- Если рядом лежит .headers.db3, выполняю в нём
DELETE FROM sp_headers WHERE mid <= {$max_mid};
VACUUM;
- Если рядом лежит .events.db3, выполняю в нём
DELETE FROM sp_events WHERE mid <= {$max_mid};
VACUUM;