Function rusqlite::bypass_sqlite_initialization
source · pub unsafe fn bypass_sqlite_initialization()
Expand description
rusqlite’s check for a safe SQLite threading mode requires SQLite 3.7.0 or later. If you are running against a SQLite older than that, rusqlite attempts to ensure safety by performing configuration and initialization of SQLite itself the first time you attempt to open a connection. By default, rusqlite panics if that initialization fails, since that could mean SQLite has been initialized in single-thread mode.
If you are encountering that panic and can ensure that SQLite has been initialized in either multi-thread or serialized mode, call this function prior to attempting to open a connection and rusqlite’s initialization process will by skipped.
§Safety
This function is unsafe because if you call it and SQLite has actually been configured to run in single-thread mode, you may encounter memory errors or data corruption or any number of terrible things that should not be possible when you’re using Rust.