File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed
Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -385,6 +385,31 @@ impl<W: Wal> Connection<W> {
385385 } ;
386386 Ok ( counter)
387387 }
388+
389+ fn reserved_bytes ( & self , reserve : Option < i32 > ) -> Result < i32 , std:: ffi:: c_int > {
390+ let mut reserve_value = reserve. unwrap_or ( 0 ) as std:: ffi:: c_int ;
391+ let rc = unsafe {
392+ libsql_ffi:: sqlite3_file_control (
393+ self . handle ( ) ,
394+ "main\0 " . as_ptr ( ) as * const _ ,
395+ libsql_ffi:: SQLITE_FCNTL_RESERVE_BYTES ,
396+ & mut reserve_value as * mut _ as * mut _ ,
397+ )
398+ } ;
399+ if rc != libsql_ffi:: SQLITE_OK {
400+ return Err ( rc) ;
401+ }
402+ Ok ( reserve_value as i32 )
403+ }
404+
405+ pub fn set_reserved_bytes ( & self , reserved_bytes : i32 ) -> Result < ( ) , std:: ffi:: c_int > {
406+ self . reserved_bytes ( Some ( reserved_bytes) ) ?;
407+ Ok ( ( ) )
408+ }
409+
410+ pub fn get_reserved_bytes ( & self ) -> Result < i32 , std:: ffi:: c_int > {
411+ self . reserved_bytes ( None )
412+ }
388413}
389414// pub struct Connection<'a> {
390415// pub conn: *mut crate::ffi::sqlite3,
You can’t perform that action at this time.
0 commit comments