Skip to content

Commit 97bf270

Browse files
authored
Always set SQLITE_OPEN_URI (#3289)
1 parent 42def59 commit 97bf270

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

sqlx-sqlite/src/connection/establish.rs

+5-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use libsqlite3_sys::{
88
sqlite3_load_extension, sqlite3_open_v2, SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION, SQLITE_OK,
99
SQLITE_OPEN_CREATE, SQLITE_OPEN_FULLMUTEX, SQLITE_OPEN_MEMORY, SQLITE_OPEN_NOMUTEX,
1010
SQLITE_OPEN_PRIVATECACHE, SQLITE_OPEN_READONLY, SQLITE_OPEN_READWRITE, SQLITE_OPEN_SHAREDCACHE,
11+
SQLITE_OPEN_URI,
1112
};
1213
use percent_encoding::NON_ALPHANUMERIC;
1314
use sqlx_core::IndexMap;
@@ -67,11 +68,14 @@ impl EstablishParams {
6768
})?
6869
.to_owned();
6970

71+
// Set common flags we expect to have in sqlite
72+
let mut flags = SQLITE_OPEN_URI;
73+
7074
// By default, we connect to an in-memory database.
7175
// [SQLITE_OPEN_NOMUTEX] will instruct [sqlite3_open_v2] to return an error if it
7276
// cannot satisfy our wish for a thread-safe, lock-free connection object
7377

74-
let mut flags = if options.serialized {
78+
flags |= if options.serialized {
7579
SQLITE_OPEN_FULLMUTEX
7680
} else {
7781
SQLITE_OPEN_NOMUTEX
@@ -111,7 +115,6 @@ impl EstablishParams {
111115
percent_encoding::percent_encode(filename.as_bytes(), NON_ALPHANUMERIC),
112116
serde_urlencoded::to_string(&query_params).unwrap()
113117
);
114-
flags |= libsqlite3_sys::SQLITE_OPEN_URI;
115118
}
116119

117120
let filename = CString::new(filename).map_err(|_| {

0 commit comments

Comments
 (0)