Kunghim
|
93fa4a7630
|
🐛 fix(messaging): 避免字段元数据读取样本消息
|
2026-08-10 22:22:18 +08:00 |
|
Kunghim
|
2330a5a52d
|
Merge upstream/dev into fix/884-composite-primary-key
|
2026-08-09 21:02:30 +08:00 |
|
Kunghim
|
52cd1936f7
|
fix(sync): support composite primary keys
|
2026-08-09 19:53:24 +08:00 |
|
Syngnat
|
01a7a6cbf0
|
🐛 fix(sqlserver): 避免 DDL 查看伪成功 (#890)
## 背景与问题
SQL Server 的 GetCreateStatement 会返回未支持的占位注释且不返回错误,调用方会将其视为成功 DDL。
Closes #882
## 变更点
- 原生 SQL Server DDL 不可用时返回明确、本地化的 unsupported 错误。
- 让既有 DDL fallback 使用字段和索引元数据生成可执行的 CREATE TABLE。
- 补充 SQL Server 原生错误和 fallback 控制流回归测试。
- 补齐六种语言的错误提示。
## 影响范围
- SQL Server DDL 查看不再显示伪成功的占位注释。
- 元数据可读取时,DDL 视图将展示 fallback 生成的表定义、主键、默认值和索引。
- 若 fallback 元数据读取失败,既有 UI 将展示后端错误。
## 验证方式
` ext
go test -tags gonavi_sqlserver_driver ./internal/db -run
TestSQLServerMetadataErrorsUseCurrentLanguage -count=1
go test ./internal/app -run
TestResolveCreateStatementWithFallback_SQLServerBuildsFallbackDDL
-count=1
go test ./shared/i18n -run Test -count=1
`
## 风险与回滚
未涉及数据库迁移或构建链路。没有真实 SQL Server Driver Agent
环境,真实服务端元数据兼容性仍待补充验证;如需回滚可直接回滚本 PR。
|
2026-08-09 15:56:57 +08:00 |
|
Syngnat
|
545ff37f6c
|
🐛 fix(rabbitmq): 避免字段元数据读取队列消息 (#889)
## 背景与问题
RabbitMQ 的 GetColumns 为推断 Payload 动态字段,会调用队列 /get 接口并使用
ck_requeue_true。该操作会实际读取并重新投递消息,使本应只读的字段元数据读取产生 Broker 副作用。
Closes #881
## 变更点
- GetColumns 仅返回 RabbitMQ 静态消息字段,不再读取队列样本消息。
- 保留 SELECT 查询的消息预览逻辑。
- 增加回归断言,确保普通字段元数据读取不会请求 /api/queues/{vhost}/{queue}/get。
## 影响范围
- 字段元数据和全库字段搜索不再触碰真实队列消息。
- payload.*、headers.*、properties.* 等样本推断字段不再自动出现在元数据中;项目当前没有显式样本读取入口。
## 验证方式
` ext
go test ./internal/db -run RabbitMQ -count=1
`
## 风险与回滚
不涉及数据迁移或构建链路。若需要恢复隐式动态字段推断,可回滚本 PR。
|
2026-08-09 15:56:54 +08:00 |
|
mango
|
f887deb44c
|
🐛 fix(rocketmq): 支持经隧道访问隔离网络 (#886)
Fixes #886
|
2026-08-09 14:22:41 +08:00 |
|
Kunghim
|
664c7a05d3
|
Merge remote-tracking branch 'upstream/dev' into fix/882-sqlserver-ddl-unsupported
|
2026-08-09 13:33:05 +08:00 |
|
Kunghim
|
52488cf3f7
|
🐛 fix(sqlserver): 避免 DDL 查看伪成功
|
2026-08-09 13:32:51 +08:00 |
|
mango
|
f74ebb05a5
|
🐛 fix(mongodb): 支持 SRV 连接使用 SSH 隧道 (#887)
Fixes #887
|
2026-08-09 13:23:27 +08:00 |
|
Kunghim
|
93fbb013e5
|
🐛 fix(rabbitmq): 避免字段元数据读取队列消息
|
2026-08-09 12:54:51 +08:00 |
|
Syngnat
|
390a249105
|
✨ feat(data-import): 重构大文件导入与安全任务运行时
- SQL、CSV、JSON 与 XLSX 改为资源受限的流式解析,并支持压缩、编码和方言预检
- 增加遇错停止/继续策略、持久任务、错误行导出、源文件身份与安全取消
- 为数据库驱动补齐上下文事务和写入结果未知语义,避免失败重放与脏会话复用
|
2026-08-08 20:51:23 +08:00 |
|
Syngnat
|
14f24925ab
|
🐛 fix(query-editor): 支持 PostgreSQL 查询选择 Schema
- 在查询工具栏加载并持久化 PostgreSQL Schema
- 将选择的 Schema 安全注入 search_path,并保留显式连接配置
- 绑定事务、结果与元数据执行上下文,避免跨 Schema 误查询或写入
- 补充查询、DataGrid、独立窗口及差异比较回归测试
Refs #864
|
2026-08-07 23:25:25 +08:00 |
|
Syngnat
|
e406aba664
|
🐛 fix(mqtt): 修复 Broker 地址端口重复追加
- 前端统一规范化协议、主机与端口,清理历史重复端口配置
- 后端防御性解析 Broker 地址并兼容非默认端口与 IPv6
- 补充保存重开测试及 Broker 地址回归覆盖
|
2026-08-06 18:20:23 +08:00 |
|
Syngnat
|
32dfd39827
|
🐛 fix(query): 放开所有数据源默认查询超时
- 区分连接超时与查询超时,默认查询仅保留手动取消能力
- 清理各数据库及 HTTP 数据源由连接配置派生的请求超时
- 新增按请求 queryTimeout 透传并保留计数任务显式时限
- 补充前后端、缓存键与多驱动超时策略回归测试
|
2026-08-06 16:50:28 +08:00 |
|
Syngnat
|
0e46b9ff87
|
🐛 fix(mqtt): 修复 mqttBrokerAddresses 拼接端口号时重复追加的问题
- 问题根因:mqttBrokerAddresses 中主 broker 地址经过 net.JoinHostPort 再解析再格式化的冗余往返
- 触发条件:config.Host 中已含端口号时,net.JoinHostPort 会再次拼接导致 host:port:port
- 修复方式:去掉中间往返,直接使用 mqttFormatHostPort(host, port) 构建地址
- 影响范围:仅 MQTT 数据源的主 broker 地址构造逻辑
|
2026-08-06 16:47:51 +08:00 |
|
Syngnat
|
450b70178c
|
🐛 fix(oceanbase/dameng): 修复元数据连接与带点对象名解析
- OceanBase Oracle 元数据请求复用基础连接,避免 CURRENT_SCHEMA 初始化触发 EOF
- 达梦结果编辑保留带点 owner 边界,统一 SQL 预览与实际执行目标
- 完善限定名解析、补全导航与数据库回归测试
Refs #836
|
2026-08-05 16:24:02 +08:00 |
|
Syngnat
|
53d0480058
|
🐛 fix(oracle): 修复触发器编辑误启用问题
- 移除 Oracle 元数据附带的 ALTER TRIGGER ENABLE 语句
- 保留触发器主体与 DISABLE 状态,避免禁用触发器被误启用
- 补充触发器状态语句回归测试
Fixes #825
|
2026-08-04 11:04:10 +08:00 |
|
Syngnat
|
75f897c1ab
|
🐛 fix(query-editor): 修复 Cmd 点击失效表链接异常
- 表链接跳转前精确校验对象存在性并清理过期元数据
- 隔离标签、数据库及连接切换后的迟到响应并合并重复点击
- 扩展 Elasticsearch 与可选驱动代理的存在性检查及兼容回退
- 补充前后端回归测试和 Wails 绑定
|
2026-08-03 14:57:06 +08:00 |
|
Syngnat
|
b5af396b4a
|
🐛 fix(oracle): 修复长触发器定义被截断
- 触发器元数据改走无界 CLOB/LONG 读取
- 查看与编辑入口统一使用完整触发器定义接口
- 补充超过 4 KiB 及旧标签页回归测试
|
2026-08-01 19:40:10 +08:00 |
|
Syngnat
|
88434e77a9
|
✨ feat(elasticsearch): 新增 REST 控制台并完善安全执行链
- 复用查询页提供 ES 控制台、模板、AI 辅助及原始与表格结果
- 新增统一解析分类、危险确认、连接保护和受控 REST 执行
- 扩展 driver agent、版本适配、Wails 绑定、多语言与文档
- 修复完整回归中发现的跨平台和前端基线用例问题
Refs #782
|
2026-08-01 14:58:12 +08:00 |
|
liuqiufeng
|
c259e2ebe2
|
✨ feat(oracle): 支持 SID 连接模式
- 在连接弹窗中切换 Service Name 与 SID,并完善 URI 和参数回显
- 使用 SID 查询参数生成 Oracle DSN,兼容 Navicat 导入及历史配置
- 补充多语言、弹窗滚动布局和前后端回归测试
|
2026-07-31 22:02:11 +08:00 |
|
Syngnat
|
457a77d13a
|
🐛 fix(oracle): 修复视图 DDL 截断与 ROWID 注入问题
- 完整读取 Oracle DDL CLOB,避免元数据预览截断
- 统一对象设计器视图 DDL 获取和格式化
- 仅对物理表注入 ROWID,避免 ORA-01445
|
2026-07-30 23:20:03 +08:00 |
|
Syngnat
|
aec34a031a
|
🐛 fix(dameng): 修复表设计字段注释加载失败
增加 SYSCOLUMNCOMMENTS 原生字典降级查询,按字段名合并注释;原生字典无权限时保留基础元数据,并补充回归测试。
|
2026-07-30 20:44:12 +08:00 |
|
Syngnat
|
b293bf0da6
|
🐛 fix(sync/mysql): 修复批量导入占位符超限
- 识别 MySQL Prepared Statement 占位符超限错误
- 对被服务端拒绝的批量 INSERT 自动递归拆批重试
- 增加 24 列 1000 行数据同步回归测试
|
2026-07-30 17:41:01 +08:00 |
|
Syngnat
|
bf3f221857
|
🐛 fix(vastbase): 修复含点表名误识别为模式 (#757)
- 对含点号或双引号的 PostgreSQL-like 标识符进行可逆引用
- 让 Vastbase 表列表复用统一的 PostgreSQL 元数据解析
- 增加含点表名保持标识符边界的回归测试
Refs #757
|
2026-07-30 15:59:28 +08:00 |
|
Syngnat
|
09a1bceabf
|
⚡️ perf(kingbase): 优化数据表首屏加载性能
- 连接池保留 Kingbase 空闲连接,减少重复建连开销
- 首屏数据查询完成后再加载编辑定位元数据
- 合并列、索引和外键元数据请求并保留强制刷新
- 新增连接复用、加载时序和请求缓存回归测试
|
2026-07-30 11:26:50 +08:00 |
|
Syngnat
|
cb3a5f6b61
|
🐛 fix(rabbitmq): 修复连接类型回退与管理端口误用
- 以当前选中的数据源类型构造测试和保存配置,避免 RabbitMQ 被保存为 MySQL
- 拦截默认 AMQP/AMQPS 端口并提示 Management API 端口
- 保留显式 HTTP/HTTPS 管理地址的自定义端口能力
- 补充连接类型漂移和端口校验回归测试
|
2026-07-29 20:35:04 +08:00 |
|
Syngnat
|
ce9f5cffb9
|
🐛 fix(oracle): 修复大对象查询导致客户端崩溃
- 限制交互查询中 BLOB、CLOB 和 LONG 字段的预览大小
- 将默认预取行数降至 25,控制大对象批量加载内存
- 保持流式导出完整内容并补充回归测试
|
2026-07-28 15:28:23 +08:00 |
|
AutumnNazi
|
de26949a5e
|
🐛 fix(dameng): 修复设计表无法读取表注释
- 从达梦表注释字典视图补充读取表备注
- 将表注释安全追加到建表 DDL,并保留元数据查询失败降级
- 增加 schema、转义、去重及真实 GetCreateStatement 回归测试
|
2026-07-28 10:44:16 +08:00 |
|
Syngnat
|
c192b6cc3a
|
🐛 fix(dameng): 修复索引元数据查询与错误提示
修正 ALL_IND_COLUMNS 与 ALL_INDEXES 的索引归属关联;保留复合索引顺序、唯一性与索引类型元数据;索引加载失败时显示错误,并补齐回归测试和多语言文案。
Fixes #735
|
2026-07-27 22:57:50 +08:00 |
|
Syngnat
|
770243e0da
|
🐛 fix(kingbase): 修复开表与 ER 图加载缓慢问题
- 解耦 Kingbase 首屏查询与编辑定位元数据加载
- 使用单次全库外键快照替代 ER 图逐表扫描
- 补充大规模表结构和异步元数据回归测试
Fixes #731
Fixes #732
|
2026-07-27 20:39:08 +08:00 |
|
mango
|
5a16c2b201
|
🐛 fix(test): 修复后端测试环境与跨平台隔离
|
2026-07-27 19:05:06 +08:00 |
|
Syngnat
|
970d861c39
|
🐛 fix(driver-agent): 为 IPC 超时与关停增加可取消回收
|
2026-07-27 00:11:16 +08:00 |
|
Syngnat
|
76249c00b9
|
🐛 fix(ssh): 为共享端口转发增加引用计数与失败回滚
|
2026-07-27 00:07:42 +08:00 |
|
Syngnat
|
546b71945d
|
🐛 fix(tdengine): 编码 DSN 用户名与密码
|
2026-07-26 23:33:48 +08:00 |
|
Syngnat
|
88b427c41a
|
🔥 remove(go-test): 删除后端读取源码文本断言的测试函数
- 移除 99 个仅读取同包 .go 源码做字符串包含断言的测试函数,共 3746 行
- 判据为函数内出现 os.ReadFile 读取 .go 文件且剥离字符串字面量后不调用任何生产代码
- 保留 2 个同时调用生产接口的测试函数,清理 45 个文件中失去引用的 import
- go build、go vet 通过,测试失败集合由 40 项减至 39 项且无新增,减少项为已长期失败的墓碑用例
|
2026-07-26 21:37:22 +08:00 |
|
Syngnat
|
0c10be0aa2
|
🐛 fix(db): 修复大整数与 IP 列显示丢值、会话路径方言退化、MariaDB 漏影响行数校验
- normalizeQueryValue 的 Struct 分支补「指针接收者 Stringer」探测:big.Int 的 String() 定义在
*big.Int 上,clickhouse-go 对 Int128/UInt128/Int256/UInt256 列返回 big.Int 值,原先落到
fmt.Sprintf("%v") 变成内部结构体转储,前端与 CSV/JSON/XLSX 导出的原始数值完全不可恢复
- Slice 分支对具名字节切片先试 Stringer、再回退 bytesToDisplayValue:net.IP 是具名 []byte,
不匹配上层的 case []byte,原先被展开成 [192,168,0,1] 而非 "192.168.0.1"
- MySQL/MariaDB 的 OpenSessionExecer 补回扫描方言:原先传空串使 DATE 列在会话路径
(流式导出、SQL 编辑器托管事务)被格式化成 RFC3339,与网格直查的 2006-01-02 不一致
- MariaDB.ApplyChanges 的 DELETE/UPDATE 补 requireSingleRowAffected(与 mysql_impl 对齐):
原先丢弃 sql.Result,无主键表上一次单元格编辑可能静默改写多行,或 0 行命中仍提示提交成功
- 补 5 项回归测试,并断言既有的 MySQL BIT 位掩码语义未被破坏
未修:query_value.go 的 PG bit/varbit 文本位串被当作二进制位掩码解释。该缺陷需要给 6 个
PG 系驱动都补 scanDialect 才能可靠区分方言;仅按字节内容启发式会把 MySQL BIT(8) 存值 48
(字节 0x30 即 ASCII '0')误显示为 "0",属于用一个静默错误换另一个,故留待单独处理。
|
2026-07-26 20:52:58 +08:00 |
|
Syngnat
|
1128c501c3
|
🐛 fix(mqtt): 修复关闭连接与在途消息拉取竞争导致的进程崩溃
- pahoMQTTRuntime 增加 RWMutex 与 activeClient() 快照取用:FetchMessages 会在 4~30 秒
等待窗口结束后才在 defer 里解引用客户端,而 Close() 原先无锁把 client 置为 nil,
保活探测失败或用户断开连接时那次 nil 接口方法调用会崩掉整个桌面进程
- Close() 改为只置 closed 标志并断开连接,不清空在途读者会解引用的字段;并保证幂等
- FetchMessages/Publish/Ping 全程改用入口处的客户端快照,defer 中的 Unsubscribe 同样使用快照
- MQTTDB.Close() 不再把 m.runtime 置 nil,消除 QueryContext/Publish 通过 nil 检查后
解引用的窗口;关闭后的 runtime 对所有调用返回「连接未打开」,报错口径不变
- 补 3 项回归测试:在途读者快照可用性、并发 Close 交错、Close 幂等性
|
2026-07-26 20:08:07 +08:00 |
|
Syngnat
|
b7636f5fdd
|
Merge remote-tracking branch 'origin/dev' into dev
|
2026-07-24 18:13:22 +08:00 |
|
Syngnat
|
b40214e65c
|
🐛 fix(kingbase): 修复无模式前缀查询失败
- 缓存连接初始化时探测出的 search_path
- 新建固定会话后先同步 schema 搜索路径
- 补充金仓会话初始化顺序回归测试
|
2026-07-24 18:12:25 +08:00 |
|
mango
|
2a7fcb4781
|
🐛 fix(table-designer): fix table sorting and column options (#705)
|
2026-07-24 17:55:22 +08:00 |
|
Syngnat
|
3bb0866633
|
🐛 fix(driver-agent): 修复 Windows 测试连接释放失败
- 优先等待驱动代理自然退出,超时后再执行强制终止
- 进程已退出时忽略 Windows 终止权限竞态,避免连接成功被误判为失败
- 统一可选驱动与 MySQL agent 清理流程并补充回归测试
|
2026-07-24 14:27:09 +08:00 |
|
Syngnat
|
8c0e685429
|
🐛 fix(dameng): 修复 SQL 编辑器增删改执行失败
- 使用真实驱动事务执行达梦 DML,并支持显式提交与回滚
- 为 optional driver-agent 增加事务生命周期协议,仅向达梦暴露托管事务能力
- 同步驱动 revision,并补充驱动、代理与工厂回归测试
|
2026-07-23 09:36:22 +08:00 |
|
Syngnat
|
9b47316211
|
🐛 fix(postgres): 修复序列展示与默认值插入 (#681)
- 接入 PostgreSQL 兼容数据库序列元数据并展示序列分组
- 保留字段默认值与生成列信息,插入空值时交由数据库生成
- 兼容 identity 与 pg_catalog.nextval,并支持 DEFAULT VALUES 插入
- 补充序列加载、生成列提交和 PostgreSQL 元数据回归测试
|
2026-07-23 09:11:41 +08:00 |
|
Syngnat
|
813e9cde2c
|
⚡️ perf(driver-agent): 限制长期运行错误日志缓存
|
2026-07-22 01:29:15 +08:00 |
|
Syngnat
|
3c8692b133
|
🐛 fix(connection/elasticsearch): 修复索引加载超时与测试按钮卡顿
- 使用 CAT Indices 轻量枚举索引并兼容 ES 7.3 参数
- CAT 失败时在统一超时预算内回退 Alias API
- 分离连接测试与保存状态并后台加载数据库列表
- 隔离过期测试请求,避免弹窗重开后状态污染
- 补充索引回退、超时预算与按钮状态回归测试
|
2026-07-21 18:41:58 +08:00 |
|
Syngnat
|
446707698f
|
✨ feat(table-copy): 新增整表复制与自动副本命名
- 在表概览及新旧侧栏右键菜单接入复制整表入口与确认、进度和刷新反馈
- 按 source_copyN 原子创建目标表并复制列、索引、默认值及全部数据
- 处理 PostgreSQL 生成列、identity/serial 序列校准与失败清理
- 限定安全数据源与连接保护策略,阻止分区表、RLS 及引用型存储引擎
- 加固 MySQL/PostgreSQL 元数据标识符处理并补齐六语种文案
- 增加后端、能力矩阵、菜单接线和国际化回归测试
|
2026-07-21 13:27:24 +08:00 |
|
Syngnat
|
89e35b087a
|
🐛 fix(sqlserver): 修复存储过程执行消息丢失
- 按消息协议仅在 MsgNext 时扫描结果集,避免空结果边界提前耗尽消息
- 保留连续 DONE 边界后的 PRINT 输出与纯消息结果
- 更新 SQL Server driver-agent revision 并补充回归测试
|
2026-07-20 13:40:53 +08:00 |
|
Syngnat
|
63ffa12958
|
🐛 fix(connection): 修复多数据源连接与浏览异常
- 修复 Milvus 表概览元数据查询与 SELECT 预览路由异常
- ClickHouse 非标端口 Native 握手超时后继续 HTTP 自动探测
- Elasticsearch 连接测试与索引枚举解耦,避免健康服务误判
- 更新可选驱动 revision 并补充回归测试
|
2026-07-20 10:55:19 +08:00 |
|
Syngnat
|
2428fe6cc5
|
🐛 fix(tdengine): 修复查询结果仅显示执行日志
- TDengine 只读查询跳过不支持的多结果集探测
- 保证可选驱动代理通过普通查询返回完整行列数据
- 补充应用层与驱动层回归测试
Fixes #610
|
2026-07-19 13:32:52 +08:00 |
|