| 1396 | |
| 1397 | #[pymethod] |
| 1398 | fn set_trace_callback(&self, callable: PyObjectRef, vm: &VirtualMachine) -> PyResult<()> { |
| 1399 | let db = self.db_lock(vm)?; |
| 1400 | let Some(data) = CallbackData::new(callable, vm) else { |
| 1401 | unsafe { sqlite3_trace_v2(db.db, SQLITE_TRACE_STMT, None, null_mut()) }; |
| 1402 | return Ok(()); |
| 1403 | }; |
| 1404 | |
| 1405 | let ret = unsafe { |
| 1406 | sqlite3_trace_v2( |
| 1407 | db.db, |
| 1408 | SQLITE_TRACE_STMT, |
| 1409 | Some(CallbackData::trace_callback), |
| 1410 | Box::into_raw(Box::new(data)).cast(), |
| 1411 | ) |
| 1412 | }; |
| 1413 | |
| 1414 | db.check(ret, vm) |
| 1415 | } |
| 1416 | |
| 1417 | #[pymethod] |
| 1418 | fn set_progress_handler( |