Removed auttachment type index

This commit is contained in:
M66B 2020-06-20 09:54:43 +02:00
parent 35b983d5f1
commit 847a889515
4 changed files with 2264 additions and 5 deletions

File diff suppressed because it is too large Load Diff

View File

@ -60,7 +60,7 @@ import io.requery.android.database.sqlite.SQLiteDatabase;
// https://developer.android.com/topic/libraries/architecture/room.html
@Database(
version = 165,
version = 166,
entities = {
EntityIdentity.class,
EntityAccount.class,
@ -1634,7 +1634,12 @@ public abstract class DB extends RoomDatabase {
public void migrate(@NonNull SupportSQLiteDatabase db) {
Log.i("DB migration from version " + startVersion + " to " + endVersion);
db.execSQL("CREATE INDEX IF NOT EXISTS `index_attachment_message_type` ON `attachment` (`message`, `type`)");
createTriggers(db);
}
})
.addMigrations(new Migration(165, 166) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase db) {
db.execSQL("DROP INDEX `index_attachment_message_type`");
}
});
}

View File

@ -310,8 +310,8 @@ public interface DaoMessage {
" OR (:recipients AND `bcc` LIKE :find COLLATE NOCASE)" + // no index
" OR (:subject AND `subject` LIKE :find COLLATE NOCASE)" + // unsuitable index
" OR (:keywords AND `keywords` LIKE :find COLLATE NOCASE)" + // no index
" OR (:message AND `preview` LIKE :find COLLATE NOCASE)" +
" OR (:attachments AND attachment.name LIKE :find COLLATE NOCASE)" +
" OR (:message AND `preview` LIKE :find COLLATE NOCASE)" + // no index
" OR (:attachments AND attachment.name LIKE :find COLLATE NOCASE)" + // no index
" OR (:attachments AND attachment.type LIKE :find COLLATE NOCASE)) AS matched" + // no index
" FROM message" +
" LEFT JOIN attachment ON attachment.message = message.id" +

View File

@ -50,7 +50,6 @@ import static androidx.room.ForeignKey.CASCADE;
indices = {
@Index(value = {"message"}),
@Index(value = {"message", "sequence"}, unique = true),
@Index(value = {"message", "type"}),
@Index(value = {"message", "cid"})
}
)