fix(trino): support schema-aware table browsing and inserts

This commit is contained in:
t8y2
2026-05-13 20:46:27 +08:00
parent 2ba97869a1
commit 7f19a0376a
7 changed files with 61 additions and 4 deletions
+9 -1
View File
@@ -12,6 +12,7 @@ export const SCHEMA_AWARE_TYPES = new Set<DatabaseType>([
"jdbc",
"h2",
"snowflake",
"trino",
"db2",
"informix",
]);
@@ -109,7 +110,14 @@ export const SINGLE_DATABASE_TYPES = new Set<DatabaseType>(["oracle", "dameng"])
export const FETCH_FIRST_TYPES = new Set<DatabaseType>(["oracle", "dameng"]);
export const TREE_SCHEMA_TYPES = new Set<DatabaseType>(["postgres", "redshift", "sqlserver", "gaussdb", "jdbc"]);
export const TREE_SCHEMA_TYPES = new Set<DatabaseType>([
"postgres",
"redshift",
"sqlserver",
"gaussdb",
"jdbc",
"trino",
]);
export const PG_LIKE_STRUCTURE_TYPES = new Set<DatabaseType>(["postgres", "redshift", "gaussdb"]);
+4 -1
View File
@@ -12,18 +12,21 @@ export function editablePrimaryKeys(databaseType: DatabaseType | undefined, colu
export function isTableDataEditable(databaseType: DatabaseType | undefined, primaryKeys: string[]): boolean {
if (databaseType === "hive") return true;
if (databaseType === "trino") return true;
return primaryKeys.length > 0;
}
export function supportsDataGridTransaction(databaseType: DatabaseType | undefined): boolean {
return databaseType !== "hive";
return databaseType !== "hive" && databaseType !== "trino";
}
export function canEditExistingTableRows(
databaseType: DatabaseType | undefined,
hiveTableTransactional?: boolean,
primaryKeys: string[] = [],
): boolean {
if (databaseType === "hive") return hiveTableTransactional === true;
if (databaseType === "trino") return primaryKeys.length > 0;
return true;
}