From 276819369c8d09b3fcdde9735f6e431d062ff13e Mon Sep 17 00:00:00 2001 From: Pekka Enberg Date: Sat, 4 Jan 2025 10:50:29 +0200 Subject: [PATCH] sqlite3: Add in-memory support to sqlite3_open() --- sqlite3/src/lib.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sqlite3/src/lib.rs b/sqlite3/src/lib.rs index 114b13ff0..e70beb85f 100644 --- a/sqlite3/src/lib.rs +++ b/sqlite3/src/lib.rs @@ -112,9 +112,15 @@ pub unsafe extern "C" fn sqlite3_open( Ok(s) => s, Err(_) => return SQLITE_MISUSE, }; - let io = match limbo_core::PlatformIO::new() { - Ok(io) => Arc::new(io), - Err(_) => return SQLITE_MISUSE, + let io: Arc = match filename { + ":memory:" => match limbo_core::MemoryIO::new() { + Ok(io) => Arc::new(io), + Err(_) => return SQLITE_MISUSE, + }, + _ => match limbo_core::PlatformIO::new() { + Ok(io) => Arc::new(io), + Err(_) => return SQLITE_MISUSE, + }, }; match limbo_core::Database::open_file(io, filename) { Ok(db) => {