Skip to content

[coverage] Conformance findings: STATEMENT-023 #1692

Closed

Description

@peco-engineer-bot

Summary

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:

SELECT COUNT(*) FROM range(0, 40000000) a JOIN range(0, 40000000) b ON a.id % 5000 = b.id % 5000 -- timeout nonce <unique-per-run>
SELECT 1

Expected (per the shared spec):

  • completes without an exception
  • result has exactly 1 row(s)
  • full assertion contract:
result:
- label: timed_out
  error:
    contains:
    - timeout
    - timed out
    - cancel
- label: timed_out
  sql_state: HYT00
- label: timed_out
  elapsed_seconds_range:
    min: 4
    max: 25
- label: reused_statement
  no_exception: true
- label: reused_statement
  row_count: 1

Context

Activity

  1. cathleeny commented on Sep 23, 2026

    @cathleeny
    Collaborator

    Expected for JDBC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions