* Force SQLite temp files to be stored in memory (#505) r=rnewman
This commit is contained in:
parent
c61bc79b99
commit
1589104841
1 changed files with 7 additions and 0 deletions
|
@ -69,12 +69,19 @@ pub fn new_connection<T>(uri: T) -> rusqlite::Result<rusqlite::Connection> where
|
|||
_ => rusqlite::Connection::open(uri)?,
|
||||
};
|
||||
|
||||
/// See https://github.com/mozilla/mentat/issues/505 for details on temp_store
|
||||
/// pragma and how it might interact together with consumers such as Firefox.
|
||||
/// temp_store=2 is currently present to force SQLite to store temp files in memory.
|
||||
/// Some of the platforms we support do not have a tmp partition (e.g. Android)
|
||||
/// necessary to store temp files on disk. Ideally, consumers should be able to
|
||||
/// override this behaviour (see issue 505).
|
||||
conn.execute_batch("
|
||||
PRAGMA page_size=32768;
|
||||
PRAGMA journal_mode=wal;
|
||||
PRAGMA wal_autocheckpoint=32;
|
||||
PRAGMA journal_size_limit=3145728;
|
||||
PRAGMA foreign_keys=ON;
|
||||
PRAGMA temp_store=2;
|
||||
")?;
|
||||
|
||||
Ok(conn)
|
||||
|
|
Loading…
Reference in a new issue