Remove redundant database indexes

This commit is contained in:
Max Radermacher 2024-06-07 13:25:15 -05:00 committed by GitHub
parent 92840df010
commit ac0c718aa8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 31 additions and 144 deletions

View File

@ -44,12 +44,6 @@ CREATE
)
;
CREATE
INDEX "index_model_TSThread_on_uniqueId"
ON "model_TSThread"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_TSInteraction" (
@ -130,12 +124,6 @@ CREATE
)
;
CREATE
INDEX "index_model_TSInteraction_on_uniqueId"
ON "model_TSInteraction"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_StickerPack" (
@ -153,12 +141,6 @@ CREATE
)
;
CREATE
INDEX "index_model_StickerPack_on_uniqueId"
ON "model_StickerPack"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_InstalledSticker" (
@ -172,12 +154,6 @@ CREATE
)
;
CREATE
INDEX "index_model_InstalledSticker_on_uniqueId"
ON "model_InstalledSticker"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_KnownStickerPack" (
@ -191,12 +167,6 @@ CREATE
)
;
CREATE
INDEX "index_model_KnownStickerPack_on_uniqueId"
ON "model_KnownStickerPack"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_TSAttachment" (
@ -296,12 +266,6 @@ CREATE
)
;
CREATE
INDEX "index_model_SSKJobRecord_on_uniqueId"
ON "model_SSKJobRecord"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_OWSMessageContentJob" (
@ -317,12 +281,6 @@ CREATE
)
;
CREATE
INDEX "index_model_OWSMessageContentJob_on_uniqueId"
ON "model_OWSMessageContentJob"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_OWSRecipientIdentity" (
@ -338,12 +296,6 @@ CREATE
)
;
CREATE
INDEX "index_model_OWSRecipientIdentity_on_uniqueId"
ON "model_OWSRecipientIdentity"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_OWSDisappearingMessagesConfiguration" (
@ -356,12 +308,6 @@ CREATE
)
;
CREATE
INDEX "index_model_OWSDisappearingMessagesConfiguration_on_uniqueId"
ON "model_OWSDisappearingMessagesConfiguration"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_SignalRecipient" (
@ -378,12 +324,6 @@ CREATE
)
;
CREATE
INDEX "index_model_SignalRecipient_on_uniqueId"
ON "model_SignalRecipient"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_OWSUserProfile" (
@ -410,12 +350,6 @@ CREATE
)
;
CREATE
INDEX "index_model_OWSUserProfile_on_uniqueId"
ON "model_OWSUserProfile"("uniqueId"
)
;
CREATE
INDEX "index_model_OWSUserProfile_on_lastFetchDate_and_lastMessagingDate"
ON "model_OWSUserProfile"("lastFetchDate"
@ -437,12 +371,6 @@ CREATE
)
;
CREATE
INDEX "index_model_OWSDevice_on_uniqueId"
ON "model_OWSDevice"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_TestModel" (
@ -462,12 +390,6 @@ CREATE
)
;
CREATE
INDEX "index_model_TestModel_on_uniqueId"
ON "model_TestModel"("uniqueId"
)
;
CREATE
INDEX "index_interactions_on_threadUniqueId_and_id"
ON "model_TSInteraction"("uniqueThreadId"
@ -600,12 +522,6 @@ CREATE
)
;
CREATE
INDEX "index_model_SignalAccount_on_uniqueId"
ON "model_SignalAccount"("uniqueId"
)
;
CREATE
INDEX "index_signal_accounts_on_recipientPhoneNumber"
ON "model_SignalAccount"("recipientPhoneNumber"
@ -636,12 +552,6 @@ CREATE
)
;
CREATE
INDEX "index_media_gallery_items_on_attachmentId"
ON "media_gallery_items"("attachmentId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_OWSReaction" (
@ -659,12 +569,6 @@ CREATE
)
;
CREATE
INDEX "index_model_OWSReaction_on_uniqueId"
ON "model_OWSReaction"("uniqueId"
)
;
CREATE
INDEX "index_model_OWSReaction_on_uniqueMessageId_and_reactorE164"
ON "model_OWSReaction"("uniqueMessageId"
@ -811,12 +715,6 @@ CREATE
)
;
CREATE
INDEX "index_model_IncomingGroupsV2MessageJob_on_uniqueId"
ON "model_IncomingGroupsV2MessageJob"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "model_ExperienceUpgrade" (
@ -832,12 +730,6 @@ CREATE
)
;
CREATE
INDEX "index_model_ExperienceUpgrade_on_uniqueId"
ON "model_ExperienceUpgrade"("uniqueId"
)
;
CREATE
TABLE
IF NOT EXISTS "pending_read_receipts" (
@ -877,12 +769,6 @@ CREATE
)
;
CREATE
INDEX "index_model_TSAttachment_on_uniqueId"
ON "model_TSAttachment"("uniqueId"
)
;
CREATE
INDEX "index_model_TSInteraction_on_uniqueThreadId_recordType_messageType"
ON "model_TSInteraction"("uniqueThreadId"
@ -912,12 +798,6 @@ CREATE
)
;
CREATE
INDEX "index_model_TSMention_on_uniqueId"
ON "model_TSMention"("uniqueId"
)
;
CREATE
INDEX "index_model_TSMention_on_uuidString_and_uniqueThreadId"
ON "model_TSMention"("uuidString"
@ -972,12 +852,6 @@ CREATE
)
;
CREATE
INDEX "index_model_TSPaymentModel_on_uniqueId"
ON "model_TSPaymentModel"("uniqueId"
)
;
CREATE
INDEX "index_model_TSPaymentModel_on_paymentState"
ON "model_TSPaymentModel"("paymentState"
@ -1022,12 +896,6 @@ CREATE
)
;
CREATE
INDEX "index_model_TSGroupMember_on_uniqueId"
ON "model_TSGroupMember"("uniqueId"
)
;
CREATE
INDEX "index_model_TSGroupMember_on_groupThreadId"
ON "model_TSGroupMember"("groupThreadId"
@ -1079,12 +947,6 @@ CREATE
)
;
CREATE
UNIQUE INDEX "index_thread_associated_data_on_threadUniqueId"
ON "thread_associated_data"("threadUniqueId"
)
;
CREATE
INDEX "index_thread_associated_data_on_threadUniqueId_and_isMarkedUnread"
ON "thread_associated_data"("threadUniqueId"
@ -1192,12 +1054,6 @@ CREATE
)
;
CREATE
INDEX "index_model_StoryMessage_on_uniqueId"
ON "model_StoryMessage"("uniqueId"
)
;
CREATE
INDEX "index_model_StoryMessage_on_timestamp_and_authorUuid"
ON "model_StoryMessage"("timestamp"

View File

@ -263,6 +263,7 @@ public class GRDBSchemaMigrator: NSObject {
case addBulkDeleteInteractionJobRecord
case cleanUpThreadIndexes
case addOrphanAttachmentPendingColumn
case cleanUpUniqueIndexes
// NOTE: Every time we add a migration id, consider
// incrementing grdbSchemaVersionLatest.
@ -2843,6 +2844,36 @@ public class GRDBSchemaMigrator: NSObject {
return .success(())
}
migrator.registerMigration(.cleanUpUniqueIndexes) { tx in
try tx.database.execute(sql: """
DROP INDEX IF EXISTS "index_model_ExperienceUpgrade_on_uniqueId";
DROP INDEX IF EXISTS "index_model_IncomingGroupsV2MessageJob_on_uniqueId";
DROP INDEX IF EXISTS "index_model_InstalledSticker_on_uniqueId";
DROP INDEX IF EXISTS "index_model_KnownStickerPack_on_uniqueId";
DROP INDEX IF EXISTS "index_model_OWSDevice_on_uniqueId";
DROP INDEX IF EXISTS "index_model_OWSDisappearingMessagesConfiguration_on_uniqueId";
DROP INDEX IF EXISTS "index_model_OWSMessageContentJob_on_uniqueId";
DROP INDEX IF EXISTS "index_model_OWSReaction_on_uniqueId";
DROP INDEX IF EXISTS "index_model_OWSRecipientIdentity_on_uniqueId";
DROP INDEX IF EXISTS "index_model_OWSUserProfile_on_uniqueId";
DROP INDEX IF EXISTS "index_model_SSKJobRecord_on_uniqueId";
DROP INDEX IF EXISTS "index_model_SignalAccount_on_uniqueId";
DROP INDEX IF EXISTS "index_model_SignalRecipient_on_uniqueId";
DROP INDEX IF EXISTS "index_model_StickerPack_on_uniqueId";
DROP INDEX IF EXISTS "index_model_StoryMessage_on_uniqueId";
DROP INDEX IF EXISTS "index_model_TSAttachment_on_uniqueId";
DROP INDEX IF EXISTS "index_model_TSGroupMember_on_uniqueId";
DROP INDEX IF EXISTS "index_model_TSInteraction_on_uniqueId";
DROP INDEX IF EXISTS "index_model_TSMention_on_uniqueId";
DROP INDEX IF EXISTS "index_model_TSPaymentModel_on_uniqueId";
DROP INDEX IF EXISTS "index_model_TSThread_on_uniqueId";
DROP INDEX IF EXISTS "index_model_TestModel_on_uniqueId";
DROP INDEX IF EXISTS "index_media_gallery_items_on_attachmentId";
DROP INDEX IF EXISTS "index_thread_associated_data_on_threadUniqueId";
""")
return .success(())
}
// MARK: - Schema Migration Insertion Point
}