@@ -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
1011use 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} ;
1516use 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
0 commit comments