@CL benar, mode jurnal tampaknya berubah tergantung pada level API (mungkin juga berubah oleh pabrikan?).
Namun, untuk referensi di masa mendatang, saya telah menanyakan database untuk journal_mode di beberapa level API dan hasilnya adalah:
- Android 2.3.7 (API 10) =hapus
- Android 4.0.4 (API 15) =terpotong
- Android 4.1.1 (API 16) =bertahan
- Android 4.3.0 (API 18) =bertahan
- Android 4.4.4 (API 19) =bertahan
- Android 5.0.0 (API 21) =bertahan
- Android 5.1.0 (API 22) =bertahan
Kode untuk mendapatkan mode jurnal:
Cursor c = db.rawQuery("PRAGMA journal_mode;", null);
c.moveToFirst();
String journalMode = c.getString(c.getColumnIndex("journal_mode"));
Tentang mode jurnal:
Mode penjurnalan DELETE adalah perilaku normal. Dalam mode DELETE, jurnal rollback dihapus pada akhir setiap transaksi. Memang, operasi penghapusan adalah tindakan yang menyebabkan transaksi dilakukan.
Mode penjurnalan TRUNCATE melakukan transaksi dengan memotong jurnal rollback ke panjang nol alih-alih menghapusnya. Pada banyak sistem, memotong file jauh lebih cepat daripada menghapus file karena direktori yang berisi tidak perlu diubah.
Mode penjurnalan PERSIST mencegah jurnal rollback dihapus pada akhir setiap transaksi. Sebaliknya, tajuk jurnal ditimpa dengan nol. Ini akan mencegah koneksi database lain memutar jurnal kembali. Mode penjurnalan PERSIST berguna sebagai pengoptimalan pada platform di mana menghapus atau memotong file jauh lebih mahal daripada menimpa blok pertama file dengan nol.
Info lebih lanjut