Bläddra i källkod

Configure SQLite

- Turn on `foreign_keys` to cascade on delete properly
- Turn on `journal_mode` and set `synchronous` to NORMAL which may help performance for larger libraries

Based on d977b89af1f2a8850437ebd978535fc3fbfd257e

Co-authored-by: ghostbear <[email protected]>
arkon 2 år sedan
förälder
incheckning
ac4f98e152

+ 9 - 0
app/src/main/java/eu/kanade/tachiyomi/data/database/DbOpenCallback.kt

@@ -98,5 +98,14 @@ class DbOpenCallback : SupportSQLiteOpenHelper.Callback(DATABASE_VERSION) {
 
     override fun onConfigure(db: SupportSQLiteDatabase) {
         db.setForeignKeyConstraintsEnabled(true)
+        setPragma(db, "foreign_keys = ON")
+        setPragma(db, "journal_mode = WAL")
+        setPragma(db, "synchronous = NORMAL")
+    }
+
+    private fun setPragma(db: SupportSQLiteDatabase, pragma: String) {
+        val cursor = db.query("PRAGMA $pragma")
+        cursor.moveToFirst()
+        cursor.close()
     }
 }