Commit Graph
751 Commits
Author SHA1 Message Date
Abeautifulsnow 919c3d58c1 feat(redis): add key statistics tracking for database browser (#269)
## 背景说明
为 Redis 数据库浏览器增加键统计功能,显示已加载 key 数/总 key 数,
并在动态加载、删除、清空时实时更新。

## 修改内容
- 新增 \RedisDatabaseInfo\ 结构体(db + keys),替代原来的 \Vec<u32>\
- \list_databases\ 返回每个 db 的 key 数量(解析 INFO keyspace)
- \scan_keys_page\ 增加 DBSIZE 调用获取 total_keys
- 前端 TreeNode 增加 loadedKeyCount/totalKeyCount 字段
- 树节点标签动态显示 \db0 (loaded/total)\ 格式
- 新增 \updateRedisDbKeyStats\ 在加载/删除/清空时更新统计

## 测试
- 建议补充 list_keyspace_databases 解析异常输入的单测
- 建议补充 redisDbLabel 边界值测试
2026-05-14 16:24:46 +08:00
t8y2 7faa9ec818 fix(mongo): complete agent fallback for all connection paths
- Fix connect_db and test_connection to also fallback to agent when
  native driver fails with wire version error
- Route MongoDB agent through mongo_ops in schema.rs list_databases
- Update MongoDB legacy hint text to mention Driver Manager
2026-05-14 16:16:33 +08:00
t8y2 1e8ce6673f fix(postgres): use pg_catalog instead of information_schema for table/schema listing
information_schema views apply permission filtering that causes empty
results on openGauss/GaussDB for non-owner users. Switching to pg_catalog
(pg_class + pg_namespace) matches the behavior of Navicat and DataGrip.
2026-05-14 15:14:07 +08:00
t8y2 a0bcb1d889 feat(mongo): fallback to agent driver for pre-4.2 MongoDB
When native Rust MongoDB driver fails with wire version error,
automatically fall back to the Java agent driver which supports
older MongoDB versions. All mongo_ops route through agent RPC
when the connection pool is Agent-backed.
2026-05-14 15:04:02 +08:00
t8y2 88ad579a27 feat(mongo): add filter/sort support and fix table view editing
- Add filter and sort parameters to MongoDB find_documents across the
  full stack (driver, ops, tauri cmd, web routes, frontend API)
- Add find/sort input bar to MongoDocBrowser table view via DataGrid
  search-bar slot, matching WHERE/ORDER BY positioning
- Fix table view editing: allow cell editing when customSave is provided
  (bypasses primary key requirement for MongoDB)
- Fix replace_one WriteError 66 by removing _id from replacement doc
- Align action buttons (refresh, add row, commit) to the right in grid
2026-05-14 14:43:26 +08:00
t8y2 12fec968fe fix(grid): remove WHERE and ORDER BY input placeholders 2026-05-14 14:05:22 +08:00
t8y2 04e6e03d38 docs(readme): rename WeChat to 微信群 and open community links in new tab 2026-05-14 12:18:34 +08:00
t8y2 527bcab245 docs(readme): add WeChat group badge to community section 2026-05-14 12:16:01 +08:00
t8y2 7e4274094d fix(updates): delay first update check by 10s after startup
Prevents the update checker from blocking UI rendering on startup,
especially for users with slow GitHub connectivity.
2026-05-14 12:02:20 +08:00
t8y2 b3bcb82586 feat(dependencies): add iana-time-zone to Cargo.lock 2026-05-14 11:46:31 +08:00
t8y2 081a356832 feat(plugins): support local JDBC plugin installation
Add a "local install" button that lets users install the JDBC plugin
from a local zip file when online download fails (e.g. draft release).
2026-05-14 11:42:21 +08:00
t8y2 3c0d0fbad9 fix(postgres): sync client timezone on connect
Set PostgreSQL session timezone to the client's local timezone via
after_connect, matching Navicat's behavior. (closes #262)
2026-05-14 11:34:27 +08:00
t8y2 51ee08a578 feat(completion): add MySQL JSON functions and common built-in functions
Add JSON_EXTRACT, JSON_SET, JSON_CONTAINS and other MySQL JSON functions,
plus common string, date, math, and crypto functions. (closes #263)
2026-05-14 11:22:53 +08:00
t8y2 abd3450814 feat(connection): make driver manager link clickable in install hint v0.5.6 2026-05-14 11:03:12 +08:00
t8y2 e61efdea12 fix(i18n): translate backend error messages in connection failure toasts 2026-05-14 11:00:52 +08:00
t8y2 43bd3a9ef8 feat(drivers): add upgrade all drivers button
Add a batch upgrade command that sequentially updates all drivers with
available updates, with per-driver progress tracking in the UI.
2026-05-14 10:58:47 +08:00
t8y2 56f04dc8d4 chore: bump version to 0.5.6 2026-05-14 02:26:28 +08:00
yavon007 eefa054778 perf(redis): speed up key browser scans (#256) 2026-05-14 02:21:53 +08:00
t8y2 433297e549 fix(connection): hide installed driver hint 2026-05-14 01:10:01 +08:00
t8y2 05effc8edf fix(informix): 支持表格直接编辑 2026-05-14 01:05:01 +08:00
t8y2 ce69af1de0 feat(updates): add hourly update badge 2026-05-13 23:47:20 +08:00
t8y2 3d7b149e53 feat(agents): support system Java runtime 2026-05-13 23:30:55 +08:00
t8y2 530cfa0b7c fix(grid): reserve header control width 2026-05-13 23:29:49 +08:00
t8y2 5832e1b194 refactor(frontend): centralize database feature capabilities 2026-05-13 22:14:33 +08:00
t8y2 298f57c160 refactor(core): centralize database capabilities 2026-05-13 22:14:21 +08:00
t8y2 8021990495 fix: add CSS containment to TreeItem to reduce virtual list flicker 2026-05-13 22:12:54 +08:00
t8y2 deca7dbb41 feat(grid): add draggable resize for transpose panel 2026-05-13 22:09:39 +08:00
t8y2 8d5c096895 fix(grid): keep row position after commit and preserve dirty cell color
- Don't reload data after committing edits, merge dirty data in place
- Preserve dirty cell yellow highlight when row/cell is selected
- Use original row data for search filtering to prevent row shifting
2026-05-13 22:02:14 +08:00
t8y2 e92f1ccdf5 feat(grid): replace toolbar search with Ctrl+F floating overlay
- Remove always-visible search box from toolbar
- Add floating search overlay triggered by Ctrl+F/Cmd+F
- Highlight matching cells in yellow, current match with ring
- Navigate matches with Enter/Shift+Enter
- Show match count (e.g. 1/5) in overlay
- Escape closes overlay and clears search
- Color WHERE label blue and ORDER BY label orange
2026-05-13 21:41:26 +08:00
t8y2 1eb5b89c17 fix: recognize DM/Dameng connections on Navicat import
Closes #254
2026-05-13 21:04:26 +08:00
t8y2 3803a20d9e fix(h2): add H2 to TREE_SCHEMA_TYPES for correct sidebar structure
H2 uses schemas (PUBLIC) so the sidebar needs the schema layer to
generate correct qualified table names in SQL queries.
2026-05-13 20:56:01 +08:00
t8y2 7f19a0376a fix(trino): support schema-aware table browsing and inserts 2026-05-13 20:46:27 +08:00
t8y2 2ba97869a1 fix(hive): gate row edits by transactional support 2026-05-13 20:17:15 +08:00
t8y2 ea6b2bb36c fix(hive): allow non-transactional grid edits 2026-05-13 20:04:42 +08:00
t8y2 3eb00b7fe2 fix(hive): quote table queries with backticks 2026-05-13 19:55:48 +08:00
t8y2 f3093ab91f fix(agent): tolerate non-utf8 driver output 2026-05-13 19:39:31 +08:00
t8y2 0172ee50be fix(neo4j): support table querying and editing 2026-05-13 19:30:00 +08:00
t8y2 2f4c50dc1e fix(mongo): refresh JSON viewer after document edit
The right-side JSON viewer was not updating after saving edits because
editJson was stale — only load() was called, which updates the document
list but not the displayed JSON preview.
2026-05-13 19:08:22 +08:00
t8y2 1937ee9fd3 feat(mcp): add bridge data endpoints for all database types
Add /data/list-tables, /data/describe-table, /data/execute-query
bridge endpoints so the MCP server can delegate queries for non-PG/MySQL
database types (Oracle, H2, Trino, Hive, Neo4j, Cassandra, etc.)
through the DBX desktop app. Direct PG/MySQL connections remain
unchanged. Bump MCP server version to 0.3.0.
2026-05-13 18:45:02 +08:00
skyler a4ad5cd08b Merge pull request #252 from Abeautifulsnow/feat/grid-export-selected-rows
feat(grid): add export selected rows and batch restore
2026-05-13 18:35:17 +08:00
t8y2 cb00b27963 fix(sidebar): refresh grouped object nodes 2026-05-13 18:12:55 +08:00
runstone 2b29780c76 feat(grid): add export selected rows and batch restore
## 背景说明
恢复导出选中行的功能,并新增批量恢复行功能。用户现在可以在多行选中时,
通过右键菜单或工具栏导出选中的行,同时支持批量恢复已删除的行。

## 修改内容
- exportCsv/exportJson/exportMarkdown/exportXlsx 支持可选 rowIds 参数
- 新增 rowsToExport 辅助函数,根据 rowIds 筛选要导出的行
- 右键菜单和工具栏新增"导出选中行"选项(CSV/XLSX/JSON/Markdown)
- 新增 restoreRows 函数支持批量恢复已删除行
- 更新上下文菜单中恢复行的文案,支持单数/复数切换
- 补充 en/es/zh-CN 三语言国际化文案

## 测试
- 建议补充:导出函数传入特定 rowIds 的筛选逻辑测试
- 建议补充:批量恢复已删除行的单元测试
- 建议补充:多选时状态栏显示边界测试
2026-05-13 18:12:01 +08:00
t8y2 df574c78a5 fix(build): remove unused ODBC frameworks from macOS bundle v0.5.5 2026-05-13 17:52:26 +08:00
t8y2 e9158390c1 feat(shortcuts): add search focus shortcut 2026-05-13 17:51:20 +08:00
t8y2 42501cc8fb fix(grid): allow generated insert columns 2026-05-13 17:37:29 +08:00
t8y2 9dd184a26b fix(sqlserver): decode tinyint and datetime values 2026-05-13 17:33:30 +08:00
t8y2 692815fd45 chore: bump version to 0.5.5 2026-05-13 17:14:57 +08:00
t8y2 80f33b1460 fix(sql): add sql server completions 2026-05-13 17:11:33 +08:00
t8y2 02b257dd0f fix(history): classify and virtualize entries 2026-05-13 17:07:56 +08:00
t8y2 c28820ef48 fix: make result tabs scrollable when many queries executed (closes #245) 2026-05-13 16:45:06 +08:00