fix(tdengine): show database objects without schema layer

This commit is contained in:
t8y2 2026-06-24 20:18:01 +08:00
parent b09e3d188e
commit 4b45912862
4 changed files with 18 additions and 7 deletions

View File

@ -90,11 +90,7 @@ public final class TDengineAgent extends BaseDatabaseAgent {
@Override
public List<String> listSchemas() {
List<String> result = new ArrayList<>();
for (DatabaseInfo database : listDatabases()) {
result.add(database.getName());
}
return result;
return Collections.emptyList();
}
@Override

View File

@ -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();

View File

@ -29,7 +29,6 @@ export const SCHEMA_AWARE_TYPES = new Set<DatabaseType>([
"databend",
"db2",
"informix",
"tdengine",
"xugu",
"iotdb",
"iris",
@ -64,7 +63,6 @@ export const TREE_SCHEMA_TYPES = new Set<DatabaseType>([
"prestosql",
"h2",
"informix",
"tdengine",
"xugu",
"iotdb",
"iris",

View File

@ -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);
});