mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-02 23:26:12 +02:00
Cleanup found messages
This commit is contained in:
@@ -45,7 +45,7 @@ import androidx.sqlite.db.SupportSQLiteDatabase;
|
||||
// https://developer.android.com/topic/libraries/architecture/room.html
|
||||
|
||||
@Database(
|
||||
version = 7,
|
||||
version = 8,
|
||||
entities = {
|
||||
EntityIdentity.class,
|
||||
EntityAccount.class,
|
||||
@@ -161,6 +161,13 @@ public abstract class DB extends RoomDatabase {
|
||||
db.execSQL("CREATE INDEX `index_log_time` ON `log` (`time`)");
|
||||
}
|
||||
})
|
||||
.addMigrations(new Migration(7, 8) {
|
||||
@Override
|
||||
public void migrate(SupportSQLiteDatabase db) {
|
||||
Log.i(Helper.TAG, "DB migration from version " + startVersion + " to " + endVersion);
|
||||
db.execSQL("CREATE INDEX `index_message_ui_found` ON `message` (`ui_found`)");
|
||||
}
|
||||
})
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@@ -174,8 +174,11 @@ public interface DaoMessage {
|
||||
int deleteMessage(long folder, long uid);
|
||||
|
||||
@Query("DELETE FROM message WHERE folder = :folder")
|
||||
void deleteMessages(long folder);
|
||||
int deleteMessages(long folder);
|
||||
|
||||
@Query("DELETE FROM message WHERE folder = :folder AND received < :received AND NOT uid IS NULL")
|
||||
int deleteMessagesBefore(long folder, long received);
|
||||
|
||||
@Query("DELETE FROM message WHERE ui_found")
|
||||
int deleteFoundMessages();
|
||||
}
|
||||
@@ -63,7 +63,8 @@ import static androidx.room.ForeignKey.CASCADE;
|
||||
@Index(value = {"thread"}),
|
||||
@Index(value = {"received"}),
|
||||
@Index(value = {"ui_seen"}),
|
||||
@Index(value = {"ui_hide"})
|
||||
@Index(value = {"ui_hide"}),
|
||||
@Index(value = {"ui_found"})
|
||||
}
|
||||
)
|
||||
public class EntityMessage implements Serializable {
|
||||
|
||||
@@ -94,6 +94,11 @@ public class JobDaily extends JobService {
|
||||
int logs = db.log().deleteLogs(before);
|
||||
Log.i(Helper.TAG, "Deleted logs=" + logs);
|
||||
|
||||
// Cleanup found messages
|
||||
Log.i(Helper.TAG, "Cleanup found messages");
|
||||
int found = db.message().deleteFoundMessages();
|
||||
Log.i(Helper.TAG, "Deleted found messages=" + found);
|
||||
|
||||
Log.i(Helper.TAG, "End daily job");
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user