Syngnat
|
aa1bb5b886
|
🐛 fix(kingbase): 回退当前数据库元数据查询
Fixes #316
|
2026-04-11 21:53:52 +08:00 |
|
Syngnat
|
83fe3d4ed9
|
🐛 fix(driver): 提升批量 INSERT 执行效率
Fixes #311
|
2026-04-11 21:53:51 +08:00 |
|
杨国锋
|
064cdc34be
|
♻️ refactor(全局): 统一错误消息中文化,补充 godoc 与测试,修复横向滚动和 Vite 代理
错误消息中文化:
- 19 个驱动实现文件中 connection not open / table name required 等英文消息替换为中文
- methods_file.go / methods_db.go / methods_driver.go 英文消息中文化
- 前端 App/Sidebar/DataGrid/ConnectionModal/DriverManagerModal 同步替换 "Cancelled" → "已取消"
文档与测试:
- database.go Database/BatchApplier 接口、types.go 12 个类型、driver_support.go 导出函数补充中文 godoc
- 新增 logger_test.go(ErrorChain 5 个用例)和 methods_db_conn_test.go(连接管理 7 个用例)
Bug 修复:
- DataGrid: 将 liveTargets 空检查移至非虚拟路径,修复外部横向滚动条拖动时内容不跟随
- vite.config.ts: server.host 指定 127.0.0.1,修复 IPv6 回环被拦截导致 Wails 代理 502
基础设施:
- .gitignore 新增 .gemini/ 规则,tmpclaude-* 改为 **/tmpclaude-* 覆盖子目录
|
2026-03-17 21:44:50 +08:00 |
|
Syngnat
|
1a3f137438
|
🔧 fix(db/kingbase): 统一 search_path 构建并修复双引号重复转义
- 新增 buildKingbaseSearchPathCommon,统一 search_path 规范化与拼装逻辑
- schema 名称先做 normalize + 去重,避免已带引号值被二次转义为 ""schema""
- getSearchPathStr 改为收集原始 schema 后走公共构建流程
- optional-driver-agent 复用同一构建函数,消除两套实现偏差
- 对 public 做大小写归一,确保 search_path 输出稳定
- 新增 TestBuildKingbaseSearchPathCommon 覆盖 quoted/escaped/dedupe 场景
|
2026-03-13 11:22:35 +08:00 |
|
Syngnat
|
e6af5f966b
|
🔧 fix(driver/kingbase,mongodb): 修复外置驱动事务引用与连接测试链路问题
- 金仓外置驱动链路增加表名与变更字段归一化,修复 ApplyChanges 场景下双引号转义异常导致的 SQL 语法错误
- 新增金仓公共标识符工具并复用到 kingbase_impl 与 optional_driver_agent_impl,统一处理多重转义、schema.table 拆分与引用规范
- 金仓代理连接后自动探测并设置 search_path,降低查询时必须手写 schema 前缀的概率
- MongoDB 连接参数改为显式 host/hosts 优先,避免被 URI 中 localhost 覆盖;代理链路保留目标地址不再改写为本地地址
- 连接测试增加前后端超时收敛与日志增强,避免长时间转圈;连接错误文案在未启用 TLS 时移除误导性的“SSL”前缀
- 统一日志级别为 INFO/WARN/ERROR,默认日志目录收敛到 ~/.GoNavi/Logs,并补充驱动构建脚本 build-driver-agents.sh
|
2026-03-12 16:45:46 +08:00 |
|
Syngnat
|
b0bdddad9b
|
🔧 fix(release,db/kingbase_impl): 修复金仓默认 schema 并静默生成 DMG
- Kingbase:在 current_schema() 为 public 时探测候选 schema,并通过 DSN search_path 重连,兼容未限定 schema 的查询
- 候选优先级:数据库名/用户名同名 schema(存在性校验),否则仅在“唯一用户 schema 有表”场景兜底
- 避免连接污染:每次 Connect 重置探测结果,重连成功后替换连接并关闭旧连接
- 打包脚本:create-dmg 增加 --sandbox-safe,避免构建时自动弹出/打开挂载窗口
- 产物格式:强制 --format UDZO,并将 rw.*.dmg/UDRW 中间产物转换为可分发 DMG
- 校验门禁:增加 hdiutil verify,失败时保留 .app 便于排查,同时修正卷图标探测并补 ad-hoc 签名
|
2026-03-11 13:39:41 +08:00 |
|
Syngnat
|
a73ca36a32
|
🔧 fix(db/kingbase_impl): 修复标识符无条件加双引号导致SQL语法报错
- quoteKingbaseIdent 改为条件引用,仅对大写字母、保留字、特殊字符的标识符添加双引号
- 新增 kingbaseIdentNeedsQuote 判断标识符是否需要引用
- 新增 isKingbaseReservedWord 检测常见SQL保留字
- 补充 TestQuoteKingbaseIdent、TestKingbaseIdentNeedsQuote 单测覆盖各场景
- refs #176
|
2026-03-11 10:23:41 +08:00 |
|
github-actions[bot]
|
1c050aefd0
|
🔁 chore(sync): 回灌 main 到 dev (#195)
* - feat(connection,metadata,kingbase): 增强多数据源连接能力并修复金仓/达梦/Oracle/ClickHouse兼容性问题 (#188)
* feat(http-tunnel): 支持独立 HTTP 隧道连接并覆盖多数据源
refs #168
* fix(kingbase-data-grid): 修复金仓打开表卡顿并降低对象渲染开销
refs #178
* fix(kingbase-transaction): 修复金仓事务提交重复引号导致语法错误
refs #176
* fix(driver-agent): 修复老版本 Win10 升级后金仓驱动代理启动失败
refs #177
* chore(ci): 新增手动触发的 macOS 测试构建工作流
* chore(ci): 允许测试工作流在当前分支自动触发
* fix(query-editor): 修复 SQL 编辑中光标随机跳到末尾 refs #185
* feat(data-sync): 增加差异 SQL 预览能力便于审核 refs #174
* fix(clickhouse-connect): 自动识别并回退 HTTP/Native 协议连接 refs #181
* fix(oracle-metadata): 修复视图与函数加载按 schema 过滤异常 refs #155
* fix(dameng-databases): 修复显示全部库时数据库列表不完整 refs #154
* fix(connection,db-list): 统一处理空列表返回并修复达梦连接测试报错 refs #157
* Release/0.5.3 (#191)
* - chore(ci): 新增全平台测试包手动构建工作流 tianqijiuyun-latiao 今天 下午4:26 (#194)
* feat(http-tunnel): 支持独立 HTTP 隧道连接并覆盖多数据源
refs #168
* fix(kingbase-data-grid): 修复金仓打开表卡顿并降低对象渲染开销
refs #178
* fix(kingbase-transaction): 修复金仓事务提交重复引号导致语法错误
refs #176
* fix(driver-agent): 修复老版本 Win10 升级后金仓驱动代理启动失败
refs #177
* chore(ci): 新增手动触发的 macOS 测试构建工作流
* chore(ci): 允许测试工作流在当前分支自动触发
* fix(query-editor): 修复 SQL 编辑中光标随机跳到末尾 refs #185
* feat(data-sync): 增加差异 SQL 预览能力便于审核 refs #174
* fix(clickhouse-connect): 自动识别并回退 HTTP/Native 协议连接 refs #181
* fix(oracle-metadata): 修复视图与函数加载按 schema 过滤异常 refs #155
* fix(dameng-databases): 修复显示全部库时数据库列表不完整 refs #154
* fix(connection,db-list): 统一处理空列表返回并修复达梦连接测试报错 refs #157
* fix(kingbase): 补齐主键识别并优化宽表卡顿 refs #176 refs #178
* fix(query-execution): 支持带前置注释的读查询结果识别
* chore(ci): 新增全平台测试包手动构建工作流
---------
Co-authored-by: 辣条 <69459608+tianqijiuyun-latiao@users.noreply.github.com>
Co-authored-by: Syngnat <92659908+Syngnat@users.noreply.github.com>
|
2026-03-06 17:36:28 +08:00 |
|
github-actions[bot]
|
04f8b266d3
|
- feat(connection,metadata,kingbase): 增强多数据源连接能力并修复金仓/达梦/Oracle/ClickHouse兼容性问题 (#188) (#190)
* feat(http-tunnel): 支持独立 HTTP 隧道连接并覆盖多数据源
refs #168
* fix(kingbase-data-grid): 修复金仓打开表卡顿并降低对象渲染开销
refs #178
* fix(kingbase-transaction): 修复金仓事务提交重复引号导致语法错误
refs #176
* fix(driver-agent): 修复老版本 Win10 升级后金仓驱动代理启动失败
refs #177
* chore(ci): 新增手动触发的 macOS 测试构建工作流
* chore(ci): 允许测试工作流在当前分支自动触发
* fix(query-editor): 修复 SQL 编辑中光标随机跳到末尾 refs #185
* feat(data-sync): 增加差异 SQL 预览能力便于审核 refs #174
* fix(clickhouse-connect): 自动识别并回退 HTTP/Native 协议连接 refs #181
* fix(oracle-metadata): 修复视图与函数加载按 schema 过滤异常 refs #155
* fix(dameng-databases): 修复显示全部库时数据库列表不完整 refs #154
* fix(connection,db-list): 统一处理空列表返回并修复达梦连接测试报错 refs #157
Co-authored-by: 辣条 <69459608+tianqijiuyun-latiao@users.noreply.github.com>
|
2026-03-06 13:57:11 +08:00 |
|
辣条
|
71b41459e7
|
feat(mongodb,connection-tree,query-editor,sidebar,sqlserver,table-designer,ssl): 完成 MongoDB v1/v2 驱动切换与复制连接,增强快捷键/搜索/筛选与设计表体验,并修复 SQLServer、SSL 及连接稳定性问题 (#180)
* feat(mongodb-driver,connection-tree): 支持 MongoDB v1/v2 切换并新增复制连接
* fix(mongodb-query): 修复 MongoDB 筛选不生效并兼容 shell 语法执行
refs #153
* fix(query-editor): 修复 SQLServer 自动补全回车重复 dbo 前缀
refs #159
* fix(sqlserver-table-designer): 修复设计表读取列时错误使用 schema 作为数据库名
refs #156
* feat(shortcuts): 增加快捷键设置并支持 SQL 执行/侧边栏搜索
refs #158
* fix(sidebar-search): 优化范围搜索匹配与交互
refs #158
* fix(filter,connection-recovery): 保持筛选状态并修复连接失效卡死
refs #165
同步修复连接失效后侧栏持续转圈、断开后无法恢复的问题
* feat(table-designer): 统一设计表界面风格并优化字段新增交互
- 统一设计表页面与数据面板的视觉风格,覆盖工具栏、Tabs、表格与编辑区域
- 移除默认硬边框,改为透明背景与细分隔线,提升整体观感一致性
- 添加字段后自动滚动到新行并高亮,且自动聚焦输入框
- 新增" 在选中字段后添加\,支持按选中字段位置插入字段
* feat(data-grid-filter): 筛选字段支持快捷搜索
- 在筛选条件字段下拉启用可搜索(showSearch)
- 支持字段名大小写不敏感模糊匹配
- 表字段较多时可快速定位目标字段,减少下拉查找耗时
refs #171
* fix(db-ssl): 支持多数据源 SSL/TLS 连接并补齐达梦证书配置
refs #167
* fix(sidebar): 修复数据库加载时 null.map 导致表加载失败
* fix(query-editor): 合并运行按钮并保留 SQL 停止执行入口
|
2026-03-05 16:52:06 +08:00 |
|
Syngnat
|
26a7aacfec
|
✨feat(drivers): 支持按需启动数据源并通过外置驱动代理减少发行包体积
- MySQL/Redis/Oracle/PostgreSQL 内置可用,其余数据源改为“安装启用”后可用
- 新建连接对未安装驱动做弹窗内拦截提示,并支持一键跳转驱动管理安装
- 驱动管理展示安装包真实大小(从 Release 资产元数据读取)并优化加载性能
- Release 工作流发布各平台驱动代理资产,主程序构建启用 -s -w 精简
|
2026-02-13 17:23:38 +08:00 |
|
Syngnat
|
13ba78103c
|
✨ feat(frontend/backend): 批量操作与表格编辑增强并完善事务支持
- 批量导出/备份:表与数据库支持全选/反选/智能上下文
- 右键菜单:单元格菜单支持设置 NULL
- 编辑优化:大字段弹窗、仅值变化标记、提交只发送差异字段
- 事务支持:PostgreSQL/SQLite/Oracle/DaMeng/KingBase ApplyChanges
- MySQL 修复:提交前归一化 datetime,避免写入失败
- 性能优化:移除 activeCell 重渲染、useRef 存储选中节点、防重加载
- Redis 优化:二进制智能解码与视图模式切换
- 资源更新:替换前端 favicon/logo
|
2026-02-05 14:30:05 +08:00 |
|
Syngnat
|
71e5de0cdc
|
♻️ refactor(database/ssh): SSH隧道架构重构与多数据源适配
- 架构升级:从driver专属拨号器改为通用本地端口转发模式
- 并发安全:sync.Once保护Close操作,RWMutex保护状态访问,双向errc等待
- 连接池化:GetOrCreateLocalForwarder/GetOrCreateSSHClient实现缓存复用
- SQL安全:kingbase_impl.go引入esc函数,防止双引号注入(""ldf_server""问题)
- Schema动态化:三级fallback(schema.table解析→dbName参数→current_schema())
- 代码复用:scanRows统一行扫描逻辑,normalizeQueryValueWithDBType增强类型处理
Close #40
|
2026-02-04 14:35:31 +08:00 |
|
Syngnat
|
8dbc97e466
|
⚡️ perf(table): 表数据打开加速,主键/统计等耗时操作异步化
- DataViewer 主键列元数据异步拉取,首屏数据优先渲染
- 查询页增加结果集最大行数限制,减少大表全量返回
- DBQuery 引入 Context 超时,降低长查询对 UI 的阻塞风险
- 查询行数设置持久化保存
Closes #48
Closes #49
|
2026-02-04 11:01:28 +08:00 |
|
杨国锋
|
34c494ce51
|
⚡️ optimize(core): 查询多语句多结果与大表交互/元数据体验优化
- 支持分号多语句拆分(含引号/注释/PG dollar-quote),多结果集 Tab 展示;
- 支持选中运行;结果 Tab 支持关闭
- 修复结果区高度自动收缩/最后一行裁剪;切换结果更顺滑(关闭 ink-bar 动画、修复隐藏面板叠加显示)
- 补齐 PostgreSQL/SQLite 设计表元数据接口;
- 修复 Kingbase schema/标识符引用导致打开表失败
- 标签页右键支持关闭其他/关闭左侧/关闭右侧/关闭所有
|
2026-02-03 22:44:48 +08:00 |
|
杨国锋
|
e3bf160072
|
✨ feat(sync): 数据同步支持差异对比、行级选择与实时进度日志
- 新增差异分析/预览接口与前端预览抽屉(插入/更新/删除)
- 支持按表勾选插入/更新/删除(删除默认不勾选)
- 支持按主键选择行级同步;无主键/复合主键表跳过并提示
- 同步过程实时输出中文日志与进度条,便于定位失败步骤
|
2026-02-03 17:37:41 +08:00 |
|
杨国锋
|
2ca27ebfb0
|
🐛 fix(query): 统一处理 []byte(nil) 为 NULL,修复表格数据显示异常
- 覆盖 mysql/postgres/kingbase/oracle/dameng/sqlite/custom 的 Query 返回值转换
- 修正可编辑表格保存范围,避免状态残留影响显示
|
2026-02-03 14:27:10 +08:00 |
|
杨国锋
|
aa7651d95c
|
🐛 fix(db): 适配 schema/owner 限定名,修复 PG/金仓表不存在
- 表列表返回 schema.table/owner.table,避免 search_path 不一致导致 relation does not exist
- 元数据/导入导出/提交变更统一解析限定名并正确引用
- 前端查询与数据浏览支持限定名 quote
- 单元格编辑态时间字段统一显示为 YYYY-MM-DD HH:mm:ss
close #36
|
2026-02-03 14:26:37 +08:00 |
|
杨国锋
|
99c21f4fd4
|
🐛 fix(connection): 修复多数据源连接测试成功但实际失败,closes #23
- 前端改用通用 DB API,避免强制走 MySQL 接口导致 PostgreSQL 等连接异常
- 后端统一各数据源 timeout(Ping 超时 + 连接参数注入)
- DSN 生成兼容特殊字符密码(Postgres/Oracle/达梦/金仓)
- 增加文件日志与错误链输出,连接失败提示日志路径便于排障
|
2026-02-03 12:23:37 +08:00 |
|
杨国锋
|
7eb42aca62
|
✨ feat(core): 扩展多源数据库驱动并实现数据同步引擎
- 集成 go-ora, dm, gokb 驱动,封装统一的 Database 接口实现,支持自定义 DSN 连接
- 新增 SyncEngine 同步引擎,支持基于主键的增量数据比对 (Insert/Update)
- 新增 DataSyncModal 组件,实现三步走同步向导逻辑,修复 Transfer 组件空状态显示问题
- 优化 ConnectionModal 交互逻辑,支持驱动参数动态显隐
- 引入 antd/locale/zh_CN,统一应用界面的中文本地化显示
|
2026-02-02 19:57:41 +08:00 |
|