t8y2
e74782f651
feat(metadata): optimize agent metadata loading
2026-07-05 12:09:24 +08:00
t8y2
0c4ae7caf6
fix(mongodb): support shell delete commands
2026-07-01 20:23:51 +08:00
onenewcode
e09ec3cd7a
fix(mongo): preserve BSON types in MongoDB-to-MongoDB transfer
2026-07-01 16:31:39 +08:00
t8y2
6d9132e2a9
fix(mongo): support legacy agent bulk updates
2026-07-01 01:52:32 +08:00
Guoyu Su
7a5984a1fd
fix(mongodb): support shell projection and db.version
2026-06-29 00:27:27 +08:00
t8y2
6c232899b4
feat(agents): remove legacy Oracle Java agents
2026-06-28 16:11:22 +08:00
zipg
be996a4352
fix(gbase8a): 优化 agent 启动错误提示
2026-06-28 10:31:59 +08:00
t8y2
73120883b6
fix(dameng): separate materialized view metadata
2026-06-27 14:29:44 +08:00
t8y2
2f06ca5fe3
fix(data-compare): batch sync execution
2026-06-26 17:10:26 +08:00
t8y2
cdfe576024
fix(structure): load dynamic data type options
2026-06-26 15:22:33 +08:00
t8y2
0c0e90ab1a
feat(export): add table read cursor sessions
2026-06-25 18:37:04 +08:00
t8y2
b2edf7cad6
fix(oracle): apply visible schema filter
2026-06-25 15:19:20 +08:00
t8y2
cebb39cb80
feat(completion): add scoped metadata assistant
2026-06-24 00:40:28 +08:00
t8y2
0b6e1579ca
feat(agent): add execution context recovery
2026-06-22 22:15:16 +08:00
t8y2
f52064bd0e
fix(agent): extend metadata RPC timeout
2026-06-22 18:17:11 +08:00
t8y2
791d55661e
fix(agent): prevent zombie processes on agent cleanup
...
Root cause:
- AgentDriverClient::kill() is called during Drop to clean up child processes
- Old implementation called child.wait() and ignored errors with let _
- When wait() fails (e.g., process already killed by signal), child is not reaped and becomes zombie
Fix:
- Use try_wait() non-blocking polling, up to 100ms timeout
- Avoid long blocking in Drop during async cleanup
- Still perform final blocking wait() as fallback after timeout
- Log all wait errors for debugging
Impact:
- All JDBC agents (Oracle/DB2/DM8/XuguDB etc.)
- Prevents zombie process accumulation during long-running sessions
2026-06-22 14:59:05 +08:00
t8y2
4186c94dd4
fix(agent): clarify protocol capability contract
2026-06-19 14:18:19 +08:00
t8y2
1aa48cf636
fix(informix): add informix_server field for direct INFORMIXSERVER input
2026-06-17 22:59:13 +08:00
t8y2
941958a512
fix: skip non-JSON stdout lines during agent startup
2026-06-15 11:41:39 +08:00
t8y2
2d1d40f6ab
feat(highgo): geometry/geography map preview via agent column_types
2026-06-13 10:25:12 +08:00
t8y2
e6db09c638
feat(agent): support language-neutral driver launch
2026-06-12 15:08:31 +08:00
Quinlevi
897e6998fd
feat(dameng): full DM8 database support
...
Adds Dameng DM8 explain/autotrace support and user-management SQL support, with backend autotrace safety checks and escaped CREATE USER SQL.
2026-06-08 02:07:00 +08:00
t8y2
e6062b2b07
feat(etcd): add agent-backed etcd support
2026-06-08 00:58:42 +08:00
t8y2
a799958328
feat: add driver runtime manager
2026-06-04 23:20:15 +08:00
t8y2
d952082442
fix(kingbase): prefer IPv4 stack for agent
2026-06-03 02:51:52 +08:00
t8y2
2f765fa69c
fix(jdbc): honor query execution settings
2026-06-02 20:07:54 +08:00
t8y2
f895bb4de5
fix: scope agent metadata by database
2026-05-26 11:51:58 +08:00
t8y2
1fab46bca3
fix(agent): support oracle 10g java runtime
2026-05-22 17:23:26 +08:00
t8y2
528c3c3ffc
fix(agent): open java sql module for timestamps
2026-05-21 18:48:20 +08:00
t8y2
abafa49acc
fix(agent): bound read_agent_line to prevent OOM abort on large responses
...
Add a 512MB maximum response size limit to read_agent_line to prevent
unbounded memory allocation that could cause the process to SIGABRT
when the agent returns an unexpectedly large response.
Ref: #345
2026-05-20 10:49:11 +08:00
t8y2
2ebd72ab6d
refactor(agent): retain handshake capabilities
2026-05-19 16:07:25 +08:00
t8y2
fa2e710a7b
test(agent): validate protocol contract
2026-05-19 16:05:25 +08:00
t8y2
077aaa5c06
refactor(agent): wrap remaining protocol calls
2026-05-19 15:54:57 +08:00
t8y2
a8f717b3f6
refactor(agent): wrap mongo legacy calls
2026-05-19 15:49:22 +08:00
t8y2
6896b2f879
refactor(agent): wrap schema and query calls
2026-05-19 15:44:23 +08:00
t8y2
5ce6a08f05
refactor(agent): route core calls through protocol methods
2026-05-19 15:38:03 +08:00
t8y2
7c1a0c8076
refactor(agent): define protocol capabilities
2026-05-19 15:31:40 +08:00
t8y2
5df7fbf062
feat(agent): add compatible driver handshake
2026-05-19 15:17:21 +08:00
t8y2
95d70eede6
fix(agent): ignore ambient proxy settings
2026-05-19 11:03:35 +08:00
t8y2
d7c4d3ef19
fix(oracle): disable agent Java NIO networking
2026-05-18 16:13:41 +08:00
t8y2
6f1161e8a8
fix: add oracle.net.disableOob=true to agent JVM args for Oracle 19c compatibility
...
Oracle JDBC driver's Out-of-Band Break mechanism hangs on JDK 17+
due to stricter TCP Urgent Data handling. Disabling OOB resolves
connection timeouts with Oracle 19c.
2026-05-15 00:19:38 +08:00
t8y2
e92f1ccdf5
feat(grid): replace toolbar search with Ctrl+F floating overlay
...
- Remove always-visible search box from toolbar
- Add floating search overlay triggered by Ctrl+F/Cmd+F
- Highlight matching cells in yellow, current match with ring
- Navigate matches with Enter/Shift+Enter
- Show match count (e.g. 1/5) in overlay
- Escape closes overlay and clears search
- Color WHERE label blue and ORDER BY label orange
2026-05-13 21:41:26 +08:00
t8y2
f3093ab91f
fix(agent): tolerate non-utf8 driver output
2026-05-13 19:39:31 +08:00
t8y2
adb320192a
perf: add JVM flags for faster agent cold start
...
Use -XX:TieredStopAtLevel=1 and -XX:+UseSerialGC to skip C2
compilation and reduce GC init overhead on agent process startup.
2026-05-13 16:33:39 +08:00
t8y2
e85f9df1fe
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
2026-05-13 04:44:52 +08:00