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-038 [sea]: SEA/kernel does not resolve a bare unescaped "%" catalog pattern to all-catalogs: getColumns(catalogName:"%", concrete schema+table) returns 0 rows on SEA where Thrift returns the table's columns, a cross-protocol row-set divergence in metadata catalog resolution
- failing test:
wildcard escaping OFF — bare "%" catalog still matches all catalogs and returns the scoped table rows (see the coverage PR diff under tests/)
Reproduce & Expected
METADATA-038 — Validates the complementary half of the escaping contract: with wildcard escaping OFF (the default), a bare match-all catalog pattern ("%" or "*") still means "match all catalogs", so a metadata call…
Reproduce:
- With wildcard escaping OFF (the default — do not enable the escaping control), call
GetColumns with catalog pattern "%" and the concrete fixture schema + test table.
Expected (per the shared spec):
- The call completes successfully
- The unescaped "%" catalog matches all catalogs, so the scoped schema/table is reached and its column rows are returned. Assert.NotEmpty(rows)
- The fixture table appears in the result — proving match-all still resolves the catalog dimension rather than short-circuiting to an empty result. Assert.Contains(rows, r => r["TABLE_NAME"] == testTable)
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
wildcard escaping OFF — bare "%" catalog still matches all catalogs and returns the scoped table rows(see the coverage PR diff undertests/)Reproduce & Expected
METADATA-038 — Validates the complementary half of the escaping contract: with wildcard escaping OFF (the default), a bare match-all catalog pattern ("%" or "*") still means "match all catalogs", so a metadata call…
Reproduce:
GetColumns with catalog pattern "%" and the concrete fixture schema + test table.
Expected (per the shared spec):
Context