diff --git a/apps/desktop/src/lib/databaseFeatureSupport.ts b/apps/desktop/src/lib/databaseFeatureSupport.ts index 6a7f3e753d..4be10e89b0 100644 --- a/apps/desktop/src/lib/databaseFeatureSupport.ts +++ b/apps/desktop/src/lib/databaseFeatureSupport.ts @@ -74,7 +74,7 @@ export function supportsObjectBrowser(dbType?: DatabaseType): boolean { export function supportsObjectBrowserTreeNode(dbType: DatabaseType | undefined, nodeType: TreeNodeType): boolean { if (!supportsObjectBrowser(dbType)) return false; - if (nodeType === "database" && isSchemaAware(dbType)) return false; + if (nodeType === "database" && isSchemaAware(dbType) && dbType !== "sqlserver") return false; return nodeType === "database" || nodeType === "schema" || nodeType === "object-browser"; } diff --git a/packages/app-tests/databaseCapabilities.test.ts b/packages/app-tests/databaseCapabilities.test.ts index c466f2c366..dac6f8b743 100644 --- a/packages/app-tests/databaseCapabilities.test.ts +++ b/packages/app-tests/databaseCapabilities.test.ts @@ -204,9 +204,11 @@ test("describes feature support through capability helpers", () => { assert.equal(supportsTableTruncate("duckdb"), false); }); -test("schema-aware database nodes do not open an object browser tab", () => { +test("object browser entry follows database tree shape", () => { assert.equal(supportsObjectBrowserTreeNode("postgres", "database"), false); assert.equal(supportsObjectBrowserTreeNode("postgres", "schema"), true); + assert.equal(supportsObjectBrowserTreeNode("sqlserver", "database"), true); + assert.equal(supportsObjectBrowserTreeNode("sqlserver", "schema"), true); assert.equal(supportsObjectBrowserTreeNode("mysql", "database"), true); assert.equal(supportsObjectBrowserTreeNode("mongodb", "database"), false); });