Fix reaction mms trigger.

fork-5.53.8
Greyson Parrelli 2022-02-07 15:47:46 -05:00 zatwierdzone przez GitHub
rodzic 19ed3cb9ea
commit d19cba049d
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 18 dodań i 1 usunięć

Wyświetl plik

@ -184,8 +184,9 @@ object SignalDatabaseMigrations {
private const val REACTION_REMOTE_DELETE_CLEANUP = 126
private const val PNI_CLEANUP = 127
private const val MESSAGE_RANGES = 128
private const val REACTION_TRIGGER_FIX = 129
const val DATABASE_VERSION = 128
const val DATABASE_VERSION = 129
@JvmStatic
fun migrate(context: Context, db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
@ -2268,6 +2269,22 @@ object SignalDatabaseMigrations {
if (oldVersion < MESSAGE_RANGES) {
db.execSQL("ALTER TABLE mms ADD COLUMN ranges BLOB DEFAULT NULL")
}
if (oldVersion < REACTION_TRIGGER_FIX) {
db.execSQL("DROP TRIGGER reactions_mms_delete")
db.execSQL("CREATE TRIGGER reactions_mms_delete AFTER DELETE ON mms BEGIN DELETE FROM reaction WHERE message_id = old._id AND is_mms = 1; END")
db.execSQL(
// language=sql
"""
DELETE FROM reaction
WHERE
(is_mms = 0 AND message_id NOT IN (SELECT _id from sms))
OR
(is_mms = 1 AND message_id NOT IN (SELECT _id from mms))
""".trimIndent()
)
}
}
@JvmStatic