I am using transactions to insert multiple rows into table. But, I still see temporary sqlite-journal file being created on SD Card along with sqlite table.
How do I disable creation of journal file?
Thanks
I am using transactions to insert multiple rows into table. But, I still see temporary sqlite-journal file being created on SD Card along with sqlite table.
How do I disable creation of journal file?
Thanks
You can elect to keep the journal in memory so that no -journal file is created:
pragma journal_mode=memory;
Note that you need to run this each time you open the database.
I recommend that you read the following to get a better idea of what is going on:
PRAGMA journal_mode=OFF
and closing the database? –
Speechmaker The journal is an internal SQLite file that is used when running transactions (to ensure roll back). You cannot disable it, and you don't want to.
PRAGMA journal_mode=OFF
–
Quadriga Please remind, the statement PRAGMA journal_mode=OFF
or PRAGMA journal_mode=memory
is valid per transaction base. You need to set it for every transaction.
You can delete journal file using below code
@Override
public void onOpen(SQLiteDatabase db) {
Cursor cc = db.rawQuery("PRAGMA journal_mode=DELETE",null);
Log.i(TAG,"--- cursor count " + cc.getCount());
super.onOpen(db);
}
You need to use cursor. Cursor is a interface provides random read-write access to the result set returned by a database query. The journal file will get delete if you use cursor.
© 2022 - 2024 — McMap. All rights reserved.