feat(cache): add built-in InterSystems Caché agent driver

Closes #7972
This commit is contained in:
t8y2 committed 2026-09-04 23:40:07 +08:00
1 parent 6bdfd72809
commit 8b8c0b8075
19 files changed
+716 -5

No files matched your search

@@ -2971,7 +2971,7 @@ const isH2FileMode = computed(() => form.value.db_type === "h2" && h2ConnectionM
const isH2CustomDriver = computed(() => form.value.db_type === "h2" && form.value.driver_profile === "h2-custom");
const usesLocalFilePathInput = computed(() => isLocalFileTypeDb(form.value.db_type) && (form.value.db_type !== "h2" || isH2FileMode.value));
const connectionUrlPlaceholder = computed(() => getUrlPlaceholder(form.value.db_type));
const connectionUrlPlaceholder = computed(() => getUrlPlaceholder(form.value.db_type, form.value.driver_profile));
const jdbcUsernamePlaceholder = computed(() => (form.value.driver_profile === "dremio" || isJdbcProductConnection.value ? "" : "sa"));
const filePathPlaceholder = computed(() => {
if (form.value.db_type === "duckdb") return "/path/to/database.duckdb or :memory:";
@@ -113,6 +113,7 @@ const assetIcons: Record<string, string> = {
nacos: "nacos.png",
consul: "consul",
iris: "iris",
cache: "iris",
influxdb: "influxdb",
influxdb3: "influxdb",
victoriametrics: "victoriametrics.png",
@@ -161,7 +161,7 @@ export function connectionDisplayUrlScheme(connection: Pick<ConnectionConfig, "d
}
}
export function connectionUrlPlaceholder(dbType: DatabaseType): string {
export function connectionUrlPlaceholder(dbType: DatabaseType, driverProfile?: string): string {
switch (dbType) {
case "mysql":
case "doris":
@@ -258,7 +258,7 @@ export function connectionUrlPlaceholder(dbType: DatabaseType): string {
return "spanner:///projects/{project}/instances/{instance}/databases/{database}";
case "iris":
return "iris://user:password@host:port/namespace";
return driverProfile === "cache" ? "cache://user:password@host:port/namespace" : "iris://user:password@host:port/namespace";
case "influxdb":
return "influxdb://user:password@host:port/database";
@@ -117,6 +117,7 @@ export const CONNECTION_PROFILES = {
consul: { type: "consul", port: 8500, user: "", label: "Consul", icon: "consul", host: "127.0.0.1" },
mqtt: { type: "mqtt", port: 1883, user: "", label: "MQTT", icon: "mqtt", host: "127.0.0.1" },
iris: { type: "iris", port: 1972, user: "_SYSTEM", label: "IRIS", icon: "iris" },
cache: { type: "iris", port: 1972, user: "_SYSTEM", label: "InterSystems Caché", icon: "cache" },
influxdb: { type: "influxdb", port: 8086, user: "", label: "InfluxDB", icon: "InfluxDB" },
influxdb3: { type: "influxdb3", port: 8181, user: "", label: "InfluxDB 3.x", icon: "InfluxDB" },
victoriametrics: { type: "victoriametrics", port: 8428, user: "", label: "VictoriaMetrics", icon: "victoriametrics" },
@@ -223,6 +224,7 @@ export const CONNECTION_PROFILE_ICONS = {
consul: "consul",
mqtt: "mqtt",
iris: "iris",
cache: "cache",
influxdb: "influxdb",
influxdb3: "influxdb",
victoriametrics: "victoriametrics",
@@ -322,6 +324,7 @@ export const CONNECTION_PICKER_OPTIONS = [
{ value: "consul", label: "Consul", category: "registry_config" },
{ value: "mqtt", label: "MQTT", category: "mq" },
{ value: "iris", label: "IRIS", category: "sql" },
{ value: "cache", label: "InterSystems Caché", category: "sql" },
{ value: "influxdb", label: "InfluxDB", category: "timeseries" },
{ value: "influxdb3", label: "InfluxDB 3.x", category: "timeseries" },
{ value: "victoriametrics", label: "VictoriaMetrics", category: "timeseries" },