Skip to content

Commit f57cb76

Browse files
committed
exit attempt to use :memory at runtime
1 parent 2c641f6 commit f57cb76

File tree

2 files changed

+12
-20
lines changed

2 files changed

+12
-20
lines changed

src/lib.rs

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ use std::{
33
collections::HashMap,
44
ffi::{c_int, c_uint, c_void, CStr, CString},
55
os::raw::c_char,
6+
process::exit,
67
slice,
78
sync::Mutex,
89
};
910

1011
use sqlite::{
1112
push_error, reset_txn_on_db, ExecutionState, SQLite3, SQLite3PreparedStmt, Value, SQLITE_BUSY,
12-
SQLITE_DONE, SQLITE_ERROR, SQLITE_FLOAT, SQLITE_INTEGER, SQLITE_MEMORY_STORE, SQLITE_MISUSE,
13-
SQLITE_NULL, SQLITE_OK, SQLITE_RANGE, SQLITE_TEXT,
13+
SQLITE_DONE, SQLITE_ERROR, SQLITE_FLOAT, SQLITE_INTEGER, SQLITE_MISUSE, SQLITE_NULL, SQLITE_OK,
14+
SQLITE_RANGE, SQLITE_TEXT,
1415
};
1516
use utils::{execute_async_task, read_turso_config};
1617

@@ -56,11 +57,17 @@ pub unsafe extern "C" fn sqlite3_open_v2(
5657
return SQLITE_ERROR;
5758
}
5859

60+
let filename = CStr::from_ptr(filename).to_str().unwrap();
61+
if filename.contains(":memory") {
62+
eprintln!("LibSqlite3_Turso Error: Memory store is not supported at runtime");
63+
exit(1);
64+
}
65+
5966
let turso_config = read_turso_config().unwrap_or_else(|_| TursoConfig {
6067
db_url: format!(
61-
"https://{}.aws-us-west-2.turso.io",
62-
CStr::from_ptr(filename).to_str().unwrap()
63-
),
68+
"https://{}.aws-us-west-2.turso.io",
69+
filename
70+
),
6471
db_token: String::from("eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJhIjoicnciLCJnaWQiOiIyMzBiZDc4Ni1iN2I3LTRlYjgtYjkyMy00ZjM5MDRjYTVkMzciLCJpYXQiOjE3NTEwNTc3MzYsInJpZCI6ImQ1N2NjZTQzLWVhNWItNDFmMy1hNWZlLTE2ZWI4MjIxZTkwOCJ9.ItDyuzwvUqeXwc6KsQkjf6dUVAoQ5BkhvlxFD7nDRCl6thxopIKckJ-w7boX-2ms_-jjgVQuhj9PqYAsaycFAg"),
6572
});
6673

@@ -86,20 +93,6 @@ pub unsafe extern "C" fn sqlite3_open_v2(
8693

8794
*db = mock_db;
8895

89-
// Parse connection string from filename (should contain D1 credentials)
90-
let db_name = { CStr::from_ptr(filename).to_str().unwrap() };
91-
92-
if db_name == SQLITE_MEMORY_STORE {
93-
push_error(
94-
mock_db,
95-
(
96-
format!("{} is not supported at runtime", SQLITE_MEMORY_STORE).into(),
97-
SQLITE_ERROR,
98-
),
99-
);
100-
return SQLITE_ERROR;
101-
}
102-
10396
SQLITE_OK
10497
}
10598

src/sqlite.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ pub const SQLITE_FLOAT: c_int = 2;
2626
pub const SQLITE_TEXT: c_int = 3;
2727
pub const SQLITE_NULL: c_int = 5;
2828

29-
pub const SQLITE_MEMORY_STORE: &str = ":memory:";
3029
pub const SQLITE_UPDATE: c_int = 23;
3130
pub const SQLITE_INSERT: c_int = 18;
3231
pub const SQLITE_DELETE: c_int = 9;

0 commit comments

Comments
 (0)