Skip to content

Commit eb03f28

Browse files
committed
DB migration
1 parent 53f47fc commit eb03f28

File tree

2 files changed

+22
-119
lines changed

2 files changed

+22
-119
lines changed

app/src/main/java/org/thoughtcrime/securesms/database/ReceivedMessageDatabase.kt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import kotlinx.coroutines.channels.BufferOverflow
77
import kotlinx.coroutines.flow.MutableSharedFlow
88
import kotlinx.coroutines.flow.SharedFlow
99
import kotlinx.serialization.json.Json
10+
import net.zetetic.database.sqlcipher.SQLiteDatabase
1011
import org.session.libsession.snode.endpoint.Retrieve
1112
import org.session.libsession.utilities.Address
1213
import org.session.libsession.utilities.Address.Companion.toAddress
@@ -168,5 +169,26 @@ class ReceivedMessageDatabase(
168169
""",
169170
"CREATE INDEX idx_received_messages_repository_ts ON received_messages(repository_address, timestamp_ms)"
170171
)
172+
173+
fun migrateFromOldTable(db: SQLiteDatabase) {
174+
db.rawQuery("""
175+
SELECT public_key, received_message_namespace, received_message_hash_values
176+
FROM session_received_message_hash_values_table
177+
""").use { cursor ->
178+
while (cursor.moveToNext()) {
179+
val publicKey = cursor.getString(0)
180+
val namespace = cursor.getInt(1)
181+
for (hash in cursor.getString(2).splitToSequence("-")) {
182+
db.rawExecSQL("""
183+
INSERT OR IGNORE INTO received_messages(repository_address, namespace, server_id)
184+
VALUES (?, ?, ?)
185+
""", publicKey, namespace, hash)
186+
}
187+
}
188+
}
189+
190+
db.rawExecSQL("DROP TABLE session_received_message_hash_values_table")
191+
}
192+
171193
}
172194
}

app/src/main/java/org/thoughtcrime/securesms/database/ReceivedMessageHashDatabase.kt

Lines changed: 0 additions & 119 deletions
This file was deleted.

0 commit comments

Comments
 (0)