mirror of
https://github.com/isar/rusqlite.git
synced 2025-03-31 19:12:58 +08:00
Add binding to sqlite3_is_interrupted
This commit is contained in:
parent
f884961d35
commit
a29fed8512
@ -375,6 +375,11 @@ impl InnerConnection {
|
||||
pub fn release_memory(&self) -> Result<()> {
|
||||
self.decode_result(unsafe { ffi::sqlite3_db_release_memory(self.db) })
|
||||
}
|
||||
|
||||
#[cfg(feature = "modern_sqlite")] // 3.41.0
|
||||
pub fn is_interrupted(&self) -> bool {
|
||||
unsafe { ffi::sqlite3_is_interrupted(self.db) == 1 }
|
||||
}
|
||||
}
|
||||
|
||||
impl Drop for InnerConnection {
|
||||
|
16
src/lib.rs
16
src/lib.rs
@ -1037,6 +1037,12 @@ impl Connection {
|
||||
pub fn is_readonly(&self, db_name: DatabaseName<'_>) -> Result<bool> {
|
||||
self.db.borrow().db_readonly(db_name)
|
||||
}
|
||||
|
||||
/// Determine whether or not an interrupt is currently in effect
|
||||
#[cfg(feature = "modern_sqlite")] // 3.41.0
|
||||
pub fn is_interrupted(&self) -> bool {
|
||||
self.db.borrow().is_interrupted()
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Debug for Connection {
|
||||
@ -2206,4 +2212,14 @@ mod test {
|
||||
assert_eq!((v1.as_str(), v2), (name, age));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(feature = "modern_sqlite")]
|
||||
fn test_is_interrupted() -> Result<()> {
|
||||
let db = Connection::open_in_memory()?;
|
||||
assert!(!db.is_interrupted());
|
||||
db.get_interrupt_handle().interrupt();
|
||||
assert!(db.is_interrupted());
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user