FTS improvements

This commit is contained in:
M66B
2020-01-15 10:29:16 +01:00
parent 08098c2285
commit f93bce328b
11 changed files with 179 additions and 21 deletions

View File

@@ -202,6 +202,12 @@ public interface DaoMessage {
" AND ui_hide")
LiveData<List<Long>> liveHiddenThread(long account, String thread);
@Query("SELECT SUM(fts) AS fts, COUNT(*) AS total FROM message" +
" JOIN folder ON folder.id = message.folder" +
" WHERE content" +
" AND folder.type <> '" + EntityFolder.OUTBOX + "'")
LiveData<TupleFtsStats> liveFts();
@Query("SELECT *" +
" FROM message" +
" WHERE id = :id")
@@ -227,8 +233,11 @@ public interface DaoMessage {
" ORDER BY message.received DESC")
List<Long> getMessageIdsByFolder(Long folder);
@Query("SELECT id FROM message" +
" WHERE content AND NOT fts" +
@Query("SELECT message.id FROM message" +
" JOIN folder ON folder.id = message.folder" +
" WHERE content" +
" AND NOT fts" +
" AND folder.type <> '" + EntityFolder.OUTBOX + "'" +
" ORDER BY message.received DESC")
Cursor getMessageFts();
@@ -541,6 +550,9 @@ public interface DaoMessage {
@Query("UPDATE message SET headers = NULL WHERE headers IS NOT NULL")
int clearMessageHeaders();
@Query("UPDATE message SET fts = 0")
int resetFts();
@Query("DELETE FROM message WHERE id = :id")
int deleteMessage(long id);