From 4b45912862a29efd53623be0680b0d35d6af9e27 Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Wed, 24 Jun 2026 20:18:01 +0800 Subject: [PATCH] fix(tdengine): show database objects without schema layer --- .../main/java/com/dbx/agent/tdengine/TDengineAgent.java | 6 +----- .../java/com/dbx/agent/tdengine/TDengineAgentTest.java | 9 +++++++++ apps/desktop/src/lib/databaseCapabilitySets.ts | 2 -- packages/app-tests/databaseCapabilities.test.ts | 8 ++++++++ 4 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 packages/app-tests/databaseCapabilities.test.ts diff --git a/agents/drivers/tdengine/src/main/java/com/dbx/agent/tdengine/TDengineAgent.java b/agents/drivers/tdengine/src/main/java/com/dbx/agent/tdengine/TDengineAgent.java index 3f3b9cade..fb48ce082 100644 --- a/agents/drivers/tdengine/src/main/java/com/dbx/agent/tdengine/TDengineAgent.java +++ b/agents/drivers/tdengine/src/main/java/com/dbx/agent/tdengine/TDengineAgent.java @@ -90,11 +90,7 @@ public final class TDengineAgent extends BaseDatabaseAgent { @Override public List listSchemas() { - List result = new ArrayList<>(); - for (DatabaseInfo database : listDatabases()) { - result.add(database.getName()); - } - return result; + return Collections.emptyList(); } @Override diff --git a/agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentTest.java b/agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentTest.java index 51bdc114b..1245bbc4a 100644 --- a/agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentTest.java +++ b/agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentTest.java @@ -82,6 +82,15 @@ class TDengineAgentMetadataTest { ); } + @Test + void doesNotExposeDatabasesAsSchemas() { + TDengineAgent agent = new TDengineAgent(); + TestSupport.setPrivateConnection(agent, JdbcMetadataSqlFake.connection()); + + Assertions.assertTrue(agent.listSchemas().isEmpty()); + Assertions.assertTrue(JdbcMetadataSqlFake.statements.isEmpty()); + } + @Test void setsDatabaseBeforeExecutionWhenSchemaIsProvided() { TDengineAgent agent = new TDengineAgent(); diff --git a/apps/desktop/src/lib/databaseCapabilitySets.ts b/apps/desktop/src/lib/databaseCapabilitySets.ts index b8d40c94f..e13e07ee0 100644 --- a/apps/desktop/src/lib/databaseCapabilitySets.ts +++ b/apps/desktop/src/lib/databaseCapabilitySets.ts @@ -29,7 +29,6 @@ export const SCHEMA_AWARE_TYPES = new Set([ "databend", "db2", "informix", - "tdengine", "xugu", "iotdb", "iris", @@ -64,7 +63,6 @@ export const TREE_SCHEMA_TYPES = new Set([ "prestosql", "h2", "informix", - "tdengine", "xugu", "iotdb", "iris", diff --git a/packages/app-tests/databaseCapabilities.test.ts b/packages/app-tests/databaseCapabilities.test.ts new file mode 100644 index 000000000..f7cced073 --- /dev/null +++ b/packages/app-tests/databaseCapabilities.test.ts @@ -0,0 +1,8 @@ +import assert from "node:assert/strict"; +import { test } from "vitest"; +import { isSchemaAware, usesTreeSchemaMode } from "../../apps/desktop/src/lib/databaseCapabilities.ts"; + +test("TDengine uses database/catalog tree nodes without a schema layer", () => { + assert.equal(isSchemaAware("tdengine"), false); + assert.equal(usesTreeSchemaMode("tdengine"), false); +});