Syngnat
|
4b1cd1b727
|
🐛 fix(oracle): 修复触发器脚本显示为空
- 触发器列表查询补齐 OWNER、TABLE_NAME、TRIGGER_BODY 等 Oracle 元数据字段
- 优先使用 DBMS_METADATA.GET_DDL 返回完整 CREATE TRIGGER 脚本
- 在 DDL 不可用时基于 USER_TRIGGERS/ALL_TRIGGERS 重建可编辑触发器语句
- 补充 Oracle 触发器 DDL 获取与回退重建回归测试
|
2026-06-25 10:50:07 +08:00 |
|
Syngnat
|
06a984f39d
|
🐛 fix(elasticsearch): 修复 ES SQL 分号结尾查询无结果
- 兼容 SELECT FROM 索引名后直接接分号的查询语句
- 避免解析失败后退回全索引 query_string 导致空结果
- 补充 ES SQL 转 _search 的回归测试
Fixes #590
|
2026-06-24 23:36:37 +08:00 |
|
Syngnat
|
32c3ba017e
|
🐛 fix(oracle): 修复DDL注释拼接缺少分号与换行
- 为 Oracle 建表 DDL 追加注释前补齐语句结束符并保留空行分隔
- 修复 COMMENT ON TABLE/COLUMN 与 CREATE TABLE 粘连导致复制后无法直接执行的问题
- 补充后端 Oracle 建表语句与前端 DDL 格式化回归测试
|
2026-06-24 13:57:49 +08:00 |
|
tianqijiuyun-latiao
|
d9e52c734a
|
Merge remote-tracking branch 'origin/dev' into feature/20260602_connection_driver_i18n
|
2026-06-23 13:14:43 +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 |
|
Syngnat
|
8da8cc7f91
|
🐛 fix(mongodb): 修复 DataGrid 编辑后 BSON 类型丢失
- 为 MongoDB 结果展示、单元格编辑和行编辑接入类型感知格式化与解析
- 支持 ObjectId、日期、Int32、Int64、Double、Decimal128、UUID 等常见类型保真
- 统一 v1/v2 驱动查询结果的 Extended JSON 输出与 ApplyChanges BSON 恢复
- 补充前端提交链路与后端类型转换回归测试
|
2026-06-23 12:14:27 +08:00 |
|
Syngnat
|
495a985ae1
|
🐛 fix(sqlserver): 修复可选驱动查询消息透传缺失
- 为 optional-driver-agent 的 query 和 queryMulti 响应补充 messages 字段
- 在可选驱动 DB 客户端透传 SQL Server 查询提示信息与多结果集
- 补充 agent 与数据库层回归测试并更新 driver agent revision
|
2026-06-23 08:48:42 +08:00 |
|
Matt Van Horn
|
0ba2bfe645
|
fix(datasource): ClickHouse 22.8 HTTP 握手兼容 displayName 缺失
clickhouse-go 在 HTTP 握手阶段执行 SELECT displayName(), version(),
revision(), timezone(),而 ClickHouse 22.8 没有 displayName() 函数,
返回 Code 46 UNKNOWN_FUNCTION,导致即便已移除 client_protocol_version
的兼容重试路径仍然连接失败。
扩展现有 HTTP 兼容脚手架:新增 displayName Code 46 检测,复用同一条
兼容重试分支;兼容模式下的 RoundTripper 改写握手探测请求体,将
displayName() 替换为各版本通用的 hostName(),其余请求体原样放行。
Refs #479
|
2026-06-22 00:19:49 -07:00 |
|
tianqijiuyun-latiao
|
d13c153f5e
|
✨ feat(i18n): 收口数据库驱动多语言代码
- 提交 internal/db 多驱动用户可见错误与状态文案多语言化
- 补齐数据库驱动多语言测试与六语言 catalog
- 修复 frontend i18n catalog 的 4 个失效 guard
|
2026-06-22 10:09:45 +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
|
b997788437
|
✨ feat(explain): 新增 SQL 诊断工作台后端 EXPLAIN 基建
- 数据结构:新增 ExplainResult/Node/Stats/IndexSuggestion/DiagnoseReport 等归一化模型,跨方言通用
- 接口扩展:Database 接口新增 ExplainExecer 可选能力,支持驱动自带 EXPLAIN 实现
- 核心入口:DiagnoseQuery 支持 SELECT/WITH 白名单校验、方言调度、原生与 fallback 两条执行路径
- 方言适配:buildExplainQuery 覆盖 MySQL/PostgreSQL/SQLite/Oracle/SQLServer/ClickHouse 7 大主流
- 解析器:MySQL FORMAT=JSON 含表格 fallback、PostgreSQL ANALYZE BUFFERS JSON、SQLite EQP 层级解析
- 测试覆盖:新增 27 个单元测试覆盖 SQL 构造与三方言解析器
|
2026-06-19 12:30:56 +08:00 |
|
Syngnat
|
98965a56e1
|
🐛 fix(memory): 修复大数据量导出导致进程内存飙升至 16G 的问题
- GC 策略:主进程与 driver-agent 启动时收紧 SetGCPercent 至 50
- 周期回收:scan_rows 与 callStreamQuery 每 5 万行触发 runtime.GC
- 自适应限流:driver-agent 引入 GOMEMLIMIT 自适应策略,2GB 起步按 1GB 步长抬升至 8GB 上限
- 批次调优:流式批次由 256 行缩减至 64 行,降低 JSON 编解码瞬时峰值
|
2026-06-19 12:05:02 +08:00 |
|
Syngnat
|
21c427bc39
|
🐛 fix(connection): 优化多数据源连接数占用
- 测试连接改为隔离连接,成功后立即关闭并避免写入全局缓存
- 新增通用 SQL 连接池配置,限制网络型数据源空闲连接长期占用
- Redis 测试连接改为临时客户端并立即释放
- MySQL 连接数超限时释放同实例缓存连接并重试
- 补充连接释放、缓存重试和连接池参数回归测试
|
2026-06-18 20:29:19 +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
|
b3c321be67
|
⚡️ perf(export): 重构大结果集导出链路并支持流式写入
- 新增 ExportFileOptions 统一承载导出格式、进度任务和 XLSX sheet 行数上限
- 查询导出改为流式写入文件,避免一次性缓存整批结果导致高内存占用
- 增加值数组快速路径并复用扫描与写入缓冲,减少逐行 map 分配开销
- 为 ClickHouse、自定义驱动、达梦、SQLServer 和 TDengine 补齐 StreamQuery 支持
- 导出时间字符串仅在形似时间时再解析,避免普通文本被误判改写
- 补充 XLSX 分 sheet、流式导出和基准测试覆盖
|
2026-06-17 14:24:35 +08:00 |
|
Syngnat
|
0632c5242c
|
🐛 fix(oceanbase/data-grid): 修复 Oracle 时间字段显示编辑与结果视图异常
- 修复 OceanBase Oracle DATE 与 TIMESTAMP 的解码、展示和编辑精度丢失问题
- 修复查询结果与数据视图的行号显示、分页页数和日期列展示口径
- 打通 Oracle 与 OceanBase 会话执行链路的扫描方言透传
- 补齐 DBQuery、DataGrid temporal 和 OceanBase 结果链路回归测试
|
2026-06-17 09:49:15 +08:00 |
|
Syngnat
|
f41a15c7b8
|
✨ feat(data-sync/oceanbase): 拆分比对入口并修复 OceanBase Oracle 连接
- 数据同步:新增表结构比对、数据比对两个独立工具入口
- 比对模式:为 DataSyncModal 增加只读入口展示与模式化文案
- OceanBase:Oracle 租户改用 OB Oracle 专用 MySQL-wire 连接路径
- 连接表单:允许 OceanBase Oracle Service Name 留空,仅 TNS 场景需要填写
- 驱动提示:revision 不匹配提示收敛到驱动管理,不再在普通数据源入口弹出
- 测试覆盖:补充数据比对入口、OceanBase Oracle、driver-agent 提示边界测试
|
2026-06-16 12:15:16 +08:00 |
|
Syngnat
|
938bc53966
|
🐛 fix(mysql): 修复 DATE 字段显示为 datetime
- 查询扫描链路透传数据库方言,区分 MySQL 与 Oracle DATE 语义
- MySQL/MariaDB/自定义 mysql 驱动的 DATE/NEWDATE 只展示 YYYY-MM-DD
- 保留 DATETIME/TIMESTAMP 和 Oracle DATE 的时间信息
- 补充值规整与扫描链路回归测试
Close #565
|
2026-06-16 09:25:16 +08:00 |
|
Syngnat
|
c70eb7157f
|
✅ test(oceanbase): 脱敏 Oracle 租户连接测试数据
- 将测试中的内网地址、账号和服务名替换为虚构 fixture
- 统一 OceanBase Oracle 与 SSH 跳板机测试常量
- 保留连接预探测与 SSH 诊断断言语义
|
2026-06-16 08:37:18 +08:00 |
|
Syngnat
|
682017ba96
|
🐛 fix(oceanbase): 修复 Oracle 租户 SSH 预探测超时
- 拆分 OceanBase Oracle 预探测的拨号超时与握手读取超时
- SSH 跳板机场景下使用完整连接超时,避免内网目标被误判不可达
- 保留 MySQL handshake 短读取超时,避免 TNS 端口测试连接变慢
- 补充 SSH 预探测超时与短读取行为回归测试
|
2026-06-15 17:56:34 +08:00 |
|
Syngnat
|
a611c1c04b
|
🐛 fix(oceanbase): 修复 Oracle 租户跳板机连接预探测失败
- 修复 OceanBase Oracle 预探测未走 SSH 隧道导致内网 IP 被本机直连误判不可达的问题
- 预探测阶段复用完整连接配置,支持通过 SSH 跳板机访问目标地址
- 区分本机 TCP 不可达与 SSH 跳板机访问失败,优化错误提示
- 保留 OBClient 与 TNS 双路径路由逻辑,避免协议判断回退
- 补充 OceanBase Oracle SSH 预探测与网络失败回归测试
|
2026-06-15 16:13:15 +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
|
a750266e1c
|
🐛 fix(sqlserver): 修复托管事务下 UPDATE 误报执行失败
- 统一处理 SQL Server Exec 路径的 RowsAffected 返回
- 兼容 BEGIN/COMMIT/ROLLBACK/SAVE 等事务控制语句无影响行数场景
- 补充 SQL Server 事务控制语句与 DML 的回归测试
|
2026-06-14 18:03:06 +08:00 |
|
Syngnat
|
f3e11961dc
|
🐛 fix(tdengine): 修复旧版 TDengine 元数据查询与驱动版本选择异常
- 放开 TDengine 已安装驱动的历史版本切换入口
- 兼容低版本 SHOW TABLES FROM 语法差异
- 修复表概览加载时报 [0x2600] syntax error near
- 新增后端兼容与前端交互回归测试
- Close #531
|
2026-06-14 17:22:02 +08:00 |
|
Syngnat
|
3da3a3fb13
|
🐛 fix(mysql): 兼容 MyCAT 场景下数据库列表解析逻辑
- 扩展数据库名字段识别,兼容 SCHEMA、database_name 等返回列名
- 按驱动返回列顺序兜底提取单列结果,避免非标准列名导致误判为空
- 补充 MyCAT 风格回归测试,覆盖 SHOW DATABASES 与当前库回退逻辑
Close #552
|
2026-06-14 16:36:42 +08:00 |
|
Syngnat
|
8d5a24992a
|
🐛 fix(sql-editor): 修复事务执行会话与工具栏布局交互
|
2026-06-14 12:40:31 +08:00 |
|
Syngnat
|
7a85c30752
|
✨ feat(rocketmq): 新增 RocketMQ 数据源连接与测试发消息支持
|
2026-06-14 12:19:43 +08:00 |
|
Syngnat
|
0fa8afd517
|
✨ feat(mqtt): 新增 MQTT 数据源连接与测试发消息支持
|
2026-06-14 11:38:05 +08:00 |
|
Syngnat
|
d805f288ae
|
✨ feat(rabbitmq): 新增 RabbitMQ 数据源连接与测试发消息支持
- 新增 RabbitMQ 管理 API 数据源实现,支持 vhost、queue、exchange 浏览与队列预览
- 统一消息发送弹窗,支持 Kafka Topic 与 RabbitMQ Queue 的测试发送命令生成
- 补齐连接表单、能力矩阵、SQL 方言、图标与前后端回归测试覆盖
|
2026-06-14 10:49:11 +08:00 |
|
Syngnat
|
12fbc7ecf4
|
✨ feat(goldendb): 新增 GoldenDB 数据库连接支持
Refs #477
|
2026-06-13 21:42:18 +08:00 |
|
Syngnat
|
0ff17dc27c
|
✨ feat(kafka): 新增 Kafka 数据源连接支持
Refs #387
|
2026-06-13 21:11:08 +08:00 |
|
Syngnat
|
d2f68acae8
|
✨ feat(gaussdb): 新增 GaussDB 数据库连接支持
Refs #497
|
2026-06-13 19:34:52 +08:00 |
|
Syngnat
|
f3dfffb8d1
|
✨ feat(iotdb): 新增 Apache IoTDB 时序库连接支持
Refs #546
|
2026-06-13 18:23:56 +08:00 |
|
Syngnat
|
c805b16fcd
|
✨ feat(qdrant): 新增 Qdrant 向量库连接支持
- 后端新增 Qdrant REST 连接、collection 元数据、scroll/search 查询与 upsert/delete/payload 更新
- 前端新增 Qdrant 类型、连接配置、图标、方言和能力矩阵
- 测试覆盖 mock REST、真实服务 smoke 和前端配置
Refs #555
|
2026-06-13 17:03:20 +08:00 |
|
Syngnat
|
56126e22f2
|
✨ feat(chroma): 新增 Chroma 向量库连接支持
- 后端新增 Chroma REST 连接、元数据浏览、JSON/SELECT 查询与 upsert/delete 写入
- 前端新增 Chroma 类型、连接配置、图标、方言和能力矩阵
- 测试覆盖 v1/v2 兼容、真实服务 smoke 和前端配置
Refs #560
|
2026-06-13 16:47:25 +08:00 |
|
Syngnat
|
5061ec081a
|
🐛 fix(driver): 修复驱动代理 revision 误触发重装并优化事务提示
|
2026-06-12 11:07:41 +08:00 |
|
Syngnat
|
0bc6941df6
|
🐛 fix(oracle): 修复表格编辑事务提交失败
|
2026-06-12 04:18:29 +08:00 |
|
Syngnat
|
8a0dc3a7d3
|
🐛 fix(transaction): 修复 Oracle 托管事务提交回滚失败
- Oracle 托管事务改为固定物理连接执行 COMMIT/ROLLBACK
- SQL 编辑器事务按归一化方言判断 Oracle 兼容协议
- 补充 Oracle 与 OceanBase Oracle 事务回归测试
|
2026-06-12 02:51:01 +08:00 |
|
Syngnat
|
fb73769063
|
🐛 fix(oracle): 修复 SQL 编辑器事务提交失败
- Oracle DML 托管事务改用固定连接隐式事务
- 提交和回滚通过 COMMIT/ROLLBACK 结束事务
- 覆盖提交、回滚和执行失败回滚场景
|
2026-06-12 01:42:14 +08:00 |
|
Syngnat
|
e4672062f8
|
🐛 fix(query-editor): 支持 Oracle SQL 编辑器托管事务
- 新增 driver transaction 执行器,支持不适合文本 BEGIN 的数据库
- Oracle SQL 编辑器 DML 托管事务改用 database/sql Tx 提交和回滚
- 补充 Oracle 托管事务提交和失败回滚回归测试
|
2026-06-11 15:45:13 +08:00 |
|
Syngnat
|
74a422a5e2
|
🐛 fix(sync): 修复 Oracle 同步连接与 MySQL 备份导出异常
- 分离 Oracle/OceanBase Oracle 同步连接 Service Name 与选中 schema
- 兼容旧同步请求中 database 被 schema 覆盖的情况
- 规范 MySQL/MariaDB SHOW CREATE TABLE 标识符引用
Refs #549
Refs #518
|
2026-06-11 10:24:48 +08:00 |
|
Syngnat
|
c9d0bce153
|
🐛 fix(workbench): 修复结果区切换与对象设计字段定义
- 修复手动隐藏结果区后快捷键无法再次显示的问题
- 补全 Dameng/Oracle-like 字段长度、精度和可空标识
- 增加 SQL 编辑器、字段元数据和对象设计回归测试
|
2026-06-10 15:51:03 +08:00 |
|
Syngnat
|
c4153202ba
|
✨ feat(editor): 完善 SQL 编辑与数据编辑交互
- 结果区状态按 SQL Tab 独立保存,快捷键可恢复手动隐藏面板
- 对象设计保留完整字段类型和可空信息,完善兼容驱动 DDL 元数据
- 数据编辑新增手动/自动提交设置和自动提交倒计时
- 修复 schema 视图定位时找不到左侧树节点的问题
|
2026-06-10 14:27:40 +08:00 |
|
Syngnat
|
c45961f027
|
🐛 fix(db): 保留多写语句结果并修复 MySQL 字符集参数
- 多条写语句改为逐条返回 affectedRows,避免只显示最后一条结果
- 为写语句结果补充 statementIndex,保持语句与结果映射
- 保留 MySQL charset fallback 逗号,避免驱动解析成 %2C
|
2026-06-09 14:13:35 +08:00 |
|
Syngnat
|
dda8bbb6e3
|
🐛 fix(mysql): 修复 GDB 连接参数不兼容导致的握手失败
- 优化 MySQL 兼容 DSN 默认参数
- 在连接验证阶段增加 multiStatements 兼容回退
- 补充相关单元测试覆盖
Refs #543
|
2026-06-07 14:50:42 +08:00 |
|
Syngnat
|
2254b76232
|
🐛 fix(duckdb): 修复无主键结果无法安全编辑
- 为 DuckDB 查询结果和表预览补充隐藏 rowid 定位列,允许无主键表安全提交修改
- DataGrid 提交变更时仅将 rowid 用作定位条件,避免把隐藏定位列写回业务字段
- DuckDB ApplyChanges 对 duckdb-rowid 改用未加引号的 rowid 条件,修复更新和删除失效
- 补充前后端回归测试,覆盖 QueryEditor、DataViewer、rowLocator 与 ApplyChanges 链路
|
2026-06-05 14:05:18 +08:00 |
|
Syngnat
|
274c32ebdd
|
🐛 fix(frontend): 修复 DuckDB 对象编辑与安全修改回归
- 修复 DuckDB qualified table 在查询结果页丢失 schema 导致无法识别主键的问题
- 打开对象修改前强制刷新最新定义,并避免切换对象失败时沿用旧定义
- 为 DuckDB 元数据链路补充前后端回归测试,并给 app 层真实 runtime 测试增加环境门槛
|
2026-06-04 22:00:55 +08:00 |
|
Syngnat
|
5b602bff75
|
🐛 fix(duckdb): 修复唯一索引元数据安全编辑定位
- DuckDB 显式唯一索引表达式返回字符串包裹标识符时,统一归一化为真实列名
- 补充 DuckDB 主键、唯一约束、显式唯一索引的真实驱动回归测试
- 将 duckdb_metadata.go 纳入 DuckDB driver-agent revision 计算,确保重装驱动后加载新元数据逻辑
|
2026-06-04 13:52:05 +08:00 |
|
Syngnat
|
02faa4586b
|
🐛 fix(metadata): 修复多数据源主键唯一索引识别
- 统一 PG-like 数据源字段和索引元数据查询,支持 search_path 可见表
- 兼容 snake_case、布尔别名和字符串唯一索引标记
- 修复 DuckDB main/memory 路径解析,避免误判外部 catalog
- 补充前后端回归测试,覆盖可编辑结果定位和元数据重试路径
|
2026-06-04 10:49:16 +08:00 |
|
Syngnat
|
37a094c351
|
🐛 fix(duckdb): 修复元数据兼容与在线安装回退
|
2026-06-04 08:27:25 +08:00 |
|