mirror of
https://github.com/t8y2/dbx.git
synced 2026-11-01 00:25:38 +00:00
feat(agent): pluggable database drivers via JDBC agent subprocess
Migrate domestic database support (DaMeng, KingBase, Vastbase, GoldenDB) from built-in ODBC/protocol drivers to standalone Java agent processes communicating via stdin/stdout JSON-RPC 2.0. Agents are distributed as fat JARs with embedded JDBC drivers, downloaded on-demand from GitHub Releases with proxy fallback. - Add AgentDriverClient for subprocess lifecycle + JSON-RPC communication - Add AgentManager for JRE/JAR install state management - Add Tauri commands for driver install/uninstall/list - Add DriverManager UI panel in settings dialog - Extend DatabaseType with Kingbase, Vastbase, Goldendb variants - Migrate Dameng from ODBC (dm_driver.rs) to JDBC agent - Delete dm_driver.rs (343 lines) - Add GitHub proxy fallback for downloads (update.hwdns.net, gh-proxy.org) Agent code lives at https://github.com/t8y2/dbx-agents
This commit is contained in:
@@ -159,6 +159,9 @@ export const useConnectionStore = defineStore("connection", () => {
|
||||
redshift: "Redshift",
|
||||
dameng: "DM (Dameng)",
|
||||
gaussdb: "GaussDB",
|
||||
kingbase: "KingBase",
|
||||
vastbase: "Vastbase",
|
||||
goldendb: "GoldenDB",
|
||||
};
|
||||
|
||||
const profile = config.driver_profile || config.db_type;
|
||||
@@ -167,6 +170,12 @@ export const useConnectionStore = defineStore("connection", () => {
|
||||
dbType = "gaussdb" as ConnectionConfig["db_type"];
|
||||
} else if (profile === "redshift" && dbType === "postgres") {
|
||||
dbType = "redshift" as ConnectionConfig["db_type"];
|
||||
} else if (profile === "kingbase" && dbType === "postgres") {
|
||||
dbType = "kingbase" as ConnectionConfig["db_type"];
|
||||
} else if (profile === "vastbase" && dbType === "postgres") {
|
||||
dbType = "vastbase" as ConnectionConfig["db_type"];
|
||||
} else if (profile === "goldendb" && dbType === "mysql") {
|
||||
dbType = "goldendb" as ConnectionConfig["db_type"];
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user