feat: add GaussDB ODBC support and flatten connection list

- Add GaussDB/openGauss support via ODBC (resolves #106)
- Use pg_catalog queries instead of information_schema for compatibility
- Share ODBC environment across drivers with auto ODBCSYSINI detection
- Fix ODBC error message false positive on "Driver" keyword match
- Merge connection dialog categories into a single flat list
- Remove duplicate DDL button from data grid footer
This commit is contained in:
t8y2 committed 2026-05-07 02:18:20 +08:00
1 parent 969f441753
commit b79e5b53bc
21 files changed
+602 -40

No files matched your search

@@ -34,6 +34,7 @@ const SQL_TYPES: DatabaseType[] = [
"clickhouse",
"duckdb",
"dameng",
"gaussdb",
];
const sqlConnections = computed(() => store.connections.filter((c) => SQL_TYPES.includes(c.db_type)));
@@ -134,7 +135,8 @@ async function loadTables() {
config?.db_type === "postgres" ||
config?.db_type === "sqlserver" ||
config?.db_type === "oracle" ||
config?.db_type === "dameng";
config?.db_type === "dameng" ||
config?.db_type === "gaussdb";
if (needsSchema) {
const schemas = await api.listSchemas(sourceConnectionId.value, sourceDatabase.value);
sourceSchema.value = schemas.includes("public") ? "public" : (schemas[0] ?? "");
@@ -225,7 +227,8 @@ async function startTransfer() {
targetConfig?.db_type === "postgres" ||
targetConfig?.db_type === "sqlserver" ||
targetConfig?.db_type === "oracle" ||
targetConfig?.db_type === "dameng";
targetConfig?.db_type === "dameng" ||
targetConfig?.db_type === "gaussdb";
if (targetNeedsSchema && !targetSchema.value) {
try {
const schemas = await api.listSchemas(targetConnectionId.value, targetDatabase.value);