add_imap_deletion_jobs: check only for DeleteMsgOnImap jobs

Other jobs may have different meaning for foreign_id.

Also removed " \" at the end of lines.
This commit is contained in:
Alexander Krotov
2020-03-07 18:57:17 +03:00
parent 6db03356b5
commit 314c3d5e78

View File

@@ -946,11 +946,12 @@ fn add_imap_deletion_jobs(context: &Context) -> sql::Result<()> {
// Select all expired messages which don't have a
// corresponding message deletion job yet.
let msg_ids = context.sql.query_map(
"SELECT id FROM msgs \
WHERE timestamp < ? \
AND server_uid != 0 \
AND NOT EXISTS (SELECT 1 FROM jobs WHERE foreign_id = msgs.id)",
params![threshold_timestamp],
"SELECT id FROM msgs
WHERE timestamp < ?
AND server_uid != 0
AND NOT EXISTS (SELECT 1 FROM jobs WHERE foreign_id = msgs.id
AND action = ?)",
params![threshold_timestamp, Action::DeleteMsgOnImap],
|row| row.get::<_, MsgId>(0),
|ids| {
ids.collect::<std::result::Result<Vec<_>, _>>()