From 130d5a89458df9ae111cf2824fefadc02abd1a96 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Tue, 15 Mar 2022 18:49:17 -0400 Subject: [PATCH] Add index to improve speed of MMS count. --- .../org/thoughtcrime/securesms/database/MmsDatabase.java | 3 ++- .../securesms/database/helpers/SignalDatabaseMigrations.kt | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java index 7bd3df90b3..7f7f54fd9b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.java @@ -191,7 +191,8 @@ public class MmsDatabase extends MessageDatabase { "CREATE INDEX IF NOT EXISTS mms_thread_date_index ON " + TABLE_NAME + " (" + THREAD_ID + ", " + DATE_RECEIVED + ");", "CREATE INDEX IF NOT EXISTS mms_reactions_unread_index ON " + TABLE_NAME + " (" + REACTIONS_UNREAD + ");", "CREATE INDEX IF NOT EXISTS mms_is_story_index ON " + TABLE_NAME + " (" + STORY_TYPE + ");", - "CREATE INDEX IF NOT EXISTS mms_parent_story_id_index ON " + TABLE_NAME + " (" + PARENT_STORY_ID + ");" + "CREATE INDEX IF NOT EXISTS mms_parent_story_id_index ON " + TABLE_NAME + " (" + PARENT_STORY_ID + ");", + "CREATE INDEX IF NOT EXISTS mms_thread_story_parent_story_index ON " + TABLE_NAME + " (" + THREAD_ID + ", " + DATE_RECEIVED + "," + STORY_TYPE + "," + PARENT_STORY_ID + ");", }; private static final String[] MMS_PROJECTION = new String[] { diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt index 6f3b585be6..b2d846f111 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt @@ -194,6 +194,7 @@ object SignalDatabaseMigrations { private const val STORIES = 132 private const val ALLOW_STORY_REPLIES = 133 private const val GROUP_STORIES = 134 + private const val MMS_COUNT_INDEX = 135 const val DATABASE_VERSION = 135 @@ -2481,6 +2482,10 @@ object SignalDatabaseMigrations { if (oldVersion < GROUP_STORIES) { db.execSQL("ALTER TABLE groups ADD COLUMN display_as_story INTEGER DEFAULT 0") } + + if (oldVersion < MMS_COUNT_INDEX) { + db.execSQL("CREATE INDEX IF NOT EXISTS mms_thread_story_parent_story_index ON mms (thread_id, date_received, is_story, parent_story_id)") + } } @JvmStatic