Added POP cleanup

This commit is contained in:
M66B
2022-05-07 16:00:30 +02:00
parent 3a32fa8a62
commit 4dbdd1cdfa
2 changed files with 28 additions and 0 deletions

View File

@@ -756,6 +756,16 @@ public interface DaoMessage {
@Query("UPDATE message SET ui_hide = :ui_hide WHERE id = :id AND NOT (ui_hide IS :ui_hide)")
int setMessageUiHide(long id, Boolean ui_hide);
@Transaction
@Query("UPDATE message SET ui_hide = 1" +
" WHERE folder = :folder" +
" AND id NOT IN (" +
" SELECT id FROM message" +
" WHERE folder = :folder" +
" ORDER BY received DESC" +
" LIMIT :keep)")
int setMessagesUiHide(long folder, int keep);
@Query("UPDATE message SET ui_ignored = :ui_ignored WHERE id = :id AND NOT (ui_ignored IS :ui_ignored)")
int setMessageUiIgnored(long id, boolean ui_ignored);
@@ -964,4 +974,14 @@ public interface DaoMessage {
" AND stored < :sync_time" + // moved, browsed
" AND ui_snoozed IS NULL")
int deleteMessagesBefore(long folder, long sync_time, long keep_time, boolean unseen);
@Transaction
@Query("DELETE FROM message" +
" WHERE folder = :folder" +
" AND id NOT IN (" +
" SELECT id FROM message" +
" WHERE folder = :folder" +
" ORDER BY received DESC" +
" LIMIT :keep)")
int deleteMessagesKeep(long folder, int keep);
}