Commit Graph

58 Commits

Author SHA1 Message Date
t8y2 01c4b744ef fix(updater): show real app version and release notes 2026-05-12 15:15:46 +08:00
t8y2 c8d4a04a31 test(sidebar): align flat tree buffer expectation 2026-05-12 14:53:22 +08:00
t8y2 368fa5a102 feat(redis): add bulk operations and command runner 2026-05-12 13:38:43 +08:00
runstone 3652db8fa3 feat(connection): 为不同数据库类型展示各自对应的 connection URL placeholder
## 修改内容
- 新增 connectionUrlPlaceholder 纯函数于 connectionPresentation.ts,根据 db_type 返回对应 URL 格式
- ConnectionDialog.vue 中引用该函数替换原有统一的 i18n placeholder
- 新增 20 个单元测试覆盖所有数据库类型及边界场景
2026-05-12 10:21:19 +08:00
t8y2 8cf0f612d4 fix(tree): Modify the `shouldVirtualizeFlatTree` function to support virtualization for non-empty trees. 2026-05-12 01:12:18 +08:00
Abeautifulsnow dddb813fc6
refactor(grid): 提取 cellValue 格式化到共享模块并增加测试 (#218)
将 CellValue 类型和 displayCellValue(原 formatCell)提取到
src/lib/cellValue.ts,DataGrid.vue 和 useDataGridExport.ts 统一引用,
移除 composable 中冗余的 formatCell 参数传递。
2026-05-11 18:56:08 +08:00
t8y2 e4c1d6639b fix(sidebar): 保持表列表滚动显示 2026-05-11 17:15:36 +08:00
t8y2 cab0e79dad fix(oracle): 修复表数据加载与编辑 2026-05-11 16:35:59 +08:00
t8y2 7197f83eda perf(sidebar): fix UI lag with 100+ databases (closes #201)
- Lower virtual scrolling threshold from 400 to 100 nodes so
  RecycleScroller activates earlier with many databases
- Memoize getConfig() with a computed Map to avoid O(n) linear
  search on every TreeItem computed property evaluation
2026-05-11 13:08:57 +08:00
t8y2 cb70625bd8 fix(objects): save SQL Server object source definitions 2026-05-11 12:17:18 +08:00
t8y2 03bea705e7 feat(objects): edit database object source 2026-05-11 11:48:46 +08:00
t8y2 f588e03a6b fix(sidebar): require double click to open object browser 2026-05-11 11:03:18 +08:00
t8y2 e03ce491af feat(ai): add guarded SQL auto execution 2026-05-11 02:27:56 +08:00
t8y2 9355fa7e93 fix(sidebar): 修复侧边栏树状态显示 2026-05-11 02:16:36 +08:00
t8y2 c43ab681cd test: add backend API contract coverage 2026-05-10 22:34:37 +08:00
t8y2 6addbea72d test: 接入前端测试脚本 2026-05-10 22:32:01 +08:00
t8y2 8664cc5b48 feat(grid): add clipboard shortcuts 2026-05-10 10:22:17 +08:00
t8y2 97b77ec46d feat(diff): add data compare and schema sync coverage 2026-05-09 23:44:49 +08:00
t8y2 a878ec203a feat(data): support connection URLs and XLSX export 2026-05-09 23:11:15 +08:00
t8y2 bd58ab6312 fix(query): persist unsaved query tabs 2026-05-09 22:50:06 +08:00
t8y2 afb177db85 fix(connection): hide system database objects 2026-05-09 19:50:28 +08:00
t8y2 1fd1cb10eb perf(sidebar): 优化侧边栏搜索匹配性能 2026-05-09 17:36:09 +08:00
t8y2 6a5dd3b51b feat(sidebar): create connections from group menu 2026-05-09 16:27:25 +08:00
Bacon2994 ce2f97a175
fix(sidebar): 修复默认库过滤数据库树 (#175) 2026-05-09 14:42:24 +08:00
t8y2 94927faa4c feat: add CROSS APPLY / OUTER APPLY support for SQL Server completion (#168) 2026-05-09 12:14:42 +08:00
Bacon2994 3b4b6c1ff7
fix(query): 修复查询结果表头提示与全量排序 (#164)
* fix(grid): 修复查询结果表头提示与排序

修复 MySQL 查询结果列元数据取错库名的问题,并补齐查询结果全量排序链路,避免表头提示与排序行为失效。

* fix(query): 修复结果排序重复列名报错
2026-05-08 18:31:09 +08:00
Bacon2994 0fb6aebd59 feat(redis): 修复全库键浏览与二进制展示 2026-05-08 10:06:16 +08:00
t8y2 aefb6bf0ef fix: prevent SELECT with REPLACE/TRUNCATE functions from triggering danger warning
The DANGER_RE regex matched keywords anywhere in the SQL text, causing
SELECT queries using REPLACE() or TRUNCATE() functions to incorrectly
trigger the destructive-SQL warning dialog. Check only the first keyword
of each semicolon-separated statement instead.

Also fix dialog content overflow by adding min-w-0 to the <pre> element,
and move macOS frameworks config from tauri.conf.json to CI-only
TAURI_CONFIG so local `tauri dev` no longer requires libltdl/libodbc
to be globally installed.

Closes #135
2026-05-07 19:07:41 +08:00
Bacon2994 f9d6edb136 feat(connection): 支持设置默认数据库
统一新建查询的默认数据库选择逻辑,减少重复手动选择。
2026-05-07 16:49:56 +08:00
t8y2 790791f946 feat: add execute mode settings and cursor position handling in SQL editor 2026-05-04 21:19:07 +08:00
t8y2 bc7f521604 feat: add connection group management and sidebar layout persistence 2026-05-04 13:52:42 +08:00
skyler 1818cd3b78
Merge pull request #78 from SuLea-IT/codex/issue-76-database-search
[codex] Add database-wide search
2026-05-04 12:05:37 +08:00
SuLea-IT 5534b13fde feat: add database-wide search 2026-05-04 12:01:19 +08:00
SuLea-IT 8bd1d4c2a8 feat: improve connection and table tree UX 2026-05-04 11:49:28 +08:00
yavon007 a59494e4c4 fix: guard index column splits, restrict INCLUDE/WHERE by db, unify index type dropdowns
- Filter empty strings from STRING_AGG/LISTAGG splits in SQL Server, Oracle, MySQL
- Emit INCLUDE clause only for PostgreSQL and SQL Server (not MySQL/SQLite)
- Emit WHERE clause only for PostgreSQL, SQL Server, SQLite (not MySQL)
- Replace index type free-text input with dropdown for all 5 database types
- Fix hardcoded column count in resize handle (use indexColLabels.length - 1)
- Fix pg_get_indexdef type mismatch: cast k.n from bigint to integer
2026-05-03 20:33:09 +08:00
yavon007 25f2f46718 fix: correct PostgreSQL numeric_scale formula and add index SQL test coverage
The numeric_scale extraction used (& 2047) - 1024 which produces negative
values; fixed to & 65535. Added 12 tests for index SQL generation: INCLUDE,
USING, WHERE, COMMENT ON INDEX, type prefix, and combined scenarios.
2026-05-03 20:11:44 +08:00
yavon007 4e1b35186b feat: add index type, included columns, filter, and comment support
- Add filter, index_type, included_columns, and comment fields to IndexInfo
- PostgreSQL: query pg_am for index type, use indnkeyatts to split key/included columns, retrieve index comments via obj_description()
- SQL Server: add type_desc, filter_definition, included columns via is_included_column
- MySQL: add INDEX_TYPE from information_schema.STATISTICS
- Oracle: add INDEX_TYPE from ALL_INDEXES
- DDL generation: add USING (PostgreSQL), type prefix + INCLUDE + WHERE (SQL Server), COMMENT ON INDEX (PostgreSQL)
- Frontend: update types, state mapping, SQL generation, and i18n translations
2026-05-03 20:10:35 +08:00
t8y2 a66cffb692 feat: add configuration export/import with passphrase encryption 2026-05-03 12:46:49 +08:00
SuLea-IT 4d6cd5351c fix: address lineage review feedback 2026-05-03 06:02:39 +08:00
SuLea-IT 5a37f584aa feat: add field lineage viewer 2026-05-03 05:39:05 +08:00
t8y2 0fdd0c1f9b feat: enhance SQL completion suggestions for JOINs and comma-separated tables 2026-05-03 00:00:23 +08:00
SuLea-IT d180539778 feat: add explain plan viewer 2026-05-02 21:00:53 +08:00
SuLea-IT f09d1b0973 feat: add table structure editor 2026-05-02 19:40:40 +08:00
SuLea-IT 2ebd72b3b7 feat: import table data from files 2026-05-02 19:04:41 +08:00
skyler 1fe40b7a09
Merge pull request #54 from SuLea-IT/codex/grid-row-change-filter
[codex] refine grid row change indicators
2026-05-02 17:07:29 +08:00
SuLe 747784ffe0 refine grid row change indicators 2026-05-02 17:03:54 +08:00
SuLe 5d48b2a76f Add database SQL export action 2026-05-02 16:41:29 +08:00
skyler 4efd7c2517
Merge pull request #55 from SuLea-IT/codex/issue-51-sql-table-ux
[codex] Fix SQL editor and table query UX
2026-05-02 16:28:52 +08:00
SuLe 39a257753b Fix SQL editor and table query UX 2026-05-02 13:49:46 +08:00
SuLe b6f89f02fb add database relationship diagrams 2026-05-02 13:09:53 +08:00