Skip to content

Propagate caller interruptions to ggsql inner queries - #18

Merged
thomasp85 merged 6 commits into
posit-dev:mainfrom
kevin-ewert:fix/interrupt-propagation
Oct 9, 2026
Merged

thomasp85 merged 6 commits into
posit-dev:mainfrom
kevin-ewert:fix/interrupt-propagation

Conversation

@kevin-ewert

Copy link
Copy Markdown
Contributor

Forward the outer context interrupt flag while the sibling connection is active, check cancellation between SQL calls and Arrow batches, and restore DuckDB interruption errors after releasing the Rust result buffer. Join the forwarder before destroying its connection.

Add embedded regression coverage for both entry points, repeated cancellation and connection reuse, single- and multi-threaded execution, and unrelated connection isolation. Run the Python tests against the distribution artifact in CI.

Forward the outer context interrupt flag while the sibling connection is active, check cancellation between SQL calls and Arrow batches, and restore DuckDB interruption errors after releasing the Rust result buffer. Join the forwarder before destroying its connection.

Add embedded regression coverage for both entry points, repeated cancellation and connection reuse, single- and multi-threaded execution, and unrelated connection isolation. Run the Python tests against the distribution artifact in CI.
@kevin-ewert

Copy link
Copy Markdown
Contributor Author

@thomasp85 any chance you could take a look at this PR? hoping to use this extension in the future, especially with DuckDB 2.0.

The v1.5.6 format tooling joins single-element braced lists onto one
line; apply to examples added on main since this branch diverged.
@thomasp85
thomasp85 merged commit 2fde2fb into posit-dev:main Oct 9, 2026
11 checks passed
@thomasp85

Copy link
Copy Markdown
Collaborator

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants