Summary
Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-sql-nodejs. Each finding is committed as an expected-failure (xfail) test in the coverage PR — the test asserts the CORRECT (post-fix) behavior and stays red until THIS driver (databricks/databricks-sql-nodejs) is fixed, then flips green as a tripwire.
Findings
- STATEMENT-023 [thrift]: Thrift op.close() rethrows a failed teardown CloseOperation (injected 404) out of dispose instead of treating the per-operation close as best effort, so a cleanup-only error surfaces to the caller after results are fully consumed and the rest of the reader teardown is skipped
- failing test:
STATEMENT-023 — driver bug: failing teardown CloseOperation escapes dispose [thrift] [xfail] (see the coverage PR diff under tests/)
Reproduce & Expected
STATEMENT-023 — The per-operation close RPC (Thrift CloseOperation / SEA CloseStatement) issued during result-reader disposal is TEARDOWN cleanup: the operation's results have already been consumed by the time dispo…
Reproduce:
SELECT id FROM range(10000)
SELECT 1 AS test_value
Expected (per the shared spec):
- completes without an exception
- result has exactly 1 row(s)
- full assertion contract:
result:
- no_exception: true
- reads_blocked_after_dispose: true
- result_not_null: true
- row_count: 1
protocol:
thrift:
- call_min:
method: CloseOperation
min: 1
sea:
- call_min:
operation: CloseStatement
min: 1
Context
Summary
Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-sql-nodejs. Each finding is committed as an expected-failure (xfail) test in the coverage PR — the test asserts the CORRECT (post-fix) behavior and stays red until THIS driver (databricks/databricks-sql-nodejs) is fixed, then flips green as a tripwire.
Findings
STATEMENT-023 — driver bug: failing teardown CloseOperation escapes dispose [thrift] [xfail](see the coverage PR diff undertests/)Reproduce & Expected
STATEMENT-023 — The per-operation close RPC (Thrift CloseOperation / SEA CloseStatement) issued during result-reader disposal is TEARDOWN cleanup: the operation's results have already been consumed by the time dispo…
Reproduce:
Expected (per the shared spec):
Context