You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-jdbc. 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-jdbc) is fixed, then flips green as a tripwire.
Findings
STATEMENT-023 [thrift, sea]: DatabricksTimeoutException reports its internal error-code enum name in the SQLSTATE slot instead of the standard timeout-expired state HYT00, so portable SQLSTATE-based handling cannot recognise a query timeout
failing test: testQueryTimeoutEnforcedWithoutBlocking (see the coverage PR diff under tests/)
STATEMENT-023: DatabricksTimeoutException puts its internal error-code enum name (STATEMENT_EXECUTION_TIMEOUT / OPERATION_TIMEOUT_ERROR) in the SQLSTATE slot instead of the standard timeout-expired state HYT00, so portable SQLSTATE-based timeout handling cannot recognise a query timeout on either thrift or sea
Reproduce & Expected
STATEMENT-023 — Validates that a configured client-side query timeout is ENFORCED at execution time -- not merely stored and echoed back by the getter (STATEMENT-021 asserts only that some timeout error surfaces;…
Reproduce:
SELECTCOUNT(*) FROM range(0, 40000000) a JOIN range(0, 40000000) b ONa.id % 5000=b.id % 5000-- timeout nonce <unique-per-run>SELECT1
The behavior was first fixed in a DIFFERENT driver — reference PR: feat(kernel): add client query timeout databricks-sql-go#484 — which seeded the shared language-neutral spec. This issue tracks the same conformance gap in databricks/databricks-jdbc; the reference PR is for cross-referencing the intended behavior, NOT a change to this repo.
Activity
cathleeny commentedon Sep 23, 2026
Expected for JDBC