File tree Expand file tree Collapse file tree 1 file changed +9
-11
lines changed
Expand file tree Collapse file tree 1 file changed +9
-11
lines changed Original file line number Diff line number Diff line change @@ -1353,28 +1353,26 @@ mod _sqlite {
13531353 self . isolation_level . deref ( ) . map ( |x| x. to_owned ( ) )
13541354 }
13551355 #[ pygetset( setter) ]
1356- fn set_isolation_level ( & self , value : PySetterValue , vm : & VirtualMachine ) -> PyResult < ( ) > {
1356+ fn set_isolation_level (
1357+ & self ,
1358+ value : PySetterValue < Option < PyStrRef > > ,
1359+ vm : & VirtualMachine ,
1360+ ) -> PyResult < ( ) > {
13571361 match value {
1358- PySetterValue :: Assign ( new_value) => {
1359- let val = if vm. is_none ( & new_value) {
1360- None
1361- } else {
1362- Some ( new_value. try_into_value :: < PyStrRef > ( vm) ?)
1363- } ;
1364-
1365- if let Some ( val_str) = & val {
1362+ PySetterValue :: Assign ( value) => {
1363+ if let Some ( val_str) = & value {
13661364 begin_statement_ptr_from_isolation_level ( val_str, vm) ?;
13671365 }
13681366
13691367 // If setting isolation_level to None (auto-commit mode), commit any pending transaction
1370- if val . is_none ( ) {
1368+ if value . is_none ( ) {
13711369 let db = self . db_lock ( vm) ?;
13721370 if !db. is_autocommit ( ) {
13731371 // Keep the lock and call implicit_commit directly to avoid race conditions
13741372 db. implicit_commit ( vm) ?;
13751373 }
13761374 }
1377- let _ = unsafe { self . isolation_level . swap ( val ) } ;
1375+ let _ = unsafe { self . isolation_level . swap ( value ) } ;
13781376 Ok ( ( ) )
13791377 }
13801378 PySetterValue :: Delete => Err ( vm. new_attribute_error (
You can’t perform that action at this time.
0 commit comments