diff --git a/SignalServiceKit/Resources/schema.sql b/SignalServiceKit/Resources/schema.sql index 8bc89238c3..0eaf339aa8 100644 --- a/SignalServiceKit/Resources/schema.sql +++ b/SignalServiceKit/Resources/schema.sql @@ -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" diff --git a/SignalServiceKit/Storage/Database/GRDBSchemaMigrator.swift b/SignalServiceKit/Storage/Database/GRDBSchemaMigrator.swift index 7f07464cdd..04b8235e6b 100644 --- a/SignalServiceKit/Storage/Database/GRDBSchemaMigrator.swift +++ b/SignalServiceKit/Storage/Database/GRDBSchemaMigrator.swift @@ -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 }