Skip to content

[coverage] Conformance findings: METADATA-035,METADATA-036 #473

Closed

Description

@peco-engineer-bot

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

  • METADATA-035 [thrift, sea]: session.getTables() treats an empty tableTypes array as "match none" and returns 0 rows instead of behaving like a null filter and matching ALL table types (fix(csharp): correctly handle empty table types filter on GetTables adbc-drivers/hiveserver2#72)
    • failing test: getTables — tableTypes=[] (empty, non-null) matches ALL table types [xfail: driver bug] [thrift], getTables — tableTypes=[] (empty, non-null) matches ALL table types [xfail: driver bug] [sea] (see the coverage PR diff under tests/)
  • METADATA-036 [sea]: the SEA metadata path sends a redundant CloseStatement DELETE even when the metadata ExecuteStatement response reported status.state=CLOSED; the driver's regular-query path honors the terminal state correctly, so this is metadata-specific
    • failing test: METADATA-036 — metadata statement close honors ExecuteStatement status.state [sea] (see the coverage PR diff under tests/)

Context

Activity

  1. vuanhphung commented on Nov 13, 2026

    @vuanhphung
    Collaborator

    Re-checked on main (7be705e) against a live warehouse, on both the Thrift and kernel backends:

    • METADATA-035: getTables returns 972 rows with no tableTypes filter and 0 rows with tableTypes: []. That is what the shared spec now requires: fix(csharp): empty tableTypes filter matches none, not all (JDBC parity) adbc-drivers/hiveserver2#83 reversed this case, so an empty, non-null filter matches no table types, the same as databricks-jdbc.
    • METADATA-036 (an extra CloseStatement after a metadata statement already reported CLOSED): on the kernel backend the driver only calls the native binding's close(), so any extra request comes from the Rust kernel. If it still reproduces, it needs a fix in databricks-sql-kernel.

    Closing, since nothing is left to change in this driver.

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