feat!: rename query/queryWithParams to sql/sqlWithParams; query becomes async - #58
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Updates v0.8.0 release notes for active and asynchronous query APIs.
Changes:
- Documents active-query listing and cancellation.
- Documents asynchronous query submission and result handling.
- Updates compatibility wording.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Added documentation for asynchronous query execution and active query management features.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
Suppressed comments (1)
docs/release_notes/v0.8.0.md:66
- “Public API unchanged” contradicts the same sentence’s statement that new public methods were added. The compatibility guarantee here is that the change is additive/backward-compatible, not that the API is unchanged.
- Public API unchanged: every feature in this release is a new method; nothing existing was renamed, removed, or retyped.
sgrebnov
approved these changes
Aug 21, 2026
- Move the AsyncQuery-handle paragraph (status/waitForCompletion/cancel) back under Async Queries; it was left stranded under Active Query Management by a later reordering of the two sections. - Reword "Public API unchanged" to "Additive, backward-compatible change" -- new public methods were added, so the API did change, just without breaking anything existing.
…becomes query Matches the breaking-rename pattern already shipped in the dotnet, js, and python SDKs: query()/queryWithParams() now submit SQL for asynchronous execution and return an AsyncQuery handle, and the previous synchronous, streaming behavior moves to new sql()/ sqlWithParams() methods. - SpiceClient.query(String) -> SpiceClient.sql(String) - SpiceClient.queryWithParams(String, Object...) -> SpiceClient.sqlWithParams(String, Object...) - SpiceClient.queryAsync(String) -> SpiceClient.query(String) - SpiceClient.queryAsyncWithParams(String, Object...) -> SpiceClient.queryWithParams(String, Object...) Updates every call site and cross-reference in src/main, src/test, README.md, and docs/parameterized_queries.md. Historical release notes (v0.5.0.md, v0.6.0.md) are left untouched since they accurately document what those versions actually shipped at the time. Full test suite passes unchanged in behavior -- this is a pure rename, no logic changes.
…sync' into docs/v0.8.0-active-async-queries
Replaces the "Additive, backward-compatible change" compatibility statement, which the rename in the previous commit made false, with an actual Breaking Changes section describing it: query()/queryWithParams() now submit for asynchronous execution and return an AsyncQuery handle; the previous synchronous, streaming behavior moved to sql()/ sqlWithParams(). Also fixes two now-stale sync-path cross-references (Nsql and Async Queries sections) that still said query()/ queryWithParams() where they meant the new sql()/sqlWithParams().
The gate correctly caught the intentional breaking change: query()'s return type changed from FlightStream to AsyncQuery, and queryWithParams()'s from ArrowReader to AsyncQuery, since both now submit for asynchronous execution instead of streaming results directly. Documented, scoped exclusions for exactly these two methods keep the gate meaningful for catching any other, unintended breaking change in this or a future release. Verified locally with the exact CI command (mvn checkstyle:check japicmp:cmp) -- BUILD SUCCESS, and the generated report confirms SpiceClient is otherwise fully binary- and source-compatible with the published 0.7.0.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
query()/queryWithParams()now submit SQL for asynchronous execution and return anAsyncQueryhandle. The previous synchronous, streaming behavior moves to newsql()/sqlWithParams()methods. Matches the pattern already shipped in the dotnet, js, and python SDKs.