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 <andreas.everos@gmail.com>
(cherry picked from commit ac4f98e152c66c388dd5f098725f4196df3a7339)
This commit is contained in:
arkon 2022-08-13 13:08:16 -04:00 committed by Jobobby04
parent 63cd8f8c07
commit ae7a4744bd

View File

@ -115,5 +115,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()
}
}