Commit Graph
349 Commits
Author SHA1 Message Date
t8y2 bf9ef4365b feat(vector): add weaviate support 2026-06-25 00:31:27 +08:00
jischeng 849caf4b39 feat(ssh): probe none authentication before credentials
Some SSH proxies and jump-hosts authenticate with the "none" method,
requiring no password or key. dbx only tried publickey/password/agent,
so connecting through such a host failed with "SSH public key
authentication failed" — and the frontend forced users to enter a
credential just to pass validation.

- Backend: probe authenticate_none first in connect_and_authenticate;
  on rejection fall back to the configured credential method, matching
  standard openssh behavior.
- Frontend: drop the "password/key/agent required" check in
  validateTransportLayers so passwordless hops can be saved and tested.

Refs #1628
2026-06-24 21:05:57 +08:00
t8y2 b356aa8df5 fix(connection): recover idle connection pools 2026-06-24 20:12:24 +08:00
zipgandstaff 902419a3b9 fix(postgres): compatibility with older PostgreSQL versions for table DDL
* Fix: 修复 PostgreSQL CTE DML 分页改写

* fix: 兼容 PostgreSQL 旧版本索引 DDL 查询

---------

Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-24 19:12:28 +08:00
t8y2 23edbe391f feat(postgres): support schema comments 2026-06-24 18:35:43 +08:00
t8y2 4558984016 fix(clickhouse): support data grid editing 2026-06-24 13:17:27 +08:00
t8y2 f51d622d3f fix(postgres): decode binary address types 2026-06-24 10:55:40 +08:00
t8y2 cebb39cb80 feat(completion): add scoped metadata assistant 2026-06-24 00:40:28 +08:00
hb 3f65297f25 fix(highgo): preserve nullable metadata for pg-compatible agents (#1585) 2026-06-24 00:35:47 +08:00
Guoyu Su 90fd77cb9e perf(redis): reduce large key search payload and render cost (#1672) 2026-06-23 22:57:03 +08:00
t8y2 49705a1a8f feat(sqlite): support custom database file suffixes 2026-06-23 20:15:06 +08:00
zipg 1c7ef0d235 feat(mysql): optimize table structure loading 2026-06-23 17:31:37 +08:00
t8y2 fc9f97b6b5 fix(redis): speed up large key scans 2026-06-23 15:14:24 +08:00
t8y2 280e94e3c1 fix(postgres): avoid backslash LIKE escape 2026-06-23 00:43:10 +08:00
t8y2 0b6e1579ca feat(agent): add execution context recovery 2026-06-22 22:15:16 +08:00
t8y2 e55dbe2acc fix(mysql): avoid key usage join for columns 2026-06-22 18:46:45 +08:00
t8y2 9de738e76c fix(mongo): normalize invalid direct connection URL 2026-06-22 18:43:40 +08:00
t8y2 f52064bd0e fix(agent): extend metadata RPC timeout 2026-06-22 18:17:11 +08:00
t8y2 6e6f7bda0b fix(mongo): preserve dates during document edits 2026-06-22 17:50:17 +08:00
t8y2 628fadf517 fix(sqlserver): preserve batch result sets 2026-06-22 17:07:10 +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 4346192713 feat(mongodb): show collection metadata in sidebar 2026-06-22 12:42:31 +08:00
t8y2 9418e37c04 feat(settings): add show execution target picker option and related UI elements 2026-06-22 12:05:47 +08:00
hb 4e07f73157 fix(mysql): preserve temporary tables in client session pools
Disable COM_RESET_CONNECTION for single-connection session pools
(max_connections == 1) so that MySQL session state such as TEMPORARY
TABLEs is not cleared when a connection is returned to the pool.

Closes #1509
2026-06-22 00:37:41 +08:00
t8y2 0d4e35ee02 fix(core): increase PostgreSQL and MySQL connection pool size
- PostgreSQL: 4 -> 10 connections
- MySQL: 3 -> 10 connections

Fixes #1516
2026-06-21 21:01:15 +08:00
t8y2 6c571a57ab fix(mysql): cancel running SQL imports 2026-06-21 09:14:54 +08:00
Scars 4590057456 fix(postgres): cast relkind to text to prevent deserialization panic 2026-06-20 22:24:29 +08:00
林剑凛 41edb3da91 feat(mongo): add database and collection deletion 2026-06-20 22:22:04 +08:00
dalew f71406c1c2 feat(redis): add slowlog panel and integrate with backend APIs
* feat(redis): add slowlog panel and integrate with backend APIs

* fix(redis):Slowlog Panel Compatibility Issues
2026-06-20 21:47:14 +08:00
dbin0123 92d3f64eae feat: fix connection cascade failure, add auto-recovery for all drivers 2026-06-19 23:06:21 +08:00
t8y2 d59997c090 feat(objects): add table statistics columns 2026-06-19 14:35:32 +08:00
t8y2 4186c94dd4 fix(agent): clarify protocol capability contract 2026-06-19 14:18:19 +08:00
t8y2 dad548e41b fix(sqlserver): report affected rows for CUD batches 2026-06-19 12:59:16 +08:00
t8y2 e27d34a34a feat(vector): add qdrant and milvus support 2026-06-19 10:07:56 +08:00
t8y2 440e675a0e fix(postgres): retry queries with stale cached prepared statements 2026-06-19 01:04:14 +08:00
林剑凛 b120492737 fix(mongo): speed up large collection loading with estimated counts 2026-06-18 19:56:39 +08:00
8c097a3fd1 fix(redis): resolve large integer precision loss in JSON tree view
* fix(redis):format INFO output as plain text in cluster mode

* fix(client): remove default JRE download on first launch

* fix(grid): keep row number colors stable

* feat(grid): add pinned query result history

* fix(grid): limit field count badge to data tabs

* fix(settings): persist sidebar page size

* fix(redis): resolve large integer precision loss in JSON tree view

---------

Co-authored-by: Scars <yss2813483011xxl@gmail.com>
Co-authored-by: t8y2 <1156263951@qq.com>
2026-06-18 17:56:22 +08:00
Scars a0475d80e3 fix(desktop): complete redis cluster transport routing 2026-06-18 14:57:53 +08:00
t8y2 17f186db26 fix(sqlserver): rebuild pool after driver panic 2026-06-18 13:43:03 +08:00
t8y2 9e75f62dbf feat(sqlserver): support linked server browsing 2026-06-18 13:17:44 +08:00
t8y2 ca427715af fix(sqlserver): read tinyint precision/scale/length columns as u8 from tiberius 2026-06-18 13:08:09 +08:00
ptma e7ee0c9ec1 fix(questdb): handle materialized views and unify table_type naming
* fix(questdb): handle materialized views

* fix(test): fix rust test problems
2026-06-18 11:40:57 +08:00
t8y2 ad0a9075b5 fix(core): include table when dropping IRIS index 2026-06-18 11:00:19 +08:00
t8y2 00541291e3 feat(ssh): support custom SSH agent socket path 2026-06-18 00:15:08 +08:00
t8y2 71db24813e fix(informix): add informix_server field to test helpers 2026-06-17 22:59:22 +08:00
t8y2 1aa48cf636 fix(informix): add informix_server field for direct INFORMIXSERVER input 2026-06-17 22:59:13 +08:00
至高吾尚 f89bf310b4 fix(mysql): fix garbled Chinese in sidebar table comment
Apply fix_potential_double_encoding() to table/object comment fields
returned by list_tables(), list_table_status_show(), and row_to_object(),
consistent with the existing fix for column comments (c21b5d0).

The sidebar tree displays TABLE_COMMENT directly from these functions,
so when MySQL returns Latin1-decoded bytes for UTF-8 content, the
comment shows as garbled text like 'OAéƒ¨é—¨åŒæ­¥è¡¨' instead of
'OA部门同步表'.
2026-06-17 21:16:30 +08:00
bigliangzao 7643148708 fix(mysql): prevent panic on Chinese characters in WHERE clause
Fix UTF-8 boundary issues in mysql_top_level_limit, parse_usize_token,
and mysql_keyword_at functions that caused crashes when SQL contains
Chinese characters in string literals.

The issue was introduced in commit 021e1682 which added byte-level
indexing without proper UTF-8 boundary checks. When parsing SQL with
Chinese text (e.g., \"WHERE name LIKE '%批量保存%'\"), the byte index
could point to the middle of a multi-byte UTF-8 character, causing
Rust to panic when slicing the string.

Changes:
- parse_usize_token: Use std::str::from_utf8 to validate slice before parsing
- mysql_keyword_at: Add is_char_boundary checks for safe string slicing
- mysql_top_level_limit: Skip non-UTF-8-boundary bytes after incrementing index

This ensures all byte-level indexing operations stay on valid UTF-8 boundaries,
preventing panics while maintaining the original functionality of detecting
LIMIT clauses for bounded result set collection.

Fixes crash reported by users when executing queries with Chinese conditions.
2026-06-17 19:00:05 +08:00
t8y2 9a66bc4fa2 style: remove extra blank line in redis_driver 2026-06-17 15:59:21 +08:00
dalew 4888e637c7 fix(redis): unify aggregated INFO output format in console
* fix(redis):format INFO output as plain text in cluster mode

* fix(redis): unify aggregated INFO output format in console
2026-06-17 14:54:51 +08:00