Skip to content

Commit 6c8ae4e

Browse files
committed
Change value type PySetterValue -> PySetterValue<Option<PyStrRef>>
1 parent e61317a commit 6c8ae4e

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

stdlib/src/sqlite.rs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff 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(

0 commit comments

Comments
 (0)