Skip to content

feat(server): add async query execution support#30

Merged
sivchari merged 1 commit intomainfrom
feat-async-query
Feb 12, 2026
Merged

feat(server): add async query execution support#30
sivchari merged 1 commit intomainfrom
feat-async-query

Conversation

@sivchari
Copy link
Copy Markdown
Owner

@sivchari sivchari commented Feb 6, 2026

Summary

  • Add support for async query execution with ?async=true query parameter
  • Implement statement handle tracking with AsyncQueryState enum
  • Add status polling via GET /api/v2/statements/{handle}
  • Add query cancellation via POST /api/v2/statements/{handle}/cancel
  • Add CancellationToken support for proper query cancellation

Changes

  • server/Cargo.toml: Add parking_lot and tokio-util dependencies
  • server/src/state.rs: Add AsyncQueryState, AsyncQueryEntry, and management methods
  • server/src/handlers.rs: Implement async execution flow with tokio::spawn
  • server/tests/integration_test.rs: Add tests for async query functionality

Test plan

  • cargo test -p server passes
  • cargo test --workspace passes
  • cargo fmt --check passes

Add support for async query execution with statement handle tracking:
- Add ?async=true query parameter to POST /api/v2/statements
- Implement AsyncQueryState enum for tracking query lifecycle
- Add AppState methods for managing async queries
- Implement GET /api/v2/statements/{handle} for status polling
- Implement POST /api/v2/statements/{handle}/cancel for cancellation
- Add CancellationToken support for proper query cancellation
- Add integration tests for async query functionality

Dependencies added: parking_lot, tokio-util
@sivchari sivchari merged commit 76e0588 into main Feb 12, 2026
1 check passed
@sivchari sivchari deleted the feat-async-query branch February 12, 2026 02:56
@github-actions github-actions bot mentioned this pull request Feb 17, 2026
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.

1 participant