@@ -139,7 +139,7 @@ impl<'e, 'n, KC, DC, C> DatabaseOpenOptions<'e, 'n, KC, DC, C> {
139139 {
140140 assert_eq_env_txn ! ( self . env, rtxn) ;
141141
142- match self . env . raw_init_database :: < C > ( rtxn. txn , self . name , self . flags ) {
142+ match self . env . raw_init_database :: < C > ( rtxn. txn . unwrap ( ) , self . name , self . flags ) {
143143 Ok ( dbi) => Ok ( Some ( Database :: new ( self . env . env_mut_ptr ( ) as _ , dbi) ) ) ,
144144 Err ( Error :: Mdb ( e) ) if e. not_found ( ) => Ok ( None ) ,
145145 Err ( e) => Err ( e) ,
@@ -164,7 +164,7 @@ impl<'e, 'n, KC, DC, C> DatabaseOpenOptions<'e, 'n, KC, DC, C> {
164164 assert_eq_env_txn ! ( self . env, wtxn) ;
165165
166166 let flags = self . flags | AllDatabaseFlags :: CREATE ;
167- match self . env . raw_init_database :: < C > ( wtxn. txn . txn , self . name , flags) {
167+ match self . env . raw_init_database :: < C > ( wtxn. txn . txn . unwrap ( ) , self . name , flags) {
168168 Ok ( dbi) => Ok ( Database :: new ( self . env . env_mut_ptr ( ) as _ , dbi) ) ,
169169 Err ( e) => Err ( e) ,
170170 }
@@ -350,9 +350,10 @@ impl<KC, DC, C> Database<KC, DC, C> {
350350
351351 let mut key_val = unsafe { crate :: into_val ( & key_bytes) } ;
352352 let mut data_val = mem:: MaybeUninit :: uninit ( ) ;
353+ let mut txn = txn. txn . unwrap ( ) ;
353354
354355 let result = unsafe {
355- mdb_result ( ffi:: mdb_get ( txn. txn , self . dbi , & mut key_val, data_val. as_mut_ptr ( ) ) )
356+ mdb_result ( ffi:: mdb_get ( txn. as_mut ( ) , self . dbi , & mut key_val, data_val. as_mut_ptr ( ) ) )
356357 } ;
357358
358359 match result {
@@ -954,7 +955,9 @@ impl<KC, DC, C> Database<KC, DC, C> {
954955 assert_eq_env_db_txn ! ( self , txn) ;
955956
956957 let mut db_stat = mem:: MaybeUninit :: uninit ( ) ;
957- let result = unsafe { mdb_result ( ffi:: mdb_stat ( txn. txn , self . dbi , db_stat. as_mut_ptr ( ) ) ) } ;
958+ let mut txn = txn. txn . unwrap ( ) ;
959+ let result =
960+ unsafe { mdb_result ( ffi:: mdb_stat ( txn. as_mut ( ) , self . dbi , db_stat. as_mut_ptr ( ) ) ) } ;
958961
959962 match result {
960963 Ok ( ( ) ) => {
@@ -1835,9 +1838,10 @@ impl<KC, DC, C> Database<KC, DC, C> {
18351838 let mut key_val = unsafe { crate :: into_val ( & key_bytes) } ;
18361839 let mut data_val = unsafe { crate :: into_val ( & data_bytes) } ;
18371840 let flags = 0 ;
1841+ let mut txn = txn. txn . txn . unwrap ( ) ;
18381842
18391843 unsafe {
1840- mdb_result ( ffi:: mdb_put ( txn. txn . txn , self . dbi , & mut key_val, & mut data_val, flags) ) ?
1844+ mdb_result ( ffi:: mdb_put ( txn. as_mut ( ) , self . dbi , & mut key_val, & mut data_val, flags) ) ?
18411845 }
18421846
18431847 Ok ( ( ) )
@@ -1896,9 +1900,10 @@ impl<KC, DC, C> Database<KC, DC, C> {
18961900 let mut key_val = unsafe { crate :: into_val ( & key_bytes) } ;
18971901 let mut reserved = ffi:: reserve_size_val ( data_size) ;
18981902 let flags = ffi:: MDB_RESERVE ;
1903+ let mut txn = txn. txn . txn . unwrap ( ) ;
18991904
19001905 unsafe {
1901- mdb_result ( ffi:: mdb_put ( txn. txn . txn , self . dbi , & mut key_val, & mut reserved, flags) ) ?
1906+ mdb_result ( ffi:: mdb_put ( txn. as_mut ( ) , self . dbi , & mut key_val, & mut reserved, flags) ) ?
19021907 }
19031908
19041909 let mut reserved = unsafe { ReservedSpace :: from_val ( reserved) } ;
@@ -1988,9 +1993,10 @@ impl<KC, DC, C> Database<KC, DC, C> {
19881993 let mut key_val = unsafe { crate :: into_val ( & key_bytes) } ;
19891994 let mut data_val = unsafe { crate :: into_val ( & data_bytes) } ;
19901995 let flags = flags. bits ( ) ;
1996+ let mut txn = txn. txn . txn . unwrap ( ) ;
19911997
19921998 unsafe {
1993- mdb_result ( ffi:: mdb_put ( txn. txn . txn , self . dbi , & mut key_val, & mut data_val, flags) ) ?
1999+ mdb_result ( ffi:: mdb_put ( txn. as_mut ( ) , self . dbi , & mut key_val, & mut data_val, flags) ) ?
19942000 }
19952001
19962002 Ok ( ( ) )
@@ -2095,9 +2101,10 @@ impl<KC, DC, C> Database<KC, DC, C> {
20952101 let mut key_val = unsafe { crate :: into_val ( & key_bytes) } ;
20962102 let mut data_val = unsafe { crate :: into_val ( & data_bytes) } ;
20972103 let flags = ( flags | PutFlags :: NO_OVERWRITE ) . bits ( ) ;
2104+ let mut txn = txn. txn . txn . unwrap ( ) ;
20982105
20992106 let result = unsafe {
2100- mdb_result ( ffi:: mdb_put ( txn. txn . txn , self . dbi , & mut key_val, & mut data_val, flags) )
2107+ mdb_result ( ffi:: mdb_put ( txn. as_mut ( ) , self . dbi , & mut key_val, & mut data_val, flags) )
21012108 } ;
21022109
21032110 match result {
@@ -2245,9 +2252,10 @@ impl<KC, DC, C> Database<KC, DC, C> {
22452252 let mut key_val = unsafe { crate :: into_val ( & key_bytes) } ;
22462253 let mut reserved = ffi:: reserve_size_val ( data_size) ;
22472254 let flags = ( flags | PutFlags :: NO_OVERWRITE ) . bits ( ) | lmdb_master_sys:: MDB_RESERVE ;
2255+ let mut txn = txn. txn . txn . unwrap ( ) ;
22482256
22492257 let result = unsafe {
2250- mdb_result ( ffi:: mdb_put ( txn. txn . txn , self . dbi , & mut key_val, & mut reserved, flags) )
2258+ mdb_result ( ffi:: mdb_put ( txn. as_mut ( ) , self . dbi , & mut key_val, & mut reserved, flags) )
22512259 } ;
22522260
22532261 match result {
@@ -2322,9 +2330,10 @@ impl<KC, DC, C> Database<KC, DC, C> {
23222330
23232331 let key_bytes: Cow < [ u8 ] > = KC :: bytes_encode ( key) . map_err ( Error :: Encoding ) ?;
23242332 let mut key_val = unsafe { crate :: into_val ( & key_bytes) } ;
2333+ let mut txn = txn. txn . txn . unwrap ( ) ;
23252334
23262335 let result = unsafe {
2327- mdb_result ( ffi:: mdb_del ( txn. txn . txn , self . dbi , & mut key_val, ptr:: null_mut ( ) ) )
2336+ mdb_result ( ffi:: mdb_del ( txn. as_mut ( ) , self . dbi , & mut key_val, ptr:: null_mut ( ) ) )
23282337 } ;
23292338
23302339 match result {
@@ -2409,9 +2418,11 @@ impl<KC, DC, C> Database<KC, DC, C> {
24092418 let data_bytes: Cow < [ u8 ] > = DC :: bytes_encode ( data) . map_err ( Error :: Encoding ) ?;
24102419 let mut key_val = unsafe { crate :: into_val ( & key_bytes) } ;
24112420 let mut data_val = unsafe { crate :: into_val ( & data_bytes) } ;
2421+ let mut txn = txn. txn . txn . unwrap ( ) ;
24122422
2413- let result =
2414- unsafe { mdb_result ( ffi:: mdb_del ( txn. txn . txn , self . dbi , & mut key_val, & mut data_val) ) } ;
2423+ let result = unsafe {
2424+ mdb_result ( ffi:: mdb_del ( txn. as_mut ( ) , self . dbi , & mut key_val, & mut data_val) )
2425+ } ;
24152426
24162427 match result {
24172428 Ok ( ( ) ) => Ok ( true ) ,
@@ -2533,8 +2544,9 @@ impl<KC, DC, C> Database<KC, DC, C> {
25332544 /// ```
25342545 pub fn clear ( & self , txn : & mut RwTxn ) -> Result < ( ) > {
25352546 assert_eq_env_db_txn ! ( self , txn) ;
2547+ let mut txn = txn. txn . txn . unwrap ( ) ;
25362548
2537- unsafe { mdb_result ( ffi:: mdb_drop ( txn. txn . txn , self . dbi , 0 ) ) . map_err ( Into :: into) }
2549+ unsafe { mdb_result ( ffi:: mdb_drop ( txn. as_mut ( ) , self . dbi , 0 ) ) . map_err ( Into :: into) }
25382550 }
25392551
25402552 /// Change the codec types of this database, specifying the codecs.
0 commit comments