Commit Graph

640 Commits

Author SHA1 Message Date
Syngnat
2580e4d6f3 🐛 fix(window): 直接调 WebView2 zoom factor 零感知修复 Windows 字体异常
- 新增 ResetWebViewZoom RPC:从 ctx 反射拿 Wails 内部 *edge.Chromium,调 PutZoomFactor(1.0) 强制 WebView2 重算 D2D/DirectWrite 字体度量,完全不动窗口零动画
- 自动路径:maximised + restore + drift 时直接调 backend reset,告别 9848b8b2 之后字体偶发变大的取舍
- 手动路径:保留 Ctrl+Shift+0 快捷键作为兜底(优先 WebView2 reset,失败回退 toggle)
- 撤回上一版 CSS zoom nudge:实测在 WebView2 上不能修字体度量(度量缓存在 D2D 层不在 Chromium layout 层)
- 反射做了 3 层签名校验(frontend value / chromium 字段 / PutZoomFactor 方法签名),wails 升级破坏接口时返回 error 不让进程崩溃
- 新增 windows-only 反射逻辑测试 4 个、跨平台 RPC 行为测试 2 个、Ctrl+Shift+0 快捷键注册测试
2026-05-15 16:01:18 +08:00
Syngnat
32d51f3c25 🐛 fix(redis): 修复 HGETALL 在命令行下程序闪退
- 根因:go-redis v9 默认 RESP3 协议,HGETALL 返回 map[interface{}]interface{},encoding/json 不支持非 string key 的 map,原值穿透到 Wails RPC 导致 Windows 进程退出
- formatCommandResult 新增 map[interface{}]interface{} 分支,平展为交错 [k1, v1, k2, v2, ...] array,与 RESP2 输出形式一致,前端 array 渲染零改动
- 递归调用确保 XINFO STREAM 等嵌套 RESP3 map 也被平展
- 在函数 doc comment 固化"为什么这样做"防止后人删除
- 新增 3 个单元测试:扁平化 + JSON 可序列化、嵌套 map 递归处理、scalar 与 []byte 不被改变
2026-05-15 15:25:38 +08:00
Syngnat
8b90c0b3f0 🐛 fix(oceanbase): 修复预探测漏判导致 Oracle 路径走 TNS 死路
- 预探测放宽 payload 上限 1024→65536 字节并删除 protocol_version 严格检查,避免 OB 4.x 携带能力位扩展的 handshake 被误判为非 MySQL wire
- Connect Oracle 路由:预探测失败时不再单走 TNS(在 OB MySQL wire 端口上必然失败),改为串行尝试 OBClient capability 路径 → TNS 路径,两路都失败时合并错误信息
- 移除 annotateOceanBaseOracleConnectError 里"GoNavi 暂未实现 OBClient 协议"过时文案,改为说明 OBClient 路径已实现且路由层会优先尝试
- 删除随 probe 放宽而失去意义的 IgnoresNonMySQLProtocol 测试,新增 AcceptsLargerPayload 锁定 64KB 上限内识别 OB 的能力
- 刷新 oceanbase driver-agent revision
2026-05-15 15:18:22 +08:00
Syngnat
067cbd5ab2 🐛 fix(window): 用 CSS zoom nudge 修复任务栏恢复字体变大且不引入重复最大化
- 撤回上次错误的 toggle 改动:恢复 9848b8b2 的 restore 不重新最大化取舍,避免用户在任务栏点击恢复时看到窗口"被弹两次"
- 新增 applyWindowsViewportZoomNudge:通过短暂将 documentElement.style.zoom 设为 1.0001 并在两帧内重置,强制 Chromium 重算 layout metrics 修复字体变大,零可见动画、不动窗口
- maximised + drift + restore 路径从仅 dispatch resize 改为先 zoom nudge 再 dispatch resize
- 锁定 windowStateUi.test.ts 中 shouldToggleMaximisedWindowForScaleFix('restore', true)=false 取舍并补注释禁止再次反转
- windowsScaleFix.test.ts 加 jsdom 环境,新增双帧 zoom nudge 行为测试
2026-05-15 15:03:25 +08:00
Syngnat
c7b8663c06 🐛 fix(oceanbase): 新增 OBClient capability 注入打通 Oracle 租户连接
- 双轨路由:Oracle 协议路径按 mysql wire 端口预探测自动选择,OB MySQL wire 端口走 OBClient capability 注入(复刻 Navicat),其他端口走标准 Oracle TNS
- 默认注入 4 组 OBClient capability attribute(_client_name=OceanBase Connector/J、_client_version、__ob_client_attribute_capability_flag、ob_capability_flag),用户在 ConnectionParams 设置的同名键优先级更高
- 恢复 applyOracleChangesMySQLWire:OBClient 路径写操作使用 mysql "?" 占位符 + Oracle 双引号引用标识符,配合 sql_mode='ANSI_QUOTES' 让服务端按 Oracle 解析
- 删除旧的 errOceanBaseMySQLWireOnOracleRoute fail-fast 死路提示,重写文件头注释固化反转决策(基于用户报告 Navicat 用 OceanBase 数据源同端口连通的真实证据)
- 前端 ConnectionModal 文案对齐:去掉「必须 OBProxy Oracle listener」的误导,改为说明自动路由 + connectionAttributes 调试入口
- 新增 5 个单元测试覆盖默认注入、用户覆盖、DSN 透传、mysql wire 占位符;刷新 OceanBase agent revision
2026-05-15 10:54:37 +08:00
Syngnat
6c1f56d50e 🐛 fix(oceanbase): 新增 OBClient capability 注入打通 Oracle 租户连接
- 双轨路由:Oracle 协议路径按 mysql wire 端口预探测自动选择,OB MySQL wire 端口走 OBClient capability 注入(复刻 Navicat),其他端口走标准 Oracle TNS
- 默认注入 4 组 OBClient capability attribute(_client_name=OceanBase Connector/J、_client_version、__ob_client_attribute_capability_flag、ob_capability_flag),用户在 ConnectionParams 设置的同名键优先级更高
- 恢复 applyOracleChangesMySQLWire:OBClient 路径写操作使用 mysql "?" 占位符 + Oracle 双引号引用标识符,配合 sql_mode='ANSI_QUOTES' 让服务端按 Oracle 解析
- 删除旧的 errOceanBaseMySQLWireOnOracleRoute fail-fast 死路提示,重写文件头注释固化反转决策(基于用户报告 Navicat 用 OceanBase 数据源同端口连通的真实证据)
- 前端 ConnectionModal 文案对齐:去掉「必须 OBProxy Oracle listener」的误导,改为说明自动路由 + connectionAttributes 调试入口
- 新增 5 个单元测试覆盖默认注入、用户覆盖、DSN 透传、mysql wire 占位符;刷新 OceanBase agent revision
2026-05-14 17:50:23 +08:00
Syngnat
235bc99846 🐛 fix(window): 修复 Windows 任务栏恢复最大化窗口后字体保持过大
- 问题根因:9848b8b2 禁用 maximised+restore 的 toggle 路径属于过度修复,导致从任务栏点击恢复最大化窗口时 viewport drift 无人修复
- maximised 状态下 Windows API 拒绝 SetSize nudge,唯一可行的修复是 Unmaximise → Maximise 切一次,此前被剪掉
- shouldToggleMaximisedWindowForScaleFix 在 restore + drift 时重新允许 toggle,注释说明去重保护链路
- 重复 toggle 由 inFlight 互斥 + 700ms 冷却 + ratio-change 在 minimisedSeen 上下文合并到 activationTimer 共同防御
- 拆分测试断言:shouldApplyWindowsScaleFix 与 shouldToggleMaximisedWindowForScaleFix 各自独立覆盖 restore 场景
2026-05-14 12:31:19 +08:00
Syngnat
f94a0429d5 🐛 fix(oceanbase): 解决 Oracle 租户 MySQL wire 下双引号被误解析与列元数据静默失败
- DSN 注入 sql_mode='ANSI_QUOTES':让元数据查询的 AS "OWNER" 与 ApplyChanges 的 "schema"."table" 在 MySQL wire 上被识别为标识符
- sql_mode 加入 mysql driver 参数白名单,避免被 mergeMySQLConnectionParam 过滤丢弃
- 加载 Oracle 列元数据失败不再静默,改为返回带 ALL_TAB_COLUMNS 诊断提示的明确错误
- 修复 stripOceanBaseConnectionParamsForCache 未剥离 # 片段导致与 resolveOceanBaseProtocolParam 行为不一致
- 锁定 mysql ParseDSN 对 sys@oracle001#cluster:p@ss 类租户凭据切分的 invariant,防止未来误加 url.QueryEscape
- 同步 OceanBase agent revision,强制旧 driver-agent 被运行时校验拒绝
2026-05-14 12:09:19 +08:00
Syngnat
17331ddbaa 🐛 fix(oceanbase): 修复 Oracle 租户连接误走 go-ora
- 连接层改为通过 OceanBase MySQL 兼容协议建立 Oracle 租户连接
- 保留 Oracle 元数据包装,避免表结构和 schema 查询退回 MySQL 方言
- 修复 Oracle 租户数据编辑在 MySQL wire 下的占位符格式
- 更新 OceanBase driver-agent revision,确保 dev 包触发驱动刷新
2026-05-14 11:47:32 +08:00
Syngnat
527ecd37e1 🐛 fix(oceanbase): 增强 Oracle 协议连接校验与诊断
- 运行时校验可选 driver-agent revision,避免旧代理继续被复用
- OceanBase agent revision 纳入 oracle_impl.go 指纹并重新生成
- OceanBase Oracle 保留 URI 中的 Oracle 连接参数
- Oracle DSN 默认写入连接和读取超时,并输出脱敏诊断摘要
- 补充 revision、Oracle DSN、OceanBase Oracle 参数提升测试
2026-05-14 10:30:17 +08:00
Syngnat
6456658576 feat(query-editor): 新增选择当前语句快捷键
- 快捷键配置:新增选择当前语句动作,默认绑定 Ctrl+E
- 编辑器接入:在 Monaco 查询编辑器中注册选择当前语句 action
- 语句识别:新增 SQL 语句范围解析,支持按光标定位当前语句
- 兼容处理:忽略字符串、注释和 dollar quote 内的分号
- 测试覆盖:补充快捷键默认配置和语句选择解析单元测试
Refs #404
2026-05-14 09:19:28 +08:00
Syngnat
f8abe60dc2 🐛 fix(oceanbase): 修复 OceanBase 协议模式识别与缓存隔离
- 支持 MySQL/Oracle 租户协议在前后端统一解析
- 拒绝 Native 协议并避免误回退为 MySQL
- 修复 Oracle 模式下元数据、DDL、SQL 方言识别
- 修复连接缓存键与实际协议解析优先级不一致问题
- 补充前后端协议解析与缓存隔离回归测试
2026-05-13 22:51:01 +08:00
Syngnat
01eb2c25e0 feat(mongodb): 支持文档可视化编辑与删除
- 前端表格预览使用 _id 构建 MongoDB 行定位,并隐藏 typed ObjectID locator

- 后端 ApplyChanges 支持 MongoDB 更新、单删和批量删除,区分 ObjectID 与字符串 _id

- 补充 DataViewer、DataGrid 与双版本 Mongo driver 回归测试

Refs #458
2026-05-13 21:48:14 +08:00
Syngnat
2ad2f26b2b 🐛 fix(ddl): 修复金仓建表语句缺少字段备注
- 在 fallback DDL 中追加字段备注语句
- 生成 COMMENT ON COLUMN 并处理单引号转义
- 补充金仓字段备注回归测试
Refs #459
2026-05-13 20:38:43 +08:00
Syngnat
75185f5e66 feat(sidebar): 新增表节点右键复制表名功能
- 左侧表节点右键菜单增加复制表名入口
- 复制真实表名并提供中文剪贴板提示
- 补充表名解析逻辑测试
Refs #460
2026-05-13 20:28:18 +08:00
Syngnat
0bcb8ce6c3 🐛 fix(ai-chat): 修复输入法候选阶段回车误发送
- 识别 IME keyCode/which 229 的候选输入事件
- 避免候选词确认触发 AI 对话发送
- 补充发送快捷键回归测试
Refs #461
2026-05-13 20:19:44 +08:00
Syngnat
b2b1e6b944 🐛 fix(connection): 收敛数据库连接参数白名单
- MySQL 兼容 JDBC 参数映射并丢弃 allowPublicKeyRetrieval 等无效参数
- 为 PostgreSQL 系、SQL Server、Oracle、达梦、TDengine 接入驱动参数白名单
- 补充连接参数归一化、别名映射和未知参数过滤回归测试
2026-05-13 17:51:02 +08:00
Syngnat
e6a1333f83 🐛 fix(ci): 兼容 dev-latest 标签不存在时的删除失败
- 修复 dev CI 首次发布时删除不存在 tag ref 返回 422 导致失败
- 同步处理 GoNavi 主仓库和 DriverAgents 仓库的 dev-latest reset 步骤
- 保留非 Reference does not exist 异常继续抛出,避免吞掉真实发布错误
2026-05-13 14:54:44 +08:00
Syngnat
bf7b9092df 🐛 fix(kingbase): 统一金仓标识符引用策略
- 标识符处理:下沉 Kingbase 引用逻辑,普通小写 schema/table 不再强制双引号包裹
- 表操作修复:修复截断、清空、导入、导出等路径生成异常双引号 SQL
- 同步链路修复:统一数据同步、预览、迁移建表中的 Kingbase schema.table 拼接规则
- 自定义驱动兼容:补齐 kingbase8/kingbasees/kingbasev8 别名归一与写入路径处理
- 回归覆盖:新增 ldf_server.andon_events、转义引号、保留字和大小写标识符测试
2026-05-13 10:25:25 +08:00
Syngnat
1f3cc2c686 feat(driver): 拆分驱动资产到独立发布仓库
- 驱动下载和版本查询统一切换到 Syngnat/GoNavi-DriverAgents
- release/dev-build 将单驱动资产、总包、索引和校验文件发布到独立仓库
- GoNavi 主仓库 Release 仅保留主程序资产和主程序校验文件
- dev 构建驱动资产使用 dev-latest 预发布供测试版下载
- 补充驱动仓库 URL、dev tag 和总包兜底相关测试
2026-05-13 09:21:50 +08:00
Syngnat
e09391a286 feat(driver): 支持单驱动资产优先发布
- 发布流程:release/dev-build 同步输出单驱动 driver-agent 顶层资产
- 安装优化:复用现有直链优先逻辑,降低单驱动安装下载体积
- 兜底保留:继续生成 GoNavi-DriverAgents.zip 和索引文件
- 安全校验:新增驱动资产同名冲突检查,避免发布时静默覆盖
2026-05-13 08:29:28 +08:00
Syngnat
6d5d49ef50 🐛 fix(redis): 修复命名空间行点击误选中
- 命名空间行点击改为展开或折叠分组

- 阻止行点击冒泡触发 Tree 复选/选中逻辑

- 增加 Redis 树行点击交互回归测试

Refs #457
2026-05-12 22:09:51 +08:00
Syngnat
9848b8b295 🐛 fix(window): 避免 Windows 恢复窗口时重复最大化
- 恢复窗口场景不再触发最大化窗口切换修复

- 恢复期间 DPR 变化延迟到窗口状态稳定后处理

- 更新任务栏恢复窗口缩放策略测试
2026-05-12 21:48:41 +08:00
Syngnat
0fea730908 🐛 fix(window): 修复 Windows 恢复窗口后字体缩放异常
- 记录最小化和隐藏状态以识别任务栏恢复场景

- 恢复窗口时使用 restore 缩放修复路径校正 viewport drift

- 增加任务栏恢复窗口缩放逻辑测试
2026-05-12 21:47:24 +08:00
Syngnat
10a695ba0f 🐛 fix(data-viewer): 修复表数据刷新后总数缓存过期
- 刷新时校验已知总数是否满足当前页 hasMore 信号

- 旧总数过期时清空 countKey 并重新统计总数

- 增加表数据增长后的分页回归测试
2026-05-12 21:45:44 +08:00
Syngnat
65567221ac feat(driver): 完善驱动批量管理并优化总包安装
- 驱动管理支持批量安装、重装需更新和删除外置驱动

- 批量任务增加总进度展示,并实时刷新已完成驱动状态

- 后端复用驱动总包下载缓存,支持并发等待和长超时下载

- 开发态优先本地构建 driver-agent,避免发布包 revision 不匹配

- DuckDB 构建自动探测 UCRT64 gcc 工具链

- 驱动总包构建接入 UPX 压缩以降低发布体积
2026-05-12 07:17:28 +08:00
Syngnat
0f891be026 🎨 style(query-editor): 收紧查询页标签与工具栏间距
- 去除主标签页与结果标签页默认下边距
- 缩小查询工具栏顶部留白
- 优化查询编辑器纵向空间利用
Refs #420
2026-05-11 20:38:42 +08:00
Syngnat
b22d28b79c 🐛 fix(oracle): 修复 Oracle/Dameng 打开表时缺少 schema 前缀导致 ORA-00942
- 问题根因:GetTables 在 dbName 为空时走 user_tables 分支返回纯表名,下游 SQL 缺少 owner 前缀,引用未授权 schema 的表时报 ORA-00942
- SQL 修复:user_tables 分支改用 USER 伪列拼接 owner,确保始终返回 OWNER.TABLE_NAME 格式
- 驱动兼容:列别名用双引号包裹强制大写(AS "OWNER" / AS "TABLE_NAME"),避免不同驱动返回不一致 case 导致 row map 取值失败
- 边界保护:增加 TABLE_NAME 为 NULL 的跳过逻辑,避免污染表名输出
- 达梦对齐:DamengDB.GetTables 同步修复,保持与 Oracle 实现一致
- 测试覆盖:新增 3 个回归用例(all_tables 路径、user_tables 路径、NULL 值跳过),扩展 recording driver 支持 mock 任意查询结果
Refs #445
2026-05-11 19:46:24 +08:00
Syngnat
2d9d5f0e98 feat(data-grid): 支持右键复制字段名称
- 新增单元格右键菜单“复制字段名称”
- 将表格复制成功提示改为中文
- 补充字段名称解析回归测试
2026-05-10 20:55:16 +08:00
Syngnat
7dc9da0fd0 🐛 fix(dameng): 修复特殊字符密码导致连接认证失败
- 调整达梦 DSN 生成逻辑,密码按驱动解析规则原样传入
- 移除默认 escapeProcess 参数示例,避免误导配置
- 补充特殊字符密码与问号密码的回归测试
Refs #446
2026-05-10 20:26:19 +08:00
Syngnat
a11d39f981 Merge pull request #452 from TonyJiangWJ/feature/shortcuts-conflict
🐛 fix(shortcuts): 修复编辑器快捷键冲突处理
2026-05-10 19:55:24 +08:00
Syngnat
4ce920cc86 Merge pull request #453 from TonyJiangWJ/feature/datagrid-enhance
 feat(data-grid): 增强数据表编辑与展示体验
2026-05-10 19:26:58 +08:00
TonyJiangWJ
1965564386 feat(data-grid): 增强数据表编辑与展示体验
- 新增变更预览能力,支持在提交前查看删除、更新和新增对应的 SQL 语句
- 增加表格密度配置,统一控制默认列宽、行高、字号与单元格内边距
- 优化 DataGrid 编辑状态展示,区分新增、修改和删除行列的视觉反馈
- 调整导出入口与 Wails 前端绑定,补齐变更预览相关调用与测试覆盖
2026-05-10 19:00:47 +08:00
TonyJiangWJ
f3d325ddab 🐛 fix(shortcuts): 修复编辑器快捷键冲突处理
- 新增保留快捷键冲突检测,区分浏览器、Monaco 编辑器和数据表格等不同冲突来源。
- 在快捷键设置弹窗中展示冲突提示,并在录入冲突快捷键时给出覆盖或可能失效的反馈。
- 将执行 SQL 快捷键注册到 Monaco 内部 keybinding,确保可覆盖编辑器默认快捷键并触发当前活跃查询。
- 增加快捷键冲突检测和 Monaco keybinding 转换的单元测试,覆盖常见组合键与边界情况。
2026-05-10 18:43:36 +08:00
Syngnat
c0ae40c638 🐛 fix(mysql): 修复旧版 Windows 无法解析 Asia/Shanghai 时区
- 嵌入 Go IANA 时区数据,兼容 Windows Server 2012 等缺少 zoneinfo 的环境
- 保持 MySQL serverTimezone=GMT+8 到 loc=Asia/Shanghai 的时间语义
- 增加 MySQL DSN 时区解析回归测试
Refs #449
2026-05-10 17:29:11 +08:00
Syngnat
947bdbbe0c Merge pull request #451 from TonyJiangWJ/feature/sql-snippets
# Conflicts:
#	frontend/package.json.md5
2026-05-10 12:46:45 +08:00
Syngnat
c99287dc10 Merge pull request #450 from jsfaint/fix/pg_schema 2026-05-10 12:44:19 +08:00
Syngnat
49c20bef89 🐛 fix(data-grid): 修复快捷 WHERE 自动补全回车行为
- 调整快捷 WHERE 输入框 Enter 处理,避免抢占 AutoComplete 选中事件
- 方向键高亮建议项后回车优先选择字段
- 增加快捷 WHERE 回车行为回归测试
2026-05-10 12:41:08 +08:00
Syngnat
d26d7d2ff0 🐛 fix(data-grid): 修复数据输出列序与时间精度问题
- 统一复制、导出、JSON/Text 视图按表格展示列序输出
- 表级导出改用显式列查询,避免 SELECT * 丢失界面列序
- 保留 datetime(3) 等时间字段的小数秒展示与复制输出
Refs #434
2026-05-10 12:32:41 +08:00
TonyJiangWJ
30f3ac86aa feat(query-editor): 支持 SQL 片段配置 2026-05-10 08:59:25 +08:00
Jia Sui
741fba4c27 🐛 fix(postgres): 修复 LIKE 'pg_%' 误匹配 pgsrpschema 等非系统 schema
LIKE 模式中 '_' 是单字符通配符,'pg_%' 不仅匹配 pg_catalog/pg_toast,
还会匹配 pgsrpschema 等以 'pgs' 开头的 schema,导致这些 schema
下的表被 GetTables 漏掉,侧边栏不显示 schema 分组。
改用 LIKE 'pg|_%' ESCAPE '|','_' 仅匹配字面量下划线。
2026-05-09 19:11:18 +08:00
Syngnat
baed7a2721 🐛 fix(sidebar): 修复树节点左侧图标对齐
- 调整树节点内容区布局,固定展开符和图标宽度
- 保持树节点标题、展开符和图标左侧对齐稳定
- 补充侧边栏树横向滚动 CSS 回归测试
2026-05-09 16:08:49 +08:00
Syngnat
4ad074a90c 🐛 fix(window): 修复 Windows 最大化还原后文字变大
- 将缩放修正改为去抖检查,避免 focus/resize/visibilitychange 连续触发
- 最大化/还原改为显式切换窗口状态,减少重复 toggle 带来的抖动
- 补充 Windows 缩放修正相关工具测试
2026-05-09 16:08:31 +08:00
Syngnat
6a0f3f3a73 feat(sidebar): 支持当前表定位到左侧菜单
- 新增左侧工具栏定位按钮,支持按当前激活标签定位表/视图
- 抽离 sidebarLocate 工具函数,统一定位请求解析、路径匹配和 schema 分组
- 侧边栏接收定位事件后自动展开、选中并滚动到目标节点
- 移除 DataGrid 内部定位入口,补充定位与工具栏回归测试
2026-05-09 16:08:03 +08:00
Syngnat
ecdbe09c6c 🐛 fix(sidebar): 优化侧边栏拖拽热区并减少误触
- 将右侧边缘分隔条改为独立拖拽带
- 给树内容右侧预留缓冲区,避免拖宽时误点连接、库或表
- 拖拽期间锁定光标并禁用选中,提升拖动稳定性
- 保持原有宽度边界和拖拽反馈不变
2026-05-09 11:31:15 +08:00
Syngnat
8d8366c190 🐛 fix(query-editor): 修复 Oracle 星号查询定位列别名非法
- Oracle `SELECT *` 改写时使用合法源表别名 `gonavi_query_source`
- 让自动注入的 `ROWID` 绑定到源表别名,避免 `ORA-00911`
- 保留显式字段查询的 `ROWID` 追加逻辑
- 新增回归测试覆盖 `SELECT * FROM EDC_LOG` 的执行 SQL
- 校验生成 SQL 不再包含非法自动别名
2026-05-09 11:11:40 +08:00
Syngnat
faef619413 🐛 fix(mac-window): 修复查询替换框在 macOS 无法关闭
- 放行编辑器和输入控件内的 Escape 按键事件

- 保留 macOS 原生全屏下普通区域的 Escape 抑制逻辑

- 补充 Mac 窗口快捷键回归测试

Refs #433
2026-05-08 23:00:23 +08:00
Syngnat
0c2b112234 🐛 fix(duckdb): 修复 Windows 扩展下载平台不匹配问题
- 改用官方 duckdb.dll 动态库构建 Windows DuckDB driver-agent

- 安装、总包和本地导入流程同步携带运行时依赖

- 更新 DuckDB driver-agent revision 并补充安装链路测试

Refs #430
2026-05-08 22:50:03 +08:00
Syngnat
ff0661d285 🐛 fix(sqlserver): 修复新建数据库语法兼容问题
Refs #438

- SQL Server 创建数据库改用方言标识符

- 补齐 mssql/sql_server 别名归一

- 增加回归测试
2026-05-08 21:41:01 +08:00
Syngnat
5052c7fa6f 🐛 fix(doris): 修复数据库重命名与字段变更预览
Refs #439
- Doris 重命名数据库改走原生 ALTER DATABASE RENAME
- Doris 字段/注释预览改为兼容语法,移除 AFTER/FIRST 和无效 NONE
- 补充相关回归测试
2026-05-08 21:24:47 +08:00