Files
MyGoNavi/frontend
Syngnat c5e25d2ff5 🐛 fix(sql-error): 锁等待超时不再被误判为查询超时并给出无效建议
MySQL 报 Error 1205 (HY000): Lock wait timeout exceeded 时,界面归类为「查询超时或被取消」,
建议「检查 SQL 执行计划、过滤条件和索引,必要时缩小查询范围或调整超时时间」——
这套建议对行锁等待完全无效:成因是另一个事务持锁,调大超时只会让用户等更久。

根因:timeout_or_canceled 规则里有一条过宽的 /timeout/i,而 findSqlErrorSemantic 取首个
命中的规则,于是把锁等待超时也吞成了查询超时。

- 新增 lock_contention 规则并排在 timeout_or_canceled 之前,覆盖各方言的锁竞争与死锁:
  MySQL 1205/1213、PostgreSQL deadlock detected 与 lock timeout、
  SQL Server 1222/1205、Oracle ORA-00060/00054/30006、SQLite database is locked
- 文案改为指向真正的处置动作:先提交或回滚未完成的事务(含本应用 SQL 编辑器里自己未提交的
  事务)再重试,并明确说明调大查询超时无效
- 6 个语言补齐 label/explanation/suggestion
- 补 4 项测试:1205 不再归类为超时、建议不再提"调整超时"、各方言锁竞争均被识别、
  普通查询超时不被新规则误吞。已确认清空新规则的 patterns 后 3 项必定失败,
  且失败信息正好复现原缺陷
2026-07-26 22:17:04 +08:00
..

Lite DB Client

一个基于 Electron、React 和 Ant Design 构建的轻量级 MySQL 数据库客户端。

功能特性

  • 连接管理: 轻松创建和保存 MySQL 数据库连接。
  • 结构浏览: 通过树形视图快速查看数据库和表结构。
  • 数据查看: 双击表名即可查看数据(支持分页/滚动加载)。
  • SQL 编辑器: 集成 Monaco Editor提供强大的 SQL 编写和执行体验(支持语法高亮)。
  • 多标签页: 支持多窗口并行操作,类似 Navicat 的使用体验。

🛠️ 技术栈

  • Electron: 桌面端运行环境。
  • React + Vite: 前端框架与极速构建工具。
  • Ant Design: 企业级 UI 组件库。
  • Zustand: 轻量级状态管理。
  • MySQL2: 高性能 Node.js MySQL 驱动。
  • Monaco Editor: VS Code 同款代码编辑器。

🚀 快速开始

  1. 安装依赖

    npm install
    
  2. 启动开发模式

    npm run electron:dev
    

    这将启动 Vite 开发服务器并打开 Electron 窗口。

  3. 构建生产版本

    npm run build
    

    构建完成的安装包dmg/exe/deb将位于 dist/release/ 目录下。

⚠️ 说明

  • 本项目目前处于 MVP (最小可行性产品) 阶段。
  • 当前版本主要支持 MySQL 数据库。
  • 密码目前保存在内存/本地存储中,请注意在生产环境中的安全性。

希望这款轻量级工具能成为你开发路上的好帮手!