Commit Graph
3712 Commits
Author SHA1 Message Date
efeire 04376ef3fb feat(oceanbase-oracle): support sequences, synonyms and db links 2026-09-20 00:49:44 +08:00
efeire a19a4f595d fix(oceanbase-oracle): handle manual transactions on grid save/switch 2026-09-20 00:49:33 +08:00
efeire 30d8b3970a fix(oceanbase-oracle): bound first query result page 2026-09-20 00:49:12 +08:00
Jinpy b1b99eccfb feat(desktop): deliver font settings to plugin sandboxes 2026-09-19 19:13:30 +08:00
zipgandzipg c71c35624b fix(structure): 表结构编辑器补充可拖拽的纵向滚动条 (#9585)
编辑表结构的「字段 / 索引」页签之前只有自绘的横向滚动条,纵向只能靠滚轮,
字段较多时既没有“还有更多内容”的视觉提示,也无法拖拽定位。

- 复用 useVerticalOverlayScrollbar 组合式函数,为当前激活的表格页签
  (字段 / 索引)渲染与横向滚动条同款的覆盖式纵向滚动条;
- 页签面板改为三行两列的 grid:工具栏、滚动区、横向条在第一列,
  纵向条独占第二列,仅在有溢出且处于表格页签时出现;
- 隐藏该滚动区残留的原生纵向滚动条,避免与自绘条重叠;
- 补充单测:纵向滚动条在有溢出时出现、拖拽可同步 scrollTop,
  以及非表格页签(DDL)下不渲染。

Fixes #9408

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-09-19 15:23:27 +08:00
zipgandzipg 687b988b7d fix(mysql): 显式配置的 group_concat_max_len 稳定生效并补充连接表单提示 (#9582)
DBX 连接 MySQL 时会执行 SET SESSION group_concat_max_len = 1048576,
避免 GROUP_CONCAT 结果被静默截断(#2775)。但当用户在 URL 参数里用
Connector/J 语法 sessionVariables=group_concat_max_len=... 显式指定值时,
内置语句与用户语句的执行先后取决于底层驱动,覆盖行为不具备确定性;
连接表单也没有任何提示,导致按服务端配置排查问题时被误导(#9412)。

- 新增显式覆盖检测:解析 sessionVariables 中的赋值目标,命中
  group_concat_max_len(含大小写、@ 前缀、session 限定)时不再下发内置的
  SET SESSION,用户/服务端的值始终生效;@user 变量与 @@global. 赋值不影响
  默认行为。
- 连接表单 URL 参数下方为 MySQL 增加提示,说明可用的覆盖写法
  (sessionVariables=group_concat_max_len=@@global.group_concat_max_len 即
  完全跟随服务端配置),并补齐 10 个语言包文案。

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-09-19 15:23:16 +08:00
zipgandzipg 74c275b2ce fix(sqlserver): 表结构支持查看约束(主键/唯一/外键/检查/默认值) (#9581)
SQL Server 连接的「编辑表结构」面板里只有 DDL/字段/索引/外键/触发器,
没有「约束」页签;用户无法查看某张表的约束。

list_constraints 在 SQL Server 驱动中完全缺失:驱动侧没有对应实现,
dbx-core 的 list_constraints_core 没有 SQL Server 分支,直接落到默认的
空数组;前端 tableMetadataCapabilities 也没有声明 sqlserver 支持,
因此即使是空页签也不会渲染。

- dbx-drivers 新增 list_constraints,用一条 UNION ALL 查询汇总
  sys.key_constraints(PK/UNIQUE)、sys.foreign_keys(含引用库表列、
  ON UPDATE/DELETE 动作、is_not_trusted)、sys.check_constraints、
  sys.default_constraints;列名用 FOR XML PATH('') 聚合,兼容 SQL Server
  2008(无 STRING_AGG)
- list_constraints_core 增加 SQL Server 分支与链接服务器早退
- tableMetadataCapabilities 为 sqlserver 打开 constraints,前端显示「约束」页签
- 新增单测覆盖 SQL 形态与列名拆包,并补充前端能力断言

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-09-19 13:31:45 +08:00
zipgandzipg ed1881e323 fix(editor): 右键粘贴含 CRLF 的剪贴板文本不再报选区越界 (#9576)
SQL 编辑器里选中一百多行后,右键“粘贴”从 Excel 复制的表格数据会报
“读取剪贴板失败:Selection points outside of document”,文档内容不变;
先删除文本再粘贴则正常。

右键粘贴按剪贴板原文长度计算光标位置,而 CodeMirror 会把插入文本中的
\r\n、\r 归一化为 \n,实际写入的文本比原文短,光标落到文档末尾之后,
dispatch 抛出 RangeError: Selection points outside of document。

- 新增 queryEditorClipboardPasteChange:先归一行尾再按实际插入长度计算光标
- QueryEditor 右键粘贴改用它,选区长度不再影响粘贴是否成功

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-09-19 13:31:40 +08:00
Jinpyandjinpy.he 58fd050a28 fix(desktop): keep timeout inherit flags when saving plugin connections (#9579)
* fix(desktop): keep timeout inherit flags when saving plugin connections

* fix(desktop): hide dead query timeout scope from plugin connections

query_timeout_secs only feeds the database query pipeline (dataGrid,
queryStore); plugin connections such as SSH never consume it, so the
generic Advanced-tab radio only suggested a budget the provider cannot
honor. Hide the row for plugin connections while keeping hydration and
submit untouched, and pin the round-trip contract (explicit inherit
flag, preserved scalar) plus the deliberate keep of the connect timeout
radio in the regression spec.

---------

Co-authored-by: jinpy.he <jinpy.he@kuehne-nagel.com>
2026-09-19 13:31:36 +08:00
luo jiyin cf6467ab08 perf(ci): shard frontend checks and vitest suites 2026-09-19 12:39:20 +08:00
t8y2 3100a918cc feat(plugins): classify install beacons by kind and client id 2026-09-19 10:56:01 +08:00
dienaso 280af02120 fix(sql): keep merge update set line in statement continuation 2026-09-19 10:55:37 +08:00
zipg ffb915061f feat(editor): select all and deselect all in completion column picker 2026-09-19 10:55:21 +08:00
zipg 257e023120 fix(completion): stop appending space before statement terminators 2026-09-19 10:55:06 +08:00
二丫讲梵 4a068a4eeb fix(grid): project mongodb full export to visible columns 2026-09-19 10:54:51 +08:00
КГБ Lieu 30fe61d440 fix(sql-file): extend relational constraint bypass to Postgres and SQL Server 2026-09-19 09:47:58 +08:00
Jinpy 2b15327de3 feat(plugins): hand SOCKS5 transport proxy routes to connections 2026-09-19 09:47:15 +08:00
dienaso 8518a5bd25 fix(sql): quote case-sensitive Oracle identifiers in completion 2026-09-19 09:47:04 +08:00
zipg 85a10be4c9 fix(mongodb): keep local value filters across page size changes 2026-09-19 09:46:36 +08:00
二丫讲梵 bb4fb6c83a feat(grid): incremental column freeze and single-column unfreeze 2026-09-19 09:28:38 +08:00
ReadMe.md 1f43d184aa feat(sidebar): add nested virtual table groups with drag and batch move 2026-09-19 09:24:34 +08:00
Elias 0db9756a57 fix(xugu): restore table import support 2026-09-19 09:24:16 +08:00
zipg a03d19a76c fix(redis): localize set editor row and column labels 2026-09-19 09:24:05 +08:00
jearhe f3e5909a20 feat(nacos): add YAML diagnostics for config editor 2026-09-19 08:52:39 +08:00
jearhe d10216e302 feat(data-compare): support per-table match column configuration 2026-09-19 08:52:27 +08:00
zipg 00c4d30453 fix(agent): keep offline import resilient per item with os error detail 2026-09-19 00:22:18 +08:00
zipg c3d4061868 fix(agents): resolve system java from JAVA_HOME before PATH 2026-09-19 00:21:43 +08:00
gggaiitx 04c6e67bbd feat(search): add global file content search in QuickOpen 2026-09-19 00:21:27 +08:00
zipg 9d29f53e37 feat(editor): optional space completion confirmation for SQL Server 2026-09-18 23:43:58 +08:00
zipg f0342ad3d9 feat(updates): centralize client and component update management 2026-09-18 23:14:00 +08:00
ccq 0f6db4b2c7 feat(mcp): record SQL executions in query history 2026-09-18 22:50:26 +08:00
jearhe 1c47062cdd fix(grid): support text preview of binary cells 2026-09-18 22:49:58 +08:00
二丫讲梵 ccc0361907 feat(meilisearch): add search filter to multi-select dropdown 2026-09-18 22:49:45 +08:00
ccq 8bafe0916c fix(grid): replace matches in truncated large values 2026-09-18 22:48:16 +08:00
zipg 4699295ed6 fix(mysql): execute adjacent statement on delimiter directive lines 2026-09-18 22:48:04 +08:00
zipg 6d8e0d886a feat(mongodb): add range and list operators to document filters 2026-09-18 22:47:51 +08:00
zipg ef086865dd fix(completion): add contains fallback for first fuzzy input 2026-09-18 22:47:40 +08:00
zipg ab2ef4a66a fix(updater): add step and path to update failure hints 2026-09-18 22:47:25 +08:00
Freedom 1321dc9b9d feat(plugins): improve connection lifecycle and session tabs 2026-09-18 22:10:37 +08:00
U1 6be8d5544e fix(plugins): refresh workbench tabs after install and rollback 2026-09-18 21:31:38 +08:00
Melody Ruch b6db1887f9 fix(editor): preserve selected columns when clicking completion rows 2026-09-18 21:11:04 +08:00
二丫讲梵 bfaf8fa818 fix(desktop): constrain SQL preview dialog content 2026-09-18 21:10:32 +08:00
Melody Ruch ca8bc9bf12 fix(editor): distinguish SELECT wildcards from multiplication 2026-09-18 20:19:08 +08:00
Melody Ruch aa4ed91c40 fix(sql): preserve Oracle identifier semantics in star expansion 2026-09-18 20:06:33 +08:00
gggaiitx 3597a00759 feat(structure): unify scrollbars and restore column scrolling 2026-09-18 20:05:49 +08:00
onenewcode 9788c20d3c feat(mongodb): complete fields in filter and sort bars 2026-09-18 20:05:26 +08:00
U1 d2fd783592 feat(plugins): pin installed plugins at the top 2026-09-18 20:05:02 +08:00
guan xin 8454560f66 fix(dameng): refresh object browser after compiling views 2026-09-18 18:16:13 +08:00
Loc Nguyen 28c219ff03 feat(mongodb): show shell command diagnostics while editing 2026-09-18 18:03:04 +08:00
Mo-Moore 0c5a456aed fix(oceanbase-oracle): preserve quoted identifier case 2026-09-18 17:34:58 +08:00