feat: add QuestDB support
Thanks @ptma!
This commit is contained in:
1 parent
0ae720d950
commit
1afc271c18
51 files changed
+633
-46
No files matched your search
@@ -401,6 +401,7 @@ const driverProfiles: Record<
|
||||
},
|
||||
gaussdb: { type: "gaussdb", port: 5432, user: "gaussdb", label: "GaussDB", icon: "gaussdb" },
|
||||
kwdb: { type: "kwdb", port: 26257, user: "root", label: "KWDB", icon: "kwdb" },
|
||||
questdb: { type: "questdb", port: 8812, user: "questdb", label: "QuestDB", icon: "questdb" },
|
||||
kingbase: { type: "kingbase", port: 54321, user: "system", label: "KingBase", icon: "kingbase" },
|
||||
highgo: { type: "highgo", port: 5866, user: "highgo", label: "瀚高 HighGo", icon: "highgo" },
|
||||
yashandb: { type: "yashandb", port: 1688, user: "sys", label: "崖山 YashanDB", icon: "yashandb" },
|
||||
@@ -737,6 +738,7 @@ const iconTypeMap: Record<string, string> = {
|
||||
opengauss: "opengauss",
|
||||
gaussdb: "gaussdb",
|
||||
kwdb: "kwdb",
|
||||
questdb: "questdb",
|
||||
kingbase: "kingbase",
|
||||
highgo: "highgo",
|
||||
yashandb: "yashandb",
|
||||
@@ -789,6 +791,7 @@ const dbOptions: DbOption[] = [
|
||||
{ value: "clickhouse", label: "ClickHouse" },
|
||||
{ value: "gaussdb", label: "GaussDB" },
|
||||
{ value: "kwdb", label: "KWDB" },
|
||||
{ value: "questdb", label: "QuestDB" },
|
||||
{ value: "tidb", label: "TiDB" },
|
||||
{ value: "oceanbase", label: "OceanBase" },
|
||||
{ value: "goldendb", label: "GoldenDB" },
|
||||
@@ -878,7 +881,7 @@ const sqliteExtensionPaths = computed({
|
||||
form.value.url_params = setSqliteExtensionPaths(form.value.url_params, value);
|
||||
},
|
||||
});
|
||||
const tlsCapableDatabaseTypes = new Set<DatabaseType>(["mysql", "postgres", "redshift", "gaussdb", "kwdb", "opengauss", "redis", "etcd", "clickhouse", "elasticsearch", "influxdb"]);
|
||||
const tlsCapableDatabaseTypes = new Set<DatabaseType>(["mysql", "postgres", "redshift", "gaussdb", "kwdb", "opengauss", "questdb", "redis", "etcd", "clickhouse", "elasticsearch", "influxdb"]);
|
||||
const supportsTlsToggle = computed(() => tlsCapableDatabaseTypes.has(form.value.db_type));
|
||||
const supportsCaCertificatePath = computed(() => form.value.db_type === "clickhouse");
|
||||
const supportsGenericUrlParams = computed(() => form.value.db_type !== "manticoresearch");
|
||||
|
||||
@@ -30,6 +30,7 @@ const assetIcons: Record<string, string> = {
|
||||
oceanbase: "oceanbase",
|
||||
opengauss: "opengauss",
|
||||
gaussdb: "gaussdb",
|
||||
questdb: "questdb",
|
||||
kwdb: "kwdb",
|
||||
kingbase: "kingbase",
|
||||
highgo: "highgo.png",
|
||||
|
||||
@@ -167,6 +167,7 @@ const sourceFormatDialect = computed<SqlFormatDialect>(() => {
|
||||
case "gaussdb":
|
||||
case "kwdb":
|
||||
case "opengauss":
|
||||
case "questdb":
|
||||
return "postgres";
|
||||
default:
|
||||
return "generic";
|
||||
|
||||
@@ -37,6 +37,7 @@ import {
|
||||
getColumnEditorControls,
|
||||
getDataTypeOptions,
|
||||
getDefaultLengthForType,
|
||||
isDataTypeLengthDisabled,
|
||||
isProtectedManticoreIdColumn,
|
||||
splitDataType,
|
||||
toColumnNames,
|
||||
@@ -509,10 +510,11 @@ function isColumnTypeDisabled(column: EditableStructureColumn): boolean {
|
||||
}
|
||||
|
||||
function isColumnLengthDisabled(column: EditableStructureColumn): boolean {
|
||||
if (isColumnTypeDisabled(column)) return true;
|
||||
if (databaseType.value !== "manticoresearch") return false;
|
||||
if (isColumnTypeDisabled(column)) {
|
||||
return true;
|
||||
}
|
||||
const baseType = splitDataType(column.dataType).baseType.trim().toLowerCase();
|
||||
return baseType !== "bit" && baseType !== "float_vector";
|
||||
return isDataTypeLengthDisabled(databaseType.value, baseType);
|
||||
}
|
||||
|
||||
function isColumnNullableDisabled(column: EditableStructureColumn): boolean {
|
||||
|
||||
Reference in new issue
Block a user