From 4a996e0a05ea92e9295cc1871974b8e0a32d6367 Mon Sep 17 00:00:00 2001 From: Ming Ying Date: Wed, 19 Jun 2024 22:28:45 -0400 Subject: [PATCH 1/4] Interrupt connection --- crates/duckdb/src/lib.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crates/duckdb/src/lib.rs b/crates/duckdb/src/lib.rs index d18f6daf..67f9c053 100644 --- a/crates/duckdb/src/lib.rs +++ b/crates/duckdb/src/lib.rs @@ -376,6 +376,10 @@ impl Connection { self.prepare(sql).and_then(|mut stmt| stmt.execute(params)) } + pub fn interrupt(&self) { + unsafe { ffi::duckdb_interrupt(self.db.borrow_mut().con) }; + } + /// Returns the path to the database file, if one exists and is known. #[inline] pub fn path(&self) -> Option<&Path> { From 70fb0279f6ea31f142d8c792f408b55a6223b95b Mon Sep 17 00:00:00 2001 From: Ming Ying Date: Wed, 19 Jun 2024 22:40:12 -0400 Subject: [PATCH 2/4] Dont borrow mut --- .DS_Store | Bin 0 -> 6148 bytes crates/.DS_Store | Bin 0 -> 8196 bytes crates/duckdb/src/lib.rs | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 .DS_Store create mode 100644 crates/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..9dd77596b222136c6fff986fef10e06743a22d37 GIT binary patch literal 6148 zcmeHK%}T>S5Z-NTn^J@v6nYGJEf}qe;w8lT0!H+pQWFz27_+5G&7l->))(?gd>&_Z zH-})rn~0r(-EVe&b~7Jje;8xjU4(m#nT#<58X`xfLD1ajYUyA^F6W3?78KbmNJP*u z(O)#-w|ChCn=_x~tp5EU!7Pch+_pb?tKHe?_Kcn}Fz&o3QFytZFEZDk-{9y{h$N_V zKe&pcVrp)ki8S})G@8qVIE*0V_Bu{OQMh7}hMCOul*8y7{i!)zE)Q*cWE~ujS0ihA zvXA=sXtnAa+dI3b7t`nDB^7UqNDiD!+0Kn(oA0PYVKG(<;ZsZeem(BbtN{T)OU(D5ySXlZmbmI}cG!c{7u zO6B^A!BslgEgk1*EETGB#^uT|k6yWYyl}ZX*ew~(xTBDIVt^Q^GtgE;6VLy1_+=U& z`SlbU5d*})KVyJ*Cf>w_qV(DNtvozyEok@9P%y4U1qAfkB>)Dvj|`<#`7P8T&e2#Z V#97cT(*fxsAPJ$482AMSz5uvyOd~=;vb~;mbW_N*F z((;=i@Mco~mSQp1_O)1QjlLX-zGgvyE_omXeo4(CD zoCqTjMj(tp7=bVXVFdmQ5ukUrXnczdYY?@dnFlaBkebOVJ)0b5Yw*11xj zY%kX-ze$wU7k#>3^hwpKB7;NP$gnl$I(^n@GpR4~$fzMBaGa-cC184+8x8-{6+-wpLk^hj@{pX*l$ zqgzhSA~w_Qkfi2KiDr3Mf}pCkCF~M!s-b0$#wkK}VND{BewZC&XpzSSW4`>_Q=~BMQWYVGo#B1~9Tsfsz3I_A5!n!f0 zMfG{ae5tNnMQR1HUaAi?N29tz$tKlx>!X@pMyaF**bU93qM&TvqG@_LC6!#;v6ECL z@?7fe9ki235q|e%y~y5Wm)XbcOCsy{><9J}`yC7wm`~(fh8PiaB~}qZ<7mYOv|%T9 zp&cDW*KRzD9z2F#9KsPKaSSOUtBpxG$m0|d_DQ1b8JxvAoX0b`fS2$xUcsvYb>GH2 zl6E)A_(+k4QsSdhGUoa+j_o?fX}(C{TOpx#R}m Date: Thu, 20 Jun 2024 09:58:29 -0400 Subject: [PATCH 3/4] Add docs + remove DS_Store --- .DS_Store | Bin 6148 -> 0 bytes crates/.DS_Store | Bin 8196 -> 0 bytes crates/duckdb/src/lib.rs | 2 ++ 3 files changed, 2 insertions(+) delete mode 100644 .DS_Store delete mode 100644 crates/.DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 9dd77596b222136c6fff986fef10e06743a22d37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%}T>S5Z-NTn^J@v6nYGJEf}qe;w8lT0!H+pQWFz27_+5G&7l->))(?gd>&_Z zH-})rn~0r(-EVe&b~7Jje;8xjU4(m#nT#<58X`xfLD1ajYUyA^F6W3?78KbmNJP*u z(O)#-w|ChCn=_x~tp5EU!7Pch+_pb?tKHe?_Kcn}Fz&o3QFytZFEZDk-{9y{h$N_V zKe&pcVrp)ki8S})G@8qVIE*0V_Bu{OQMh7}hMCOul*8y7{i!)zE)Q*cWE~ujS0ihA zvXA=sXtnAa+dI3b7t`nDB^7UqNDiD!+0Kn(oA0PYVKG(<;ZsZeem(BbtN{T)OU(D5ySXlZmbmI}cG!c{7u zO6B^A!BslgEgk1*EETGB#^uT|k6yWYyl}ZX*ew~(xTBDIVt^Q^GtgE;6VLy1_+=U& z`SlbU5d*})KVyJ*Cf>w_qV(DNtvozyEok@9P%y4U1qAfkB>)Dvj|`<#`7P8T&e2#Z V#97cT(*fxsAPJ$482AMSz5uvyOd~=;vb~;mbW_N*F z((;=i@Mco~mSQp1_O)1QjlLX-zGgvyE_omXeo4(CD zoCqTjMj(tp7=bVXVFdmQ5ukUrXnczdYY?@dnFlaBkebOVJ)0b5Yw*11xj zY%kX-ze$wU7k#>3^hwpKB7;NP$gnl$I(^n@GpR4~$fzMBaGa-cC184+8x8-{6+-wpLk^hj@{pX*l$ zqgzhSA~w_Qkfi2KiDr3Mf}pCkCF~M!s-b0$#wkK}VND{BewZC&XpzSSW4`>_Q=~BMQWYVGo#B1~9Tsfsz3I_A5!n!f0 zMfG{ae5tNnMQR1HUaAi?N29tz$tKlx>!X@pMyaF**bU93qM&TvqG@_LC6!#;v6ECL z@?7fe9ki235q|e%y~y5Wm)XbcOCsy{><9J}`yC7wm`~(fh8PiaB~}qZ<7mYOv|%T9 zp&cDW*KRzD9z2F#9KsPKaSSOUtBpxG$m0|d_DQ1b8JxvAoX0b`fS2$xUcsvYb>GH2 zl6E)A_(+k4QsSdhGUoa+j_o?fX}(C{TOpx#R}m Date: Thu, 20 Jun 2024 10:13:01 -0400 Subject: [PATCH 4/4] Add more docs --- crates/duckdb/src/lib.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/duckdb/src/lib.rs b/crates/duckdb/src/lib.rs index f9e93d2f..656aabb8 100644 --- a/crates/duckdb/src/lib.rs +++ b/crates/duckdb/src/lib.rs @@ -377,6 +377,8 @@ impl Connection { } /// Convenience method to interrupt the current query running on the connection. + /// + /// This will cause the cancelled query to immediately return an error. #[inline] pub fn interrupt(&self) { unsafe { ffi::duckdb_interrupt(self.db.borrow().con) };