Syngnat
|
6a21b75ff7
|
🐛 fix(export): 补齐 SQL 导出反斜杠转义漏掉的 ClickHouse 与 TDengine 方言
- isMySQLLikeDBType 更名为 dialectEscapesBackslashInStringLiteral,按语义而非协议族命名
- 新增 clickhouse/tdengine/taos:这三个方言的字符串字面量同样支持 C 风格反斜杠转义,
上一提交漏掉会导致其 dump 还原时仍被静默改写
- 补充双向断言:漏加方言(数据被改写)与误加方言(反斜杠被写成两个)都会测试失败
|
2026-07-26 19:43:41 +08:00 |
|
Syngnat
|
1a8effb51f
|
🐛 fix(export,ssh,secret,explain): 修复 SQL 导出注入与六处静默数据丢失/资源泄漏
- SQL 导出:formatSQLValue 按方言转义反斜杠,修复 MySQL 系 dump 还原时静默改写数据、
且以反斜杠结尾的值吞掉闭合引号致源库恶意行可执行任意 SQL 的问题;非 MySQL 方言保持原样
- 明文凭据:daily_secrets.json 由 0o644 改为 0o600、目录改 0o700,并对历史文件显式 Chmod
- SSH 隧道:RegisterSSHNetwork 改为确定性 network 名并复用缓存客户端,消除驱动全局 dialer
表随重连线性增长、永久钉住 ssh.Client 的连接与 goroutine 泄漏
- xlsx 导入:单元格 r 属性列号增加 OOXML 16384 上限并提前熔断,避免篡改文件放大分配致 OOM
- 数据导出:三处非 SQL 导出入口捕获 file.Close 错误,不再在落盘失败时返回“导出成功”
- 数据根迁移:copyFile 捕获 Close 错误并补 Sync,避免被截断的副本被判定为迁移成功
- 执行计划:节点 ID 改为按 ExplainResult 派生,移除进程级全局计数器与 reset,
修复并发诊断互相踩踏编号导致的重复 node ID 与错挂父子边
- 补充 5 个回归测试文件,含“导出→切分”闭环断言与未转义时的反向对照
|
2026-07-26 19:40:33 +08:00 |
|
Syngnat
|
702a21cbfa
|
🐛 fix(proxy,export): 修复转发器并发竞争泄漏与 xlsx 导出错误吞噬
- 转发器缓存改为写锁内双重检查,避免并发下重复创建 listener 造成端口与 goroutine 泄漏
- writeRowsToXlsx 通过命名返回值捕获 file.Close 错误,防止导出数据未落盘被静默忽略
|
2026-07-26 18:53:51 +08:00 |
|
Syngnat
|
2a7ef109fd
|
🐛 fix(ssh): 修复非 id_rsa 私钥无法浏览选择与读取
- 修正 OpenFileDialog 默认目录,支持无扩展名密钥路径
- macOS 下取消错误文件名过滤,显示隐藏项以选择 ~/.ssh 密钥
- 私钥读/解析失败返回明确错误,示例改为 id_ed25519
- 补充选钥目录解析与私钥读取失败回归测试
Refs #711
|
2026-07-24 21:31:21 +08:00 |
|
Syngnat
|
d618ef381e
|
✨ feat(data-transfer): 完善数据库 SQL 备份与恢复
- 数据导入工作台新增数据库模式,支持 SQL 文件选择、目标库、进度、取消与重试
- 新增受连接保护约束的 ImportDatabaseSQL 接口并复用流式执行链路
- SQL 导出支持切换数据库上下文,兼顾原库备份和跨库导入
- 调整侧栏与表概览入口,备份先进入工作台确认配置再执行
- 同步 Wails 绑定、Web 运行时限制、六语文案和回归测试
|
2026-07-23 16:40:44 +08:00 |
|
Syngnat
|
caf450d4f0
|
🐛 fix(import): 修复导入进度与任务停止
- 修正 SQL 文件执行进度提前完成及终态竞态
- 支持停止导入并保留已提交的部分统计
- 完善取消审计、多语言提示与回归测试
Refs #677
Refs #678
|
2026-07-22 22:36:19 +08:00 |
|
Syngnat
|
19d962d9ba
|
✨ feat(data-export): 增强备份进度与原子写入
- 为整库与 Schema 备份补齐逐对象进度和最终文件路径
- 通过临时文件同步落盘和原子替换保护已有完整备份
- 增加任务进度及失败保留回归测试
|
2026-07-20 13:43:20 +08:00 |
|
Syngnat
|
c4f24a6245
|
🐛 fix(data-export): 自动补齐导出文件格式后缀
- 为 CSV、XLSX、JSON、Markdown、HTML 和 SQL 保存对话框绑定对应过滤器并统一补齐扩展名
- 覆盖单表、查询、批量 SQL、数据库、Schema 与 SQL 审计导出路径
- 防止补后缀后的目标绕过覆盖确认,并补充真实落盘、多语言与安全回归测试
|
2026-07-19 14:27:00 +08:00 |
|
Syngnat
|
3aea725f7b
|
✨ feat(import-export): 支持 SQL 导出前删除同名对象
- 新增默认关闭的 DROP IF EXISTS SQL 导出选项和数据删除提示
- 覆盖数据库、Schema、单表、批量导出及工作台入口
- 按方言生成逆序 DROP 前导段并保持纯数据与旧 API 兼容
Fixes #514
|
2026-07-18 18:20:30 +08:00 |
|
Syngnat
|
fd093b3325
|
✨ feat(clickhouse): 支持自定义连接兼容 JDBC DSN
- 解析 ClickHouse 与 JDBC 风格 DSN 并映射协议、TLS、认证及数据库参数
- 统一连接缓存、DDL、数据同步与导出 driver-agent 生命周期
- 保持 DSN 加密存储并补充前后端回归测试和多语言提示
Fixes #383
|
2026-07-18 17:48:19 +08:00 |
|
Syngnat
|
5f5b28ced3
|
🐛 fix(schema): 修复 PostgreSQL 模式备份恢复与重命名
- 模式备份脚本写入安全转义的 CREATE SCHEMA IF NOT EXISTS
- 支持仅大小写变化的 PostgreSQL 模式重命名
- 补充备份头顺序、非 PostgreSQL 隔离和模式 DDL 回归测试
Fixes #480
|
2026-07-18 15:51:48 +08:00 |
|
Syngnat
|
15fba1d89f
|
✨ feat(import-export): 优化数据表导入导出能力
- 修复表格格式导出时空值显示为 null 的问题
- 支持按列导出并保持字段顺序
- 支持导入列与数据库字段映射及冲突校验
- 隔离并发导入任务进度并完善元数据回退
Fixes #646
|
2026-07-18 15:17:54 +08:00 |
|
Syngnat
|
d0a6a97f71
|
🐛 fix(sql-file): 修复整库备份导入失败
Fixes #662
|
2026-07-17 23:37:53 +08:00 |
|
autumn
|
4df1dac2c2
|
✨ feat(data-grid): 支持查询结果导出 INSERT SQL
- 导出弹窗新增 INSERT SQL 格式并支持选中行、当前页和全部结果
- 单表查询自动映射真实表名与字段类型,连表结果使用带方言引号的 <table_name> 占位符
- 复用流式导出与批量 INSERT 生成逻辑,兼容 PostgreSQL 布尔字面量
- 补充前后端回归测试,覆盖单表、连表、别名和占位表场景
|
2026-07-16 10:58:00 +08:00 |
|
Syngnat
|
6958299ec2
|
🐛 fix(oceanbase): 修复 Oracle 模式单元格事务提交
- 单元格变更提交与预览使用所选 schema 限定目标表
- 对限定表名按分段方式引用,避免将 schema 与表名整体转义
- 为全列定位条件中的日期和时间值补充显式 Oracle 转换
- 增加 OceanBase Oracle 事务提交与 SQL 预览回归测试
|
2026-07-13 17:29:41 +08:00 |
|
Syngnat
|
7c8e8d8dd3
|
✨ feat(sql-audit): 新增 SQL 审计中心并完善事务追踪
- 新增脱敏审计存储、筛选、保留策略、完整性校验与 JSON/CSV 导出
- 覆盖查询编辑器、事务、导入同步、对象操作、AI/MCP 与 Web 运行时入口
- 完善事务完整语句日志、Windows 快捷键映射及 SQL 分析布局
- 补充多语言、健康状态、数据目录迁移和回归测试
|
2026-07-12 15:24:27 +08:00 |
|
Syngnat
|
1ac9103735
|
🐛 fix(data-grid): 补全数据编辑事务语句
|
2026-07-10 21:21:42 +08:00 |
|
Syngnat
|
69be54c1cf
|
🐛 fix(web): 补齐浏览器端连接导入导出
|
2026-07-10 20:57:44 +08:00 |
|
Syngnat
|
714c6fc553
|
✨ feat(web-server): 新增浏览器访问认证与初始化流程
- 新增 web-server 运行模式与浏览器端运行时桥接
- 支持管理员密码、会话策略、Google Authenticator 与恢复码
- 设置中心补充浏览器访问认证状态与改密入口
- 优化初始化向导,未启用 2FA 时跳过验证器步骤
Refs #618
|
2026-07-04 21:50:52 +08:00 |
|
Syngnat
|
b388b08226
|
✨ feat(sql-file-execution): 外部SQL执行切换工作台并优化大文件链路
- 前端将运行外部SQL改为工作台Tab并复用导出式进度视图
- 后端新增仅选择文件元数据接口并优化流式读取与批量拼接
- 补充执行Runner、国际化文案和定向测试
|
2026-07-03 22:11:49 +08:00 |
|
Syngnat
|
c940e930bc
|
✨ feat(connection): 支持导入Navicat NCX连接
|
2026-06-29 14:16:17 +08:00 |
|
Syngnat
|
f55a332ead
|
✨ feat(mcp): 扩展数据库对象结构读取工具
- 新增 get_views/get_objects 工具并让 get_tables 附带视图列表
- 后端统一返回表、视图、触发器、函数、过程、序列、包、事件和队列类对象
- 补充 MCP 服务测试、对象解析测试、远程 schema-only 文档和多语言文案
|
2026-06-29 10:25:37 +08:00 |
|
Syngnat
|
038ecc8b70
|
🐛 fix(export): 兼容换行 SELECT 查询导出
- SELECT/WITH 只读判断支持关键字后换行
- 覆盖多表 JOIN 查询结果导出场景
Fixes #583
|
2026-06-27 16:41:35 +08:00 |
|
tianqijiuyun-latiao
|
86c39ac36f
|
Merge branch 'dev' into feature/20260602_connection_driver_i18n
|
2026-06-23 23:34:16 +08:00 |
|
tianqijiuyun-latiao
|
71989af586
|
🐛 fix(i18n): 收口 dev 合并后的业务提示多语言遗漏
|
2026-06-23 18:26:20 +08:00 |
|
Syngnat
|
adacf0b5c5
|
✨ feat(connection): 支持生产连接多项保护策略
- 新增数据编辑、结构编辑、脚本执行和数据导入四类连接级保护配置
- 升级生产连接保护弹窗为多选卡片,并修复选项对齐与勾选态显示
- 按保护类型收口 QueryEditor、DataGrid、表设计、导入与同步目标入口
- 后端统一拦截 SQL 或 Mongo 写操作、结果编辑、结构变更和导入写入
- AI 本地工具与 RPC 执行链路透传连接保护配置并复用后端守卫
- 补充多语言文案、定向测试与需求追踪记录
|
2026-06-23 17:42:54 +08:00 |
|
tianqijiuyun-latiao
|
09ae3d74c4
|
🐛 fix(i18n): 合并 dev 后补齐只读保护多语言
|
2026-06-23 17:05:35 +08:00 |
|
tianqijiuyun-latiao
|
839fdd7d66
|
Merge branch 'dev' into feature/20260602_connection_driver_i18n
# Conflicts:
# shared/i18n/de-DE.json
# shared/i18n/en-US.json
# shared/i18n/ja-JP.json
# shared/i18n/ru-RU.json
# shared/i18n/zh-CN.json
# shared/i18n/zh-TW.json
|
2026-06-23 16:23:43 +08:00 |
|
Syngnat
|
b0a9a995fb
|
✨ feat(connection): 新增生产连接只读保护
|
2026-06-23 15:33:11 +08:00 |
|
tianqijiuyun-latiao
|
0ba984b277
|
Merge remote-tracking branch 'origin/dev' into feature/20260602_connection_driver_i18n
# Conflicts:
# frontend/src/App.tsx
# frontend/src/components/AISettingsModal.tsx
# frontend/src/components/ConnectionModal.edit-password.test.tsx
# frontend/src/components/ConnectionModal.tsx
# frontend/src/components/DataSyncModal.i18n.test.ts
# frontend/src/components/DataSyncModal.tsx
# frontend/src/components/QueryEditor.external-sql-save.test.tsx
# frontend/src/components/QueryEditor.tsx
# frontend/src/components/Sidebar.locate-toolbar.test.tsx
# frontend/src/components/Sidebar.tsx
# frontend/src/components/SnippetSettingsModal.tsx
# frontend/src/components/TableOverview.tsx
# frontend/src/components/ai/AIChatHeader.test.tsx
# frontend/src/components/ai/AISettingsProvidersSection.tsx
# frontend/src/components/ai/aiChatPayloadDispatch.ts
# frontend/src/components/ai/aiChatReadiness.ts
# frontend/src/components/ai/aiSettingsModalConfig.tsx
# frontend/src/components/ai/messageBubble/AIMessageCodeBlock.tsx
# frontend/src/components/sidebarV2Utils.ts
# frontend/src/i18n/catalog.test.ts
# frontend/src/utils/connectionTypeCatalog.test.ts
# frontend/src/utils/connectionTypeCatalog.ts
# frontend/src/utils/tabDisplay.ts
# internal/ai/provider/custom.go
# internal/ai/service/service.go
# internal/app/methods_driver.go
# internal/app/methods_file.go
# internal/db/custom_impl.go
# internal/db/iris_impl.go
# internal/db/mariadb_impl.go
# internal/db/sqlserver_impl.go
# shared/i18n/de-DE.json
# shared/i18n/en-US.json
# shared/i18n/ja-JP.json
# shared/i18n/ru-RU.json
# shared/i18n/zh-CN.json
# shared/i18n/zh-TW.json
|
2026-06-23 12:41:27 +08:00 |
|
tianqijiuyun-latiao
|
f282da3bcb
|
feat(i18n): 收口多语言功能业务代码
|
2026-06-22 15:12:42 +08:00 |
|
Syngnat
|
8ea7ecc477
|
✨ feat(trino): 新增 Trino 可选驱动接入并补齐查询支持
- 后端新增 Trino 数据库实现与 optional driver-agent provider
- 前端补齐 catalog.schema 连接配置、URI 解析与能力开关
- SQL 编辑器对 Trino 禁用托管事务并补充前后端测试
|
2026-06-21 13:54:42 +08:00 |
|
Syngnat
|
c8fe90cbee
|
⚡️ perf(import-export): 降低 OceanBase 导出链路内存占用
- 为 optional driver-agent 补齐 streamQuery 分片协议,避免大结果集整批缓冲到内存
- 在 OceanBase 整表导出和查询结果导出前强校验 driver-agent revision,旧版代理直接拦截并提示重装
- 为 driver-agent 增加大查询和流式导出完成后的 GC/FreeOSMemory 回收逻辑
- 补充导出前校验、流式分片消费和 agent 内存回收的定向测试
- 更新 driver-agent revisions 以匹配新的流式导出协议
|
2026-06-18 11:32:08 +08:00 |
|
Syngnat
|
6bd87fa568
|
🐛 fix(export-workbench): 补齐整表导出百分比进度
- 为整表导出链路补充 COUNT(*) 预统计,并把总行数写回首个导出进度事件
- 兼容解析多种总数返回类型,避免后端已知总量时前端仍降级为不定进度条
- 补充后端导出总数解析与前端 runner 状态切换回归测试
|
2026-06-18 10:58:01 +08:00 |
|
Syngnat
|
2a8ae05363
|
🐛 fix(export-workbench): 修正未知总数进度展示并优化 XLSX 收尾阶段
- 修正总行数为 0 时仍被当作已知总数的问题,避免导出进度百分比失真
- 调整导出进度条判定逻辑,未知总数时改为展示实时写入进度
- 统一 Sidebar、TableOverview 和导出工作台的预计行数口径,仅在总数大于 0 时视为已知
- 优化 XLSX 收尾阶段的 ZIP 压缩策略和拷贝缓冲,降低 Windows 大文件导出封装耗时
- 细化 finalizing 阶段文案,明确显示 XLSX 正在封装压缩
- 补充导出进度状态与零总数场景的回归测试
|
2026-06-18 10:15:00 +08:00 |
|
Syngnat
|
ee78b9b57c
|
⚡️ perf(import-export): 降低大文件导入导出内存占用
- xlsx 导出改为临时 sheet 加 zip 直写,避免整包缓冲到内存
- xlsx 导入改为 zip xml 流式解析,并将 shared strings 落到临时文件
- 大任务完成后按行数和文件大小阈值触发内存回收
- 补充导入导出流式链路的测试与基准覆盖
|
2026-06-18 09:21:01 +08:00 |
|
Syngnat
|
e67285fde1
|
⚡️ perf(import): 重构导入链路并支持流式批量写入
- 后端新增流式导入流水线,避免预览和导入阶段整文件驻留内存\n- 导入执行优先复用 BatchApplier 按批提交,并在批量失败时回退单行定位错误\n- 导入进度事件兼容未预扫总行数场景,沿用预览总数稳定展示进度\n- 补充导入预览、批量回退和前端进度展示的最小回归测试
|
2026-06-17 17:26:57 +08:00 |
|
Syngnat
|
4e31d47936
|
✨ feat(export-workbench): 支持批量导出工作台并优化 SQL 导出性能
- 侧边栏批量表/批量库入口改为直接打开导出工作台,统一导出配置与进度视图
- 导出工作台新增 batch-tables / batch-databases 模式,支持连接、数据库、对象选择与独立历史记录键
- 连接、数据库、对象下拉项补齐完整名展示与悬浮提示,避免长名称被截断后不可识别
- 后端新增批量对象/批量库导出 WithOptions 链路,统一返回输出文件/目录与进度信息
- SQL dump 数据导出改为按方言批量写入,MySQL/PG 等使用多值 VALUES,Oracle/达梦使用 INSERT ALL
- 补充导出工作台与 SQL dump 的回归测试和 benchmark,覆盖批量模式与批量写入语义
|
2026-06-17 16:50:05 +08:00 |
|
Syngnat
|
b3c321be67
|
⚡️ perf(export): 重构大结果集导出链路并支持流式写入
- 新增 ExportFileOptions 统一承载导出格式、进度任务和 XLSX sheet 行数上限
- 查询导出改为流式写入文件,避免一次性缓存整批结果导致高内存占用
- 增加值数组快速路径并复用扫描与写入缓冲,减少逐行 map 分配开销
- 为 ClickHouse、自定义驱动、达梦、SQLServer 和 TDengine 补齐 StreamQuery 支持
- 导出时间字符串仅在形似时间时再解析,避免普通文本被误判改写
- 补充 XLSX 分 sheet、流式导出和基准测试覆盖
|
2026-06-17 14:24:35 +08:00 |
|
Syngnat
|
0816702084
|
🐛 fix(external-sql): 修复外部 SQL 文件丢失后标签无法关闭
- 后端读取 SQL 文件失败时返回 file_not_found 结构化错误码
- 前端识别文件被删除或移动的场景,允许用户确认关闭标签
- 保留权限、网络盘异常等非缺失错误的关闭拦截,避免误丢草稿
- 补充前后端测试覆盖缺失文件识别与标签关闭提示
Close #566
|
2026-06-16 08:48:43 +08:00 |
|
Syngnat
|
f2ffeeaf45
|
🐛 fix(sql-editor): 修复存储过程与返回结果写语句的结果识别
- 补齐 SQL 分类逻辑,识别 SQL Server 裸存储过程调用、RETURNING/OUTPUT、SELECT INTO 及消息块场景
- 调整多语句执行与批量写入分支,避免返回行或服务端消息被 Exec 路径吞掉
- 为 PostgreSQL、OpenGauss、Kingbase、HighGo 补充 notice 回传能力并增加回归测试
|
2026-06-14 21:37:02 +08:00 |
|
Syngnat
|
5f892d29c8
|
✨ feat(schema): 支持模式编辑删除及按模式导出备份
- 新增 PostgreSQL 系模式重命名与删除能力
- 侧栏模式节点补充右键菜单、编辑弹窗和删除确认
- 导出表结构与备份表数据支持按模式过滤表和视图
- 同步补充 Wails 绑定与前后端定向测试
Close #526
|
2026-06-14 17:48:29 +08:00 |
|
Syngnat
|
d2f68acae8
|
✨ feat(gaussdb): 新增 GaussDB 数据库连接支持
Refs #497
|
2026-06-13 19:34:52 +08:00 |
|
Syngnat
|
6841e69008
|
✨ feat(ai-tools): 新增日志与快捷键探针并完善 MCP 配置引导
|
2026-06-09 07:46:38 +08:00 |
|
Syngnat
|
1ae44941dd
|
🐛 fix(sql-editor): 修复脚本执行拆分与元数据只读提示
- Oracle 匿名块:识别 BEGIN/DECLARE...END 块,避免按内部分号错误拆分
- 执行路径:PL/SQL 块跳过批量写入路径,保持单条语句语义
- SQL 文件:同步修复流式 SQL 文件拆分逻辑
- 查询结果:系统元数据表保持只读但不再弹业务表主键提示
- 测试覆盖:补充前后端拆分、执行和 information_schema 回归用例
|
2026-06-03 17:11:05 +08:00 |
|
Syngnat
|
e6dd986115
|
✨ feat(external-sql): 完善外部 SQL 目录文件管理
- 新增外部 SQL 文件的新建、重命名、删除和目录管理接口
- 后端限制 SQL 目录只加载 .sql 文件并补充目录操作测试
- 前端补齐 Wails 类型、浏览器 mock 和外部 SQL 树过滤逻辑
- 支持从外部 SQL 文件标签定位到侧栏目录节点
|
2026-06-02 11:15:30 +08:00 |
|
Syngnat
|
63db9fecb3
|
✨ feat(query-editor): 支持查询重命名导出与保存快捷键
- 支持已保存查询重命名并同步当前标签标题
- 新增 SQL 文件导出接口、Wails 绑定和浏览器 mock
- 补充 Ctrl/Cmd+S 保存查询与 Ctrl+, 快捷键入口修复
- 覆盖 SQL 编辑器保存、导出和快捷键回归测试
|
2026-05-31 22:32:48 +08:00 |
|
Syngnat
|
872b089b15
|
⚡️ perf(sql-import): 优化 SQL 文件流式导入性能
- 使用批量执行减少大 SQL 文件导入的数据库往返
- 引入独立导入会话,保留导入过程中的会话状态
- 批量失败时回滚并降级逐条执行,避免中断后续导入
- 补充 SQL 文件导入与流式拆分回归测试
Refs #487
|
2026-05-23 12:58:38 +08:00 |
|
Syngnat
|
b880b5416f
|
🐛 fix(connection): 修复 IRIS 连接类型保存后回退为 MySQL
- 将 IRIS 纳入前端连接类型白名单与默认端口配置
- 补齐常见数据源类型别名归一化,避免未知别名回退为 MySQL
- 增加 IRIS 连接保存、导入、自动 Limit 和表数据清空回归测试
- 补齐前后端 IRIS truncate 支持
Refs #476
|
2026-05-18 20:14:31 +08:00 |
|
Syngnat
|
1dd1cb9e44
|
🐛 fix(sqlserver): 修复表 DDL 与索引创建语句生成
- DDL:为 SQL Server 表结构补充 CREATE TABLE fallback 生成
- 索引:在已有索引选择和新增索引弹窗中展示 CREATE INDEX 语句
- 测试:补充 SQL Server DDL fallback 与索引 SQL 预览回归测试
|
2026-05-16 08:46:51 +08:00 |
|