dbx/apps/desktop/src/lib/databaseCapabilitySets.ts

302 lines
4.5 KiB
TypeScript

import type { DatabaseType } from "@/types/database";
export const SCHEMA_AWARE_TYPES = new Set<DatabaseType>([
"postgres",
"sqlserver",
"oracle",
"redshift",
"dameng",
"gaussdb",
"kwdb",
"kingbase",
"highgo",
"vastbase",
"yashandb",
"databricks",
"saphana",
"teradata",
"vertica",
"exasol",
"opengauss",
"oceanbase-oracle",
"gbase",
"jdbc",
"h2",
"snowflake",
"trino",
"hive",
"db2",
"tdengine",
"xugu",
"iris",
"duckdb",
]);
export const SQL_FILE_UNSUPPORTED_TYPES = new Set<DatabaseType>(["redis", "mongodb", "elasticsearch"]);
export const DIAGRAM_SUPPORTED_TYPES = new Set<DatabaseType>([
"mysql",
"postgres",
"sqlite",
"rqlite",
"sqlserver",
"oracle",
"redshift",
"dameng",
"gaussdb",
"kwdb",
"kingbase",
"highgo",
"vastbase",
"goldendb",
"yashandb",
"databricks",
"saphana",
"teradata",
"vertica",
"firebird",
"exasol",
"opengauss",
"oceanbase-oracle",
"gbase",
"access",
"h2",
"db2",
"iris",
]);
export const DATABASE_SEARCH_SUPPORTED_TYPES = new Set<DatabaseType>([
"mysql",
"postgres",
"sqlite",
"rqlite",
"sqlserver",
"oracle",
"redshift",
"duckdb",
"clickhouse",
"dameng",
"gaussdb",
"kwdb",
"kingbase",
"highgo",
"vastbase",
"goldendb",
"yashandb",
"databricks",
"saphana",
"teradata",
"vertica",
"firebird",
"exasol",
"opengauss",
"oceanbase-oracle",
"gbase",
"access",
"h2",
"snowflake",
"trino",
"hive",
"db2",
"informix",
"neo4j",
"cassandra",
"bigquery",
"kylin",
"sundb",
"tdengine",
"xugu",
"iris",
]);
export const TABLE_IMPORT_SUPPORTED_TYPES = new Set<DatabaseType>([
"mysql",
"postgres",
"sqlite",
"rqlite",
"duckdb",
"clickhouse",
"sqlserver",
"oracle",
"doris",
"starrocks",
"redshift",
"dameng",
"gaussdb",
"kwdb",
"kingbase",
"highgo",
"vastbase",
"goldendb",
"yashandb",
"access",
]);
export const TABLE_STRUCTURE_SUPPORTED_TYPES = new Set<DatabaseType>([
"mysql",
"postgres",
"sqlite",
"rqlite",
"duckdb",
"clickhouse",
"sqlserver",
"oracle",
"doris",
"starrocks",
"redshift",
"dameng",
"gaussdb",
"kwdb",
"kingbase",
"highgo",
"vastbase",
"goldendb",
"opengauss",
"oceanbase-oracle",
"h2",
"sundb",
"iris",
"access",
]);
export const CREATE_DATABASE_SUPPORTED_TYPES = new Set<DatabaseType>([
"mysql",
"postgres",
"sqlserver",
"clickhouse",
"oracle",
"dameng",
"gaussdb",
"kwdb",
"opengauss",
"oceanbase-oracle",
"doris",
"starrocks",
"redshift",
]);
export const FIELD_LINEAGE_SUPPORTED_TYPES = new Set<DatabaseType>([
"mysql",
"postgres",
"sqlite",
"rqlite",
"sqlserver",
"oracle",
"redshift",
"dameng",
"gaussdb",
"kwdb",
"opengauss",
"oceanbase-oracle",
]);
export const SINGLE_DATABASE_TYPES = new Set<DatabaseType>([
"oracle",
"dameng",
"firebird",
"oceanbase-oracle",
"access",
]);
export const FETCH_FIRST_TYPES = new Set<DatabaseType>(["oracle", "dameng"]);
export const TREE_SCHEMA_TYPES = new Set<DatabaseType>([
"postgres",
"redshift",
"sqlserver",
"db2",
"gaussdb",
"kwdb",
"kingbase",
"highgo",
"vastbase",
"yashandb",
"databricks",
"saphana",
"teradata",
"vertica",
"exasol",
"opengauss",
"oceanbase-oracle",
"gbase",
"jdbc",
"trino",
"h2",
"tdengine",
"xugu",
"iris",
"duckdb",
]);
export const DATABASE_OBJECT_TREE_TYPES = new Set<DatabaseType>(["jdbc"]);
export const PG_LIKE_STRUCTURE_TYPES = new Set<DatabaseType>(["postgres", "redshift", "gaussdb", "kwdb", "opengauss"]);
export const AGENT_DRIVER_TYPES = new Set<DatabaseType>([
"dameng",
"kingbase",
"highgo",
"vastbase",
"yashandb",
"goldendb",
"databricks",
"saphana",
"teradata",
"vertica",
"firebird",
"exasol",
"opengauss",
"oceanbase-oracle",
"gbase",
"access",
"oracle",
"h2",
"snowflake",
"trino",
"hive",
"db2",
"informix",
"neo4j",
"cassandra",
"bigquery",
"kylin",
"sundb",
"gaussdb",
"tdengine",
"xugu",
"iris",
]);
export const TRANSFER_SQL_TYPES = new Set<DatabaseType>([
"mysql",
"postgres",
"sqlite",
"rqlite",
"sqlserver",
"oracle",
"clickhouse",
"duckdb",
"hive",
"mongodb",
"dameng",
"gaussdb",
"kwdb",
"opengauss",
"oceanbase-oracle",
]);
export const DIAGRAM_SQL_TYPES = new Set<DatabaseType>([
"mysql",
"postgres",
"sqlite",
"rqlite",
"sqlserver",
"oracle",
"redshift",
"dameng",
"gaussdb",
"kwdb",
"opengauss",
"oceanbase-oracle",
]);