diff --git a/app/src/main/java/eu/faircode/email/DB.java b/app/src/main/java/eu/faircode/email/DB.java index f5ff7d0572..cdea0173cf 100644 --- a/app/src/main/java/eu/faircode/email/DB.java +++ b/app/src/main/java/eu/faircode/email/DB.java @@ -404,10 +404,10 @@ public abstract class DB extends RoomDatabase { .addCallback(new Callback() { @Override public void onOpen(@NonNull SupportSQLiteDatabase db) { - Map map = new HashMap<>(); - map.put("version", Integer.toString(db.getVersion())); - map.put("WAL", Boolean.toString(db.isWriteAheadLoggingEnabled())); - Log.breadcrumb("Database", map); + Map crumb = new HashMap<>(); + crumb.put("version", Integer.toString(db.getVersion())); + crumb.put("WAL", Boolean.toString(db.isWriteAheadLoggingEnabled())); + Log.breadcrumb("Database", crumb); // https://www.sqlite.org/pragma.html#pragma_cache_size Integer cache_size = getCacheSizeKb(context); @@ -487,13 +487,20 @@ public abstract class DB extends RoomDatabase { " END"); } + private static void logMigration(int startVersion, int endVersion) { + Map crumb = new HashMap<>(); + crumb.put("startVersion", Integer.toString(startVersion)); + crumb.put("endVersion", Integer.toString(endVersion)); + Log.breadcrumb("Migration", crumb); + } + private static RoomDatabase.Builder migrate(final Context context, RoomDatabase.Builder builder) { // https://www.sqlite.org/lang_altertable.html return builder .addMigrations(new Migration(1, 2) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` RENAME COLUMN `after` TO `sync_days`"); db.execSQL("ALTER TABLE `folder` ADD COLUMN `keep_days` INTEGER NOT NULL DEFAULT 30"); db.execSQL("UPDATE `folder` SET keep_days = sync_days"); @@ -502,7 +509,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(2, 3) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `signature` TEXT"); db.execSQL("UPDATE `identity` SET signature =" + " (SELECT account.signature FROM account WHERE account.id = identity.account)"); @@ -511,7 +518,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(3, 4) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `forwarding` INTEGER" + " REFERENCES `message`(`id`) ON UPDATE NO ACTION ON DELETE SET NULL"); db.execSQL("CREATE INDEX `index_message_forwarding` ON `message` (`forwarding`)"); @@ -520,7 +527,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(4, 5) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `last_connected` INTEGER"); db.execSQL("ALTER TABLE `message` ADD COLUMN `last_attempt` INTEGER"); } @@ -528,14 +535,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(5, 6) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `notify` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(6, 7) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `answered` INTEGER NOT NULL DEFAULT 0"); db.execSQL("ALTER TABLE `message` ADD COLUMN `ui_answered` INTEGER NOT NULL DEFAULT 0"); } @@ -543,21 +550,21 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(7, 8) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `keywords` TEXT"); } }) .addMigrations(new Migration(8, 9) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `keywords` TEXT"); } }) .addMigrations(new Migration(9, 10) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `ui_browsed` INTEGER NOT NULL DEFAULT 0"); db.execSQL("CREATE INDEX `index_message_ui_browsed` ON `message` (`ui_browsed`)"); } @@ -565,14 +572,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(10, 11) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `operation` ADD COLUMN `error` TEXT"); } }) .addMigrations(new Migration(11, 12) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP INDEX `index_operation_folder`"); db.execSQL("DROP INDEX `index_operation_message`"); db.execSQL("DROP TABLE `operation`"); @@ -593,35 +600,35 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(12, 13) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE INDEX `index_message_ui_flagged` ON `message` (`ui_flagged`)"); } }) .addMigrations(new Migration(13, 14) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `level` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(14, 15) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `sync_state` TEXT"); } }) .addMigrations(new Migration(15, 16) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `poll` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(16, 17) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DELETE FROM `message` WHERE ui_found"); db.execSQL("DROP INDEX `index_message_folder_uid_ui_found`"); db.execSQL("DROP INDEX `index_message_msgid_folder_ui_found`"); @@ -632,7 +639,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(17, 18) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `tbd` INTEGER"); db.execSQL("ALTER TABLE `identity` ADD COLUMN `tbd` INTEGER"); db.execSQL("ALTER TABLE `folder` ADD COLUMN `tbd` INTEGER"); @@ -641,7 +648,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(18, 19) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `delivery_receipt` INTEGER NOT NULL DEFAULT 0"); db.execSQL("ALTER TABLE `identity` ADD COLUMN `read_receipt` INTEGER NOT NULL DEFAULT 0"); } @@ -649,7 +656,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(19, 20) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `notify` INTEGER NOT NULL DEFAULT 0"); db.execSQL("UPDATE `folder` SET notify = unified"); } @@ -657,7 +664,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(20, 21) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `display` TEXT"); db.execSQL("ALTER TABLE `identity` ADD COLUMN `bcc` TEXT"); } @@ -665,7 +672,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(21, 22) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `initialize` INTEGER NOT NULL DEFAULT 1"); db.execSQL("UPDATE `folder` SET sync_days = 1"); } @@ -673,28 +680,28 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(22, 23) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `download` INTEGER NOT NULL DEFAULT 1"); } }) .addMigrations(new Migration(23, 24) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `tbc` INTEGER"); } }) .addMigrations(new Migration(24, 25) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `prefix` TEXT"); } }) .addMigrations(new Migration(25, 26) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); int browse = (prefs.getBoolean("browse", true) ? 1 : 0); db.execSQL("ALTER TABLE `account` ADD COLUMN `browse` INTEGER NOT NULL DEFAULT " + browse); @@ -703,7 +710,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(26, 27) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `sender` TEXT"); db.execSQL("CREATE INDEX `index_message_sender` ON `message` (`sender`)"); } @@ -711,7 +718,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(27, 28) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); try (Cursor cursor = db.query("SELECT `id`, `from` FROM message")) { while (cursor.moveToNext()) @@ -733,14 +740,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(28, 29) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `last_sync` INTEGER"); } }) .addMigrations(new Migration(29, 30) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `attachment` ADD COLUMN `encryption` INTEGER"); db.execSQL("UPDATE attachment SET encryption = " + EntityAttachment.PGP_MESSAGE + " where name = 'encrypted.asc'"); } @@ -748,14 +755,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(30, 31) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `attachment` ADD COLUMN `disposition` TEXT"); } }) .addMigrations(new Migration(31, 32) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `ui_snoozed` INTEGER"); db.execSQL("CREATE INDEX `index_message_ui_snoozed` ON `message` (`ui_snoozed`)"); } @@ -763,7 +770,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(32, 33) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `realm` TEXT"); db.execSQL("ALTER TABLE `identity` ADD COLUMN `realm` TEXT"); } @@ -771,28 +778,28 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(33, 34) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `raw` INTEGER"); } }) .addMigrations(new Migration(34, 35) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `attachment` ADD COLUMN `error` TEXT"); } }) .addMigrations(new Migration(35, 36) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `warning` TEXT"); } }) .addMigrations(new Migration(36, 37) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE TABLE `rule`" + " (`id` INTEGER PRIMARY KEY AUTOINCREMENT," + " `folder` INTEGER NOT NULL," + @@ -809,14 +816,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(37, 38) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `rule` ADD COLUMN `stop` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(38, 39) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `swipe_left` INTEGER"); db.execSQL("ALTER TABLE `account` ADD COLUMN `swipe_right` INTEGER"); } @@ -824,35 +831,35 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(39, 40) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `last_connected` INTEGER"); } }) .addMigrations(new Migration(40, 41) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `flags` TEXT"); } }) .addMigrations(new Migration(41, 42) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `plain_only` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(42, 43) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `pop` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(43, 44) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE TABLE IF NOT EXISTS `contact`" + " (`id` INTEGER PRIMARY KEY AUTOINCREMENT" + ", `type` INTEGER NOT NULL" + @@ -865,42 +872,42 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(44, 45) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `ondemand` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(45, 46) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `encrypt` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(46, 47) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `use_ip` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(47, 48) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE `identity` SET use_ip = 1"); } }) .addMigrations(new Migration(48, 49) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE INDEX `index_operation_name` ON `operation` (`name`)"); } }) .addMigrations(new Migration(49, 50) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP INDEX `index_message_replying`"); db.execSQL("DROP INDEX `index_message_forwarding`"); db.execSQL("CREATE INDEX `index_message_subject` ON `message` (`subject`)"); @@ -909,28 +916,28 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(50, 51) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DELETE FROM operation WHERE name = 'wait'"); } }) .addMigrations(new Migration(51, 52) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `total` INTEGER"); } }) .addMigrations(new Migration(52, 53) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `operation` ADD COLUMN `account` INTEGER"); } }) .addMigrations(new Migration(53, 54) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); File folder = new File(context.getFilesDir(), "attachments"); File[] attachments = folder.listFiles(); if (attachments != null) @@ -961,7 +968,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(54, 55) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `contact` ADD COLUMN `avatar` TEXT"); db.execSQL("ALTER TABLE `contact` ADD COLUMN `times_contacted` INTEGER NOT NULL DEFAULT 1"); db.execSQL("ALTER TABLE `contact` ADD COLUMN `last_contacted` INTEGER"); @@ -970,14 +977,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(55, 56) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `contact` ADD COLUMN `favorite` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(56, 57) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE INDEX `index_contact_times_contacted` ON `contact` (`times_contacted`)"); db.execSQL("CREATE INDEX `index_contact_last_contacted` ON `contact` (`last_contacted`)"); db.execSQL("CREATE INDEX `index_contact_favorite` ON `contact` (`favorite`)"); @@ -986,7 +993,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(57, 58) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP TABLE `contact`"); db.execSQL("CREATE TABLE IF NOT EXISTS `contact`" + " (`id` INTEGER PRIMARY KEY AUTOINCREMENT" + @@ -1010,35 +1017,35 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(58, 59) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE INDEX `index_contact_avatar` ON `contact` (`avatar`)"); } }) .addMigrations(new Migration(59, 60) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `parent` INTEGER"); } }) .addMigrations(new Migration(60, 61) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `collapsed` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(61, 62) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `warning` TEXT"); } }) .addMigrations(new Migration(62, 63) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP INDEX index_message_msgid_folder"); db.execSQL("CREATE INDEX `index_message_msgid` ON `message` (`msgid`)"); } @@ -1046,7 +1053,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(63, 64) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `dkim` INTEGER"); db.execSQL("ALTER TABLE `message` ADD COLUMN `spf` INTEGER"); db.execSQL("ALTER TABLE `message` ADD COLUMN `dmarc` INTEGER"); @@ -1055,28 +1062,28 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(64, 65) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `sender_extra` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(65, 66) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `receipt_request` INTEGER"); } }) .addMigrations(new Migration(66, 67) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `revision` INTEGER"); } }) .addMigrations(new Migration(67, 68) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `revisions` INTEGER"); db.execSQL("UPDATE message SET revisions = revision"); } @@ -1084,84 +1091,84 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(68, 69) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `receipt_to` TEXT"); } }) .addMigrations(new Migration(69, 70) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE message SET uid = NULL WHERE uid < 0"); } }) .addMigrations(new Migration(70, 71) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `answer` ADD COLUMN `hide` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(71, 72) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `list_post` TEXT"); } }) .addMigrations(new Migration(72, 73) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `order` INTEGER"); } }) .addMigrations(new Migration(73, 74) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `subscribed` INTEGER"); } }) .addMigrations(new Migration(74, 75) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `navigation` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(75, 76) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `order` INTEGER"); } }) .addMigrations(new Migration(76, 77) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `read_only` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(77, 78) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `auto_delete` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(78, 79) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `plain_only` INTEGER"); } }) .addMigrations(new Migration(79, 80) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP INDEX index_attachment_message_cid"); db.execSQL("CREATE INDEX `index_attachment_message_cid` ON `attachment` (`message`, `cid`)"); } @@ -1169,14 +1176,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(80, 81) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `operation` ADD COLUMN `state` TEXT"); } }) .addMigrations(new Migration(81, 82) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE INDEX `index_operation_account` ON `operation` (`account`)"); db.execSQL("CREATE INDEX `index_operation_state` ON `operation` (`state`)"); } @@ -1184,98 +1191,98 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(82, 83) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `color` INTEGER"); } }) .addMigrations(new Migration(83, 84) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE attachment SET disposition = lower(disposition) WHERE NOT disposition IS NULL"); } }) .addMigrations(new Migration(84, 85) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE attachment SET size = NULL WHERE size = 0"); } }) .addMigrations(new Migration(85, 86) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE VIEW `folderview` AS SELECT id, account, name, type, display, unified FROM folder"); } }) .addMigrations(new Migration(86, 87) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP VIEW IF EXISTS `folderview`"); } }) .addMigrations(new Migration(87, 88) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `partial_fetch` INTEGER NOT NULL DEFAULT 1"); } }) .addMigrations(new Migration(88, 89) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `separator` INTEGER"); } }) .addMigrations(new Migration(89, 90) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `notifying` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(90, 91) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `selectable` INTEGER NOT NULL DEFAULT 1"); } }) .addMigrations(new Migration(91, 92) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE `account` SET poll_interval = 24"); } }) .addMigrations(new Migration(92, 93) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `mx` INTEGER"); } }) .addMigrations(new Migration(93, 94) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `encrypt` INTEGER"); } }) .addMigrations(new Migration(94, 95) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `sign_key` INTEGER"); } }) .addMigrations(new Migration(95, 96) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `attachments` INTEGER NOT NULL DEFAULT 0"); db.execSQL("UPDATE message SET attachments =" + " (SELECT COUNT(attachment.id) FROM attachment WHERE attachment.message = message.id)"); @@ -1284,70 +1291,70 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(96, 97) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `uidv` INTEGER"); } }) .addMigrations(new Migration(97, 98) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `rename` TEXT"); } }) .addMigrations(new Migration(98, 99) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `signature` INTEGER NOT NULL DEFAULT 1"); } }) .addMigrations(new Migration(99, 100) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `unsubscribe` TEXT"); } }) .addMigrations(new Migration(100, 101) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `sender_extra_regex` TEXT"); } }) .addMigrations(new Migration(101, 102) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `auto_seen` INTEGER NOT NULL DEFAULT 1"); } }) .addMigrations(new Migration(102, 103) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE `account` SET browse = 1 WHERE pop = 1"); } }) .addMigrations(new Migration(103, 104) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE `message` SET ui_hide = 1 WHERE ui_hide <> 0"); } }) .addMigrations(new Migration(104, 105) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `priority` INTEGER"); } }) .addMigrations(new Migration(105, 106) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `total` INTEGER"); db.execSQL("UPDATE `message` SET total = size"); } @@ -1355,49 +1362,49 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(106, 107) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `receipt` INTEGER"); } }) .addMigrations(new Migration(107, 108) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `color` INTEGER"); } }) .addMigrations(new Migration(108, 109) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `ignore_size` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(109, 110) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `ui_busy` INTEGER"); } }) .addMigrations(new Migration(110, 111) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `rule` ADD COLUMN `applied` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(111, 112) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `move_to` INTEGER"); } }) .addMigrations(new Migration(112, 113) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE TABLE IF NOT EXISTS `revision`" + " (`id` INTEGER PRIMARY KEY AUTOINCREMENT" + ", `message` INTEGER NOT NULL" + @@ -1412,7 +1419,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(113, 114) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE message SET encrypt = 1 WHERE id IN " + "(SELECT DISTINCT message FROM attachment" + " WHERE encryption = " + EntityAttachment.PGP_MESSAGE + ")"); @@ -1421,21 +1428,21 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(114, 115) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP TABLE revision"); } }) .addMigrations(new Migration(115, 116) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `use_date` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(116, 117) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE TABLE IF NOT EXISTS `certificate`" + " (`id` INTEGER PRIMARY KEY AUTOINCREMENT" + ", `subject` TEXT NOT NULL" + @@ -1448,7 +1455,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(117, 118) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP TABLE IF EXISTS `certificate`"); db.execSQL("CREATE TABLE IF NOT EXISTS `certificate`" + " (`id` INTEGER PRIMARY KEY AUTOINCREMENT" + @@ -1463,14 +1470,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(118, 119) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `sign_key_alias` TEXT"); } }) .addMigrations(new Migration(119, 120) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `certificate` ADD COLUMN `after` INTEGER"); db.execSQL("ALTER TABLE `certificate` ADD COLUMN `before` INTEGER"); } @@ -1478,14 +1485,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(120, 121) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE `account` SET ondemand = 0"); } }) .addMigrations(new Migration(121, 122) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE `message` SET raw = NULL"); File[] raws = new File(context.getFilesDir(), "raw").listFiles(); @@ -1497,7 +1504,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(122, 123) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `fingerprint` TEXT"); db.execSQL("ALTER TABLE `identity` ADD COLUMN `fingerprint` TEXT"); } @@ -1505,7 +1512,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(123, 124) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `provider` TEXT"); db.execSQL("ALTER TABLE `identity` ADD COLUMN `provider` TEXT"); } @@ -1513,7 +1520,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(124, 125) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); int previous_version = prefs.getInt("previous_version", -1); if (previous_version <= 848 && Helper.isPlayStoreInstall()) { @@ -1526,14 +1533,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(125, 126) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `autocrypt` TEXT"); } }) .addMigrations(new Migration(126, 127) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `keep_alive_ok` INTEGER NOT NULL DEFAULT 0"); db.execSQL("ALTER TABLE `account` ADD COLUMN `keep_alive_failed` INTEGER NOT NULL DEFAULT 0"); } @@ -1541,7 +1548,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(127, 128) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `quota_usage` INTEGER"); db.execSQL("ALTER TABLE `account` ADD COLUMN `quota_limit` INTEGER"); } @@ -1549,28 +1556,28 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(128, 129) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `poll_exempted` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(129, 130) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `fts` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(130, 131) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `answer` ADD COLUMN `favorite` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(131, 132) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `ui_encrypt` INTEGER"); db.execSQL("UPDATE `message` SET `ui_encrypt` = `encrypt`"); } @@ -1578,7 +1585,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(132, 133) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `leave_on_server` INTEGER NOT NULL DEFAULT 1"); db.execSQL("ALTER TABLE `account` ADD COLUMN `leave_on_device` INTEGER NOT NULL DEFAULT 0"); db.execSQL("UPDATE `account` SET `leave_on_server` = `browse` WHERE `pop` = " + EntityAccount.TYPE_POP); @@ -1587,7 +1594,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(133, 134) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP TRIGGER IF EXISTS `attachment_insert`"); db.execSQL("DROP TRIGGER IF EXISTS `attachment_delete`"); createTriggers(db); @@ -1596,8 +1603,12 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(134, 135) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); - db.execSQL("CREATE VIEW IF NOT EXISTS `account_view` AS " + TupleAccountView.query); + logMigration(startVersion, endVersion); + try { + db.execSQL("CREATE VIEW IF NOT EXISTS `account_view` AS " + TupleAccountView.query); + } catch (Throwable ex) { + Log.w(ex); + } db.execSQL("CREATE VIEW IF NOT EXISTS `identity_view` AS " + TupleIdentityView.query); db.execSQL("CREATE VIEW IF NOT EXISTS `folder_view` AS " + TupleFolderView.query); } @@ -1605,42 +1616,42 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(135, 136) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `certificate` ADD COLUMN `intermediate` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(136, 137) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `submitter` TEXT"); } }) .addMigrations(new Migration(137, 138) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `importance` INTEGER"); } }) .addMigrations(new Migration(138, 139) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE `message` SET fts = 0"); } }) .addMigrations(new Migration(139, 140) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE `message` SET fts = 0"); } }) .addMigrations(new Migration(140, 141) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `certificate` INTEGER NOT NULL DEFAULT 0"); db.execSQL("ALTER TABLE `identity` ADD COLUMN `certificate` INTEGER NOT NULL DEFAULT 0"); } @@ -1648,7 +1659,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(141, 142) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `certificate_alias` TEXT"); db.execSQL("ALTER TABLE `identity` ADD COLUMN `certificate_alias` TEXT"); } @@ -1656,21 +1667,21 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(142, 143) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `operation` ADD COLUMN `tries` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(143, 144) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `inferiors` INTEGER NOT NULL DEFAULT 1"); } }) .addMigrations(new Migration(144, 145) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `poll_factor` INTEGER NOT NULL DEFAULT 1"); db.execSQL("ALTER TABLE `folder` ADD COLUMN `poll_count` INTEGER NOT NULL DEFAULT 0"); } @@ -1678,42 +1689,42 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(145, 146) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `max_messages` INTEGER"); } }) .addMigrations(new Migration(146, 147) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `thread` INTEGER"); } }) .addMigrations(new Migration(147, 148) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `cc` TEXT"); } }) .addMigrations(new Migration(148, 149) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `leave_deleted` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(149, 150) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `language` TEXT"); } }) .addMigrations(new Migration(150, 151) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `keep_alive_succeeded` INTEGER NOT NULL DEFAULT 0"); db.execSQL("UPDATE account SET keep_alive_failed = 0, keep_alive_ok = 0"); } @@ -1721,63 +1732,63 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(151, 152) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `hash` TEXT"); } }) .addMigrations(new Migration(152, 153) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `unicode` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(153, 154) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `ehlo` TEXT"); } }) .addMigrations(new Migration(154, 155) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE `folder` SET `poll` = 1 WHERE `synchronize` = 0"); } }) .addMigrations(new Migration(155, 156) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE INDEX IF NOT EXISTS `index_message_inreplyto` ON `message` (`inreplyto`)"); } }) .addMigrations(new Migration(156, 157) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `wasforwardedfrom` TEXT"); } }) .addMigrations(new Migration(157, 158) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `uidl` TEXT"); } }) .addMigrations(new Migration(158, 159) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `ui_unsnoozed` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(159, 160) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP TRIGGER attachment_insert"); db.execSQL("DROP TRIGGER attachment_delete"); createTriggers(db); @@ -1786,7 +1797,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(160, 161) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); String encrypt_method = prefs.getString("default_encrypt_method", "pgp"); db.execSQL("UPDATE identity SET encrypt = " + ("pgp".equals(encrypt_method) ? 0 : 1)); @@ -1796,14 +1807,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(161, 162) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `verified` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(162, 163) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP TRIGGER attachment_insert"); db.execSQL("DROP TRIGGER attachment_delete"); createTriggers(db); @@ -1812,7 +1823,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(163, 164) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP TRIGGER attachment_insert"); db.execSQL("DROP TRIGGER attachment_delete"); createTriggers(db); @@ -1821,7 +1832,7 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(164, 165) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE INDEX IF NOT EXISTS `index_attachment_message_type` ON `attachment` (`message`, `type`)"); } }) @@ -1834,35 +1845,35 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(166, 167) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `labels` TEXT"); } }) .addMigrations(new Migration(167, 168) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `self` INTEGER NOT NULL DEFAULT 1"); } }) .addMigrations(new Migration(168, 169) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `max_size` INTEGER"); } }) .addMigrations(new Migration(169, 170) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `max_size` INTEGER"); } }) .addMigrations(new Migration(170, 171) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("DROP TRIGGER IF EXISTS `attachment_insert`"); db.execSQL("DROP TRIGGER IF EXISTS `attachment_delete`"); createTriggers(db); @@ -1871,14 +1882,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(171, 172) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `use_received` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(172, 173) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `attachment` ADD COLUMN `subsequence` INTEGER"); db.execSQL("DROP INDEX `index_attachment_message_sequence`"); db.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS `index_attachment_message_sequence_subsequence` ON `attachment` (`message`, `sequence`, `subsequence`)"); @@ -1887,35 +1898,35 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(173, 174) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `answer` ADD COLUMN `group` TEXT"); } }) .addMigrations(new Migration(174, 175) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `answer` ADD COLUMN `standard` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(175, 176) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `auto_submitted` INTEGER"); } }) .addMigrations(new Migration(176, 177) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `backoff_until` INTEGER"); } }) .addMigrations(new Migration(177, 178) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE folder" + " SET poll = 1" + " WHERE type <> '" + EntityFolder.INBOX + "'" + @@ -1927,42 +1938,42 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(178, 179) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `local` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(179, 180) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `reply_domain` INTEGER"); } }) .addMigrations(new Migration(180, 181) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `rule` ADD COLUMN `last_applied` INTEGER"); } }) .addMigrations(new Migration(181, 182) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `auto_classify` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(182, 183) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `auto_classified` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(183, 184) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `auto_classify_source` INTEGER NOT NULL DEFAULT 0"); db.execSQL("ALTER TABLE `folder` RENAME COLUMN `auto_classify` TO 'auto_classify_target'"); db.execSQL("UPDATE `folder`" + @@ -1976,21 +1987,21 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(184, 185) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `notes` TEXT"); } }) .addMigrations(new Migration(185, 186) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `return_path` TEXT"); } }) .addMigrations(new Migration(186, 187) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `deleted` INTEGER NOT NULL DEFAULT 0"); db.execSQL("ALTER TABLE `message` ADD COLUMN `ui_deleted` INTEGER NOT NULL DEFAULT 0"); } @@ -1998,14 +2009,14 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(187, 188) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `ui_silent` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(188, 189) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `sign_default` INTEGER NOT NULL DEFAULT 0"); db.execSQL("ALTER TABLE `identity` ADD COLUMN `encrypt_default` INTEGER NOT NULL DEFAULT 0"); } @@ -2013,98 +2024,98 @@ public abstract class DB extends RoomDatabase { .addMigrations(new Migration(189, 190) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `selected_count` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(190, 191) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `selected_last` INTEGER NOT NULL DEFAULT 0"); } }) .addMigrations(new Migration(191, 192) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `modseq` INTEGER"); } }) .addMigrations(new Migration(192, 193) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `notes_color` INTEGER"); } }) .addMigrations(new Migration(193, 194) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `sender_extra_name` INTEGER NOT NULL DEFAULT 0"); } }).addMigrations(new Migration(194, 195) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `answer` ADD COLUMN `receipt` INTEGER NOT NULL DEFAULT 0"); } }).addMigrations(new Migration(195, 196) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `identity` ADD COLUMN `internal` TEXT"); } }).addMigrations(new Migration(196, 197) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `answer` ADD COLUMN `applied` INTEGER NOT NULL DEFAULT 0"); db.execSQL("ALTER TABLE `answer` ADD COLUMN `last_applied` INTEGER"); } }).addMigrations(new Migration(197, 198) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `show_images` INTEGER NOT NULL DEFAULT 0"); db.execSQL("ALTER TABLE `message` ADD COLUMN `show_full` INTEGER NOT NULL DEFAULT 0"); } }).addMigrations(new Migration(198, 199) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `capability_idle` INTEGER"); db.execSQL("ALTER TABLE `account` ADD COLUMN `capability_utf8` INTEGER"); } }).addMigrations(new Migration(199, 200) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `blocklist` INTEGER"); } }).addMigrations(new Migration(200, 201) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `bimi_selector` TEXT"); } }).addMigrations(new Migration(201, 202) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE identity SET use_ip = 0 WHERE host = 'smtp.office365.com'"); } }).addMigrations(new Migration(202, 203) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `last_sync_count` INTEGER"); } }).addMigrations(new Migration(203, 204) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `uuid` TEXT NOT NULL DEFAULT ''"); Cursor cursor = null; try { @@ -2124,32 +2135,36 @@ public abstract class DB extends RoomDatabase { }).addMigrations(new Migration(204, 205) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `answer` ADD COLUMN `external` INTEGER NOT NULL DEFAULT 0"); } }).addMigrations(new Migration(205, 206) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `capabilities` TEXT"); } }).addMigrations(new Migration(206, 207) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); - db.execSQL("DROP VIEW IF EXISTS `account_view`"); - db.execSQL("CREATE VIEW IF NOT EXISTS `account_view` AS " + TupleAccountView.query); + logMigration(startVersion, endVersion); + try { + db.execSQL("DROP VIEW IF EXISTS `account_view`"); + db.execSQL("CREATE VIEW IF NOT EXISTS `account_view` AS " + TupleAccountView.query); + } catch (Throwable ex) { + Log.w(ex); + } } }).addMigrations(new Migration(207, 208) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `log` ADD COLUMN `type` INTEGER NOT NULL DEFAULT " + EntityLog.Type.General.ordinal()); } }).addMigrations(new Migration(208, 209) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `log` ADD COLUMN `account` INTEGER"); db.execSQL("ALTER TABLE `log` ADD COLUMN `folder` INTEGER"); db.execSQL("ALTER TABLE `log` ADD COLUMN `message` INTEGER"); @@ -2157,7 +2172,7 @@ public abstract class DB extends RoomDatabase { }).addMigrations(new Migration(209, 210) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `namespace` TEXT"); db.execSQL("ALTER TABLE `folder` ADD COLUMN `separator` INTEGER"); db.execSQL("UPDATE folder SET separator =" + @@ -2166,7 +2181,7 @@ public abstract class DB extends RoomDatabase { }).addMigrations(new Migration(210, 211) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE TABLE `search`" + " (`id` INTEGER PRIMARY KEY AUTOINCREMENT" + ", name TEXT NOT NULL" + @@ -2175,19 +2190,19 @@ public abstract class DB extends RoomDatabase { }).addMigrations(new Migration(211, 212) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `search` ADD COLUMN `color` INTEGER"); } }).addMigrations(new Migration(212, 213) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `account` ADD COLUMN `category` TEXT"); } }).addMigrations(new Migration(213, 214) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("CREATE INDEX `index_account_synchronize` ON `account` (`synchronize`)"); db.execSQL("CREATE INDEX `index_account_category` ON `account` (`category`)"); db.execSQL("DROP VIEW IF EXISTS `account_view`"); @@ -2196,44 +2211,44 @@ public abstract class DB extends RoomDatabase { }).addMigrations(new Migration(214, 215) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `auto_add` INTEGER"); } }).addMigrations(new Migration(215, 216) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `infrastructure` TEXT"); } }).addMigrations(new Migration(216, 217) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `folder` ADD COLUMN `last_sync_foreground` INTEGER"); } }).addMigrations(new Migration(217, 218) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `smtp_from` TEXT"); db.execSQL("ALTER TABLE `message` ADD COLUMN `from_domain` INTEGER"); } }).addMigrations(new Migration(218, 219) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `resend` INTEGER"); } }).addMigrations(new Migration(219, 220) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("ALTER TABLE `message` ADD COLUMN `tls` INTEGER"); } }).addMigrations(new Migration(998, 999) { @Override public void migrate(@NonNull SupportSQLiteDatabase db) { - Log.i("DB migration from version " + startVersion + " to " + endVersion); + logMigration(startVersion, endVersion); db.execSQL("UPDATE account" + " SET partial_fetch = 0" + " WHERE host = 'imap.vodafonemail.de'" +