Syngnat
|
fee703e879
|
🐛 fix(sqlserver): 修复消息循环缺失时吞掉查询结果
- 在 SQL Server 消息循环未产出结果集时兜底扫描 rows
- 保留 SELECT 返回的行数据和空结果列元数据
- 补充 SQL Server fallback 扫描回归测试
|
2026-06-28 16:41:12 +08:00 |
|
Syngnat
|
038ecc8b70
|
🐛 fix(export): 兼容换行 SELECT 查询导出
- SELECT/WITH 只读判断支持关键字后换行
- 覆盖多表 JOIN 查询结果导出场景
Fixes #583
|
2026-06-27 16:41:35 +08:00 |
|
Syngnat
|
2d73bcc6de
|
🐛 fix(query-editor): 跳过TDengine托管事务
Fixes #592
|
2026-06-27 10:41:28 +08:00 |
|
Syngnat
|
9ab31a7614
|
🐛 fix(oracle): 修复存储过程斜杠分隔执行截断
- 支持 SQL*Plus 斜杠分隔符后的可选分号,避免 Oracle 过程执行出空语句
- 光标落在过程异常尾部或斜杠分隔行时,仍选择完整 PL/SQL 定义执行
- 补充前端语句选择、QueryEditor 执行和后端 split/DBQueryMulti 回归测试
|
2026-06-25 17:37:32 +08:00 |
|
Syngnat
|
f6556f25d5
|
🐛 fix(oracle): 修复过程CASE分割导致执行截断
|
2026-06-25 13:52:20 +08:00 |
|
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
|
37ccaf7743
|
🐛 fix(oracle): 修复存储包定义截断与斜杠误执行
- 对象树支持序列和存储包双击及右键查看定义
- Oracle package 同时读取 PACKAGE 与 PACKAGE BODY 并生成可编辑 SQL
- SQL 拆分器跳过 SQL*Plus 独立斜杠和注释分隔符
- 补充前后端 PL/SQL 拆分与定义查看回归测试
|
2026-06-25 10:12:28 +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
|
1a9d417c0a
|
🐛 fix(query-editor): 修复过程脚本斜杠分隔符误执行
- 前端语句选择跳过独立 SQL*Plus 斜杠分隔符
- 后端 SQL 拆分和流式文件执行保持过程体完整
- 增加 Oracle 过程脚本执行回归测试
|
2026-06-24 21:10:59 +08:00 |
|
Syngnat
|
2fb4851d1f
|
🐛 fix(query-editor): 补齐SQL Server冗余结果集过滤
- 为 SQL Server 原生多结果集缺失 statementIndex 的场景补齐结果归属
- 修复单条 SELECT 查询尾随 affectedRows 结果被误渲染为额外结果页签的问题
- 补充前后端回归测试并保持存储过程多结果集展示不变
|
2026-06-24 13:58:12 +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
|
d2c4160c6d
|
🐛 fix(query-editor): 修复挂起事务内查询结果不一致
|
2026-06-24 11:37:34 +08:00 |
|
tianqijiuyun-latiao
|
c04d82ee30
|
Merge remote-tracking branch 'origin/dev' into feature/20260602_connection_driver_i18n
# Conflicts:
# frontend/src/components/QueryEditor.results-and-drop.test.tsx
|
2026-06-23 23:58:25 +08:00 |
|
tianqijiuyun-latiao
|
86c39ac36f
|
Merge branch 'dev' into feature/20260602_connection_driver_i18n
|
2026-06-23 23:34:16 +08:00 |
|
Syngnat
|
6bf05c9ed7
|
🐛 fix(update): 修复桌面端更新安装与重启流程
- macOS 下载完成后改为直接走安装更新链路,不再只打开安装目录
- Windows 更新脚本在重启时显式带上目标工作目录,提升安装后拉起稳定性
- 删除失效的 winget 发布工作流,并补充前端与脚本回归测试
Fixes #585
|
2026-06-23 22:18:07 +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
|
52d193b2e8
|
fix(i18n): 收口 dev 合并后的驱动与 QueryEditor 本地化
|
2026-06-23 14:04:25 +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
|
e8cad189be
|
🐛 fix(sqlserver): 修复普通查询结果被原生多结果集吃空
- 对只读 SQL 的原生多结果集空返回增加顺序回退兜底
- 避免 optional driver-agent 成功返回空结果时前端只剩日志无结果集
- 补充 SQLServer 读查询空结果回退回归测试
|
2026-06-23 09:46:44 +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
|
f282da3bcb
|
feat(i18n): 收口多语言功能业务代码
|
2026-06-22 15:12:42 +08:00 |
|
tianqijiuyun-latiao
|
d13c153f5e
|
✨ feat(i18n): 收口数据库驱动多语言代码
- 提交 internal/db 多驱动用户可见错误与状态文案多语言化
- 补齐数据库驱动多语言测试与六语言 catalog
- 修复 frontend i18n catalog 的 4 个失效 guard
|
2026-06-22 10:09:45 +08:00 |
|
Syngnat
|
4999fd544d
|
🐛 fix(data-sync): 完善多种目标库的 schema 同步链路
- 扩展数据同步目标端 schema 选择与元数据加载,覆盖 SQL Server、IRIS、DuckDB 等独立 schema 场景
- 修正同步链路中的目标表 schema 归一化与 query/apply 表名解析,避免落到错误模式
- 补充前后端回归测试与多语言文案,覆盖 schema 选择、别名识别和结果预览路径
Fixes #571
|
2026-06-21 22:46:57 +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
|
04019135a0
|
🐛 fix(sql-diagnose): 兼容新版 MySQL JSON EXPLAIN 解析
- 兼容 query_plan 包装和新版 JSON V2 执行计划结构
- 补齐 covering index、table scan 等节点类型与统计归一化
- 增加新版 MySQL EXPLAIN 解析测试并修正 TotalCost 汇总逻辑
|
2026-06-20 14:08:02 +08:00 |
|
Syngnat
|
e7935db84b
|
✨ feat(db-connection): 新增连接后台定时探活保活能力
- 为连接配置新增 keepAlive 开关与探活间隔
- 在后端缓存连接上增加后台定时 Ping 调度与失效剔除
- 补充前端表单、Wails 模型映射与定向测试覆盖
Close #579
|
2026-06-20 11:24:44 +08:00 |
|
Syngnat
|
0f67305100
|
♻️ refactor(codebase): 拆分大文件并收敛模块职责
- 拆分 ConnectionModal、DataGrid、QueryEditor、App 等前端大文件
- 抽出 driver assets、v2 workbench 样式和 source-as-test 读取辅助
- 更新相关测试以覆盖拆分后的源码位置
|
2026-06-19 23:10:00 +08:00 |
|
Syngnat
|
a2d83744b5
|
✨ feat(explain): 扩展索引建议规则引擎至 15 条
- 新增规则:LIKE 前缀通配、函数包裹列、笛卡尔积风险、OR 条件无索引、大 OFFSET 分页、SELECT * + JOIN 模式
- 阈值常量:large_offset(10000)、cartesian_product(100000)、wide_table(20 列)
- 测试覆盖:新增 6 个用例验证规则触发与抑制(含边界场景)
|
2026-06-19 13:43:01 +08:00 |
|
Syngnat
|
a74065bdbb
|
✨ feat(explain): 新增慢 SQL 历史存储与 DBQueryMulti 执行埋点
- 存储层:JSONL 单连接单文件,5MB 自动滚动,TopN 排序 + SQL 指纹去重
- 执行埋点:DBQueryMulti 用 named return + defer 异步记录,成功后自动写入历史
- 阈值过滤:默认 500ms 以下查询跳过记录,避免历史爆炸
- 查询入口:GetSlowQueries 按 duration/rowsRead/recent 排序,ClearSlowQueries 支持清空
- SQL 指纹:字面量/大小写归一化后 sha256,同模板不同参数视为同一查询
- 测试覆盖:新增 13 个单元测试覆盖存储/滚动/排序/去重/指纹
|
2026-06-19 13:17:39 +08:00 |
|
Syngnat
|
8e24e40fdd
|
✨ feat(explain): 补齐 Oracle/SQLServer/ClickHouse 解析器与索引建议规则引擎
- 方言解析:新增 Oracle DBMS_XPLAN 表格、SQLServer SHOWPLAN_XML、ClickHouse EXPLAIN JSON 解析器
- 规则引擎:新增 10 条跨方言规则(全表扫描、缺索引 JOIN、filesort、估算偏差、缓冲命中、Nested Loop 高扇出等)
- 入口接入:DiagnoseQuery 返回的 Suggestions 自动填充规则匹配结果
- 容错增强:SQLServer strip 默认命名空间与 XML 声明;Oracle 表格列与独立 Predicate 段双源融合
- 测试覆盖:新增 27 个用例覆盖三方言解析与规则触发场景
|
2026-06-19 12:45:15 +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
|
06dd9507ee
|
✨ feat(ai): 补齐 Cursor 与 CodeBuddy 会话态聊天链路
- 新增 SessionChatProvider 接口,补齐非流式对话的会话态复用能力
- 为 Cursor Agent 和 CodeBuddy CLI 同步实现流式与非流式会话续接及状态持久化
- CustomProvider 补充会话态透传,统一 custom provider 的会话复用行为
- Service 新增 AIChatSendInSession,聊天主链路非流式回退改走带 session 的发送接口
- 保留原 AIChatSend 无状态语义,避免标题生成和记忆压缩污染主会话上下文
- 补充前后端定向测试,覆盖会话恢复、续接发送和前端回退分流
|
2026-06-18 13:35:08 +08:00 |
|
Syngnat
|
b588235b62
|
✨ feat(ai): 接入 Cursor Cloud Agents API
- 新增 cursor-agent provider,支持创建 agent、轮询 run 状态和 SSE 流式响应
- 接入 AITestProvider 与 AIListModels,支持 Cursor 官方 /v1/models 连通性测试和模型发现
- 在 AI 设置中新增 Cursor 供应商预设,固定 cursor-agent 协议并补齐默认端点配置
- 调整 provider readiness 与 insights 规则,允许 Cursor 未显式选模型时走官方默认模型
- 补充后端 provider/service 测试和前端 preset、表单、readiness 相关用例
Close #576
|
2026-06-18 12:35:58 +08:00 |
|
Syngnat
|
f457f6aaca
|
✨ feat(ai): 接入 CodeBuddy CLI 并兼容官方登录态
- 新增 CodeBuddy CLI provider,支持 codebuddy/cbc 命令调用与输出解析
- 将 Base URL、API Key/Auth Token、自定义请求头映射到 CodeBuddy CLI 环境变量
- 扩展 custom provider 路由与测试链路,兼容空 Base URL 和 CLI 默认模型选择
- AI 设置新增 CodeBuddy 预设,并补齐 preset 回显识别与匹配逻辑
- 修正就绪态、模型列表与表单校验,允许留空凭证直接复用本机已登录账号
- 补充前后端定向测试并覆盖 CodeBuddy 配置展示文案
Close #574
|
2026-06-18 12:06:58 +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 |
|