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]: getTables with an empty tableTypes array returns zero rows on Thrift — an empty, non-null types list is treated as "match none" instead of behaving like null (match ALL table types), dropping every table and view
- failing test:
getTables — empty tableTypes filter matches all table types (see the coverage PR diff under tests/)
- METADATA-035 [sea]: getTables with an empty tableTypes array returns zero rows on SEA — an empty, non-null types list is treated as "match none" instead of behaving like null (match ALL table types), dropping every table and view
- failing test:
getTables — empty tableTypes filter matches all table types (see the coverage PR diff under tests/)
- METADATA-035: getTables with an empty tableTypes array returns zero rows on both Thrift and SEA — an empty, non-null types list is treated as "match none" instead of behaving like null (match ALL table types), dropping every table and view
Reproduce & Expected
METADATA-035 — Validates that GetTables treats an EMPTY table-types filter (types: []) the same as a null filter (match ALL table types), rather than matching nothing.
Reproduce:
- Call GetObjects with tableTypes = [] (empty, non-null list)
Expected (per the shared spec):
- GetObjects completes successfully with an empty table-types filter
- The TABLE is returned (empty filter matched it). Assert.Contains(tables, t => t.table == testTable)
- The VIEW is ALSO returned (empty filter matched all types, not just TABLE). Assert.Contains(tables, t => t.table == testView)
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
getTables — empty tableTypes filter matches all table types(see the coverage PR diff undertests/)getTables — empty tableTypes filter matches all table types(see the coverage PR diff undertests/)Reproduce & Expected
METADATA-035 — Validates that GetTables treats an EMPTY table-types filter (types: []) the same as a null filter (match ALL table types), rather than matching nothing.
Reproduce:
Expected (per the shared spec):
Context