Update to hotdata SDK 0.2.0 and follow truncated query results#155
Conversation
| return query_response_from_sdk(resp); | ||
| } | ||
| match resp.result_id.clone().flatten() { | ||
| Some(result_id) => fetch_arrow_result(api, &result_id), |
There was a problem hiding this comment.
nit: following a truncated inline response to Arrow silently drops the inline response's warning (and execution_time_ms). fetch_arrow_result → arrow_result_to_query_response hardcodes warning: None / execution_time_ms: None, so a query-level warning that the server attached to a truncated-but-persisted result won't reach the user. If that warning is meaningful here, consider carrying resp.warning.flatten() through to the fetched result. (not blocking)
There was a problem hiding this comment.
Good catch — fixed in 579135b. The Some(result_id) arm now carries resp.warning and execution_time_ms onto the fetched Arrow result, with a test asserting both survive the follow.
There was a problem hiding this comment.
Clean handling of the new truncation contract. The resolve_inline branching (non-truncated → as-is, truncated+result_id → Arrow follow, truncated+no result_id → preview with warning) is sound, and the tests cover all three paths plus warning preservation. One non-blocking nit left inline.
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Prior nit resolved (warning + execution_time_ms now carried through the Arrow follow, with a test asserting both survive). Logic is correct across all three branches, conversions are consistent with the existing inline path, and the fallback warning appends rather than clobbers. Tests are meaningful. LGTM.
Bumps the hotdata Rust SDK to 0.2.0 and handles its new truncation contract: a fast-completing but large query returns an inline 200 with
truncated = trueand only a preview, so the inline branch now followsresult_idto the full result via the same Arrow path the async branch uses (falling back to the preview with a warning when noresult_idis present).