mirror of
https://github.com/t8y2/dbx.git
synced 2026-10-23 18:20:01 +00:00
Previously, cancelling a DuckDB query only dropped the tokio CancellationToken, but the actual DuckDB C call continued running in spawn_blocking. This caused the UI to show "正在停止..." until timeout silently expired. Now, RunningQueries stores per-execution interrupt callbacks. For DuckDB and ExternalTabular branches, an InterruptHandle is registered on query start so cancel() calls duckdb_interrupt() at the C level, truly stopping the query.