Commit Graph
66 Commits
Author SHA1 Message Date
t8y2 8021990495 fix: add CSS containment to TreeItem to reduce virtual list flicker 2026-05-13 22:12:54 +08:00
t8y2 0172ee50be fix(neo4j): support table querying and editing 2026-05-13 19:30:00 +08:00
t8y2 0881d4d966 feat: add toast feedback for connection operations
Add toast notifications for delete, disconnect, duplicate, copy name,
and delete group operations in the sidebar context menu.
2026-05-13 12:35:50 +08:00
t8y2 9ba2976d11 feat: export entire database as SQL file
Add a new "Export Database" feature accessible from the sidebar
right-click menu on database/schema nodes. Generates a .sql file
containing CREATE TABLE DDL, batched INSERT statements, and
view/procedure/function source code.

Backend (database_export.rs):
- Stream-writes SQL to file with configurable batch size
- Supports all SQL database types via existing DDL/INSERT generators
- Progress events with cancellation support
- Graceful error handling (continues on per-table failures)

Frontend (DatabaseExportDialog.vue):
- Connection/database/schema selector
- Checkboxes: structure, data, objects
- Real-time progress with current table and row count
- Cancel button

Wired up through Tauri commands, Web SSE routes, and API layer.
2026-05-13 01:08:16 +08:00
t8y2 908f2cfaa5 feat(sidebar): show tooltip on truncated names and enable horizontal scroll (closes #231)
Add a shadcn-vue Tooltip to tree nodes that only activates when the
label text is truncated. Enable horizontal scrolling on the sidebar
tree container for deeply nested long names.
2026-05-12 17:57:44 +08:00
t8y2 53a45330a6 feat(sidebar): group objects by type and add Object Browser context menus (#222)
Sidebar tree now groups database objects into Tables, Views, Procedures,
and Functions folders instead of a flat list. Empty groups are hidden
and each group shows its item count.

Object Browser rows now have right-click context menus with actions
like View Data, New Query, View Source, and Drop.
2026-05-12 14:33:52 +08:00
t8y2 cab0e79dad fix(oracle): 修复表数据加载与编辑 2026-05-11 16:35:59 +08:00
t8y2 f588e03a6b fix(sidebar): require double click to open object browser 2026-05-11 11:03:18 +08:00
t8y2 9355fa7e93 fix(sidebar): 修复侧边栏树状态显示 2026-05-11 02:16:36 +08:00
t8y2 14680238b8 feat: editor enhancements, DataGrid refactor, and sidebar improvements
- Add bracket auto-close and matching to SQL editor (closeBrackets, bracketMatching)
- Show truncation warning banner when query results exceed 10,000 rows
- Extract shared export format functions (CSV/JSON/SQL INSERT) to lib/exportFormats.ts
- Add progressive rendering to sidebar tree (50-node cap with "show more")
- Fix connection node expanding before connect succeeds
- Split DataGrid.vue (3177→2535 lines) into 4 composables:
  useDataGridExport, useDataGridColumnResize, useDataGridSelection, useDataGridEditor
2026-05-11 01:08:07 +08:00
t8y2 f456ddd979 perf: full-stack performance and security hardening
Frontend performance:
- Debounce DataGrid search (150ms) and replace O(n) row wrapping with index array
- Replace QueryStore deep watcher with targeted field-level persistence snapshot
- Extract shared nodeConfig computed in TreeItem (eliminates 15x redundant getConfig calls)
- Clear tab result data on close to free memory
- Add LRU eviction for completion caches (50 entry cap)
- Replace savedSql version string join with numeric counter

Memory leak fixes:
- Store Tauri event unlisten handles and clean up on unmount
- Clean up DataGrid search timer on unmount

Backend security & resource management:
- Add 50MB request body size limit
- Reject file uploads >100MB and SQL files >200MB
- Clean up SSE channels after transfer/import completes
- Recover from poisoned mutex instead of panicking
- Delete temporary upload files after preview
- Validate SQL file paths to prevent directory traversal
2026-05-11 00:18:09 +08:00
t8y2 741783445d feat: add XLSX export to table context menu
Add XLSX export option to the sidebar table name right-click menu,
unifying export capabilities with the data grid context menu. Also
add toast notifications for all sidebar data export operations.
2026-05-10 23:38:53 +08:00
t8y2 0e0195f734 feat(objects): add virtual object browser 2026-05-10 18:32:24 +08:00
t8y2 1cd358f3c1 fix(sidebar): allow collapsing search results 2026-05-10 14:43:49 +08:00
t8y2 3a6078e10c fix(sidebar): remove tinted row rounding 2026-05-10 10:32:58 +08:00
t8y2 ebc905a478 feat(ui): add layout preference 2026-05-10 10:11:55 +08:00
t8y2 0b376c234f feat(ui): add connection color tinting 2026-05-10 09:19:14 +08:00
t8y2 b013a2ac29 feat(sql): persist SQL library in app database 2026-05-10 00:41:17 +08:00
t8y2 cac383e6bf feat(sql): add saved SQL library 2026-05-10 00:33:25 +08:00
t8y2 97b77ec46d feat(diff): add data compare and schema sync coverage 2026-05-09 23:44:49 +08:00
t8y2 afb177db85 fix(connection): hide system database objects 2026-05-09 19:50:28 +08:00
t8y2 5c52560368 feat(schema): 增加数据库对象列表缓存 2026-05-09 17:36:20 +08:00
t8y2 6a5dd3b51b feat(sidebar): create connections from group menu 2026-05-09 16:27:25 +08:00
t8y2 b41e548911 fix(sidebar): preserve expanded tree on refresh 2026-05-09 16:22:00 +08:00
t8y2 0e6617c817 feat: support create/drop database and schema from sidebar context menu
Add context menu actions for creating and dropping databases and schemas
directly from the sidebar tree. Supports MySQL, PostgreSQL, SQL Server,
ClickHouse, Oracle, and other server-based databases.
2026-05-08 19:24:13 +08:00
t8y2 fd444eb080 feat: add duplicate connection context menu action
Closes #136
2026-05-07 18:42:41 +08:00
Bacon2994 f9d6edb136 feat(connection): 支持设置默认数据库
统一新建查询的默认数据库选择逻辑,减少重复手动选择。
2026-05-07 16:49:56 +08:00
t8y2 629bd02b0f refactor: centralize database type groups into databaseCapabilities.ts
Extract all inline database type checks (schema-aware, pagination style,
feature support sets, etc.) into a single source of truth. Adding a new
database type now requires updating only one file instead of 15+.
2026-05-07 02:36:50 +08:00
t8y2 b79e5b53bc feat: add GaussDB ODBC support and flatten connection list
- Add GaussDB/openGauss support via ODBC (resolves #106)
- Use pg_catalog queries instead of information_schema for compatibility
- Share ODBC environment across drivers with auto ODBCSYSINI detection
- Fix ODBC error message false positive on "Driver" keyword match
- Merge connection dialog categories into a single flat list
- Remove duplicate DDL button from data grid footer
2026-05-07 02:18:20 +08:00
t8y2 4bf4f3b77f feat: add DM (Dameng) database support via ODBC
Connect to DM8 databases using the odbc-api crate with unixODBC.
Includes schema browsing, query execution, DDL generation,
and full frontend integration with download link to DM ODBC driver.
2026-05-07 01:02:56 +08:00
t8y2 6523d1b3f6 feat(sidebar): add table management context menu operations (#114)
Add create, drop, empty, truncate, and duplicate structure operations
to the sidebar table right-click menu. Also extends the table structure
editor to support create mode from the database/schema context menu.
2026-05-06 21:21:08 +08:00
Wu Clan cc70e4b59c feat: optimize connection error alerts 2026-05-05 17:07:58 +08:00
t8y2 3acd9280ac chore: add oxfmt + husky + lint-staged for code formatting and CI format checks 2026-05-05 15:41:34 +08:00
t8y2 41bceffc0e feat: add web deployment with axum server, Docker support, and browser UI
Introduce src-web (axum HTTP server) exposing all 43 database operations
as REST APIs with SSE streaming for AI, transfers, and SQL file execution.
Frontend adapts automatically between Tauri and HTTP backends via api.ts.
Includes password authentication, Docker packaging, and login page.
2026-05-05 03:16:50 +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
SuLea-IT 5a37f584aa feat: add field lineage viewer 2026-05-03 05:39:05 +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
SuLe 5d48b2a76f Add database SQL export action 2026-05-02 16:41:29 +08:00
SuLe b6f89f02fb add database relationship diagrams 2026-05-02 13:09:53 +08:00
skyler 8b153bef0d Merge pull request #49 from SuLea-IT/codex/sql-file-execution
Add SQL file execution workflow
2026-05-02 09:47:33 +08:00
SuLe 2d49d523c5 gate sql file entry points 2026-05-02 05:34:02 +08:00
SuLe c33afc8cef wire sql file execution entry points 2026-05-02 05:28:28 +08:00
SuLe d14329ea15 store connection secrets in system keyring 2026-05-02 03:37:52 +08:00
t8y2 48921cf811 feat: add schema comparison functionality and localization support 2026-05-01 18:56:36 +08:00
t8y2 28428ee5c5 feat: add error handling and user feedback for connection toggle in TreeItem component 2026-05-01 10:11:27 +08:00
t8y2 90ec8c1306 feat: add data export functionality and version display in UI 2026-05-01 01:03:13 +08:00