Commit Graph
222 Commits
Author SHA1 Message Date
t8y2 85be58822e fix(oracle): Oracle 11g compatibility and sidebar improvements
- Rewrite FETCH FIRST to ROWNUM for Oracle 11g (no 12c+ syntax)
- Filter APEX_*, FLOWS_*, $-prefixed system schemas from sidebar
- Set schema prefix on table nodes for schema-aware databases
- Use all_objects instead of all_tables+all_views (4x faster)
- Disable statement cache to avoid stale cursor issues
- Update rust-oracle with streaming TTC, drain fixes
2026-05-08 18:54:24 +08:00
rarnu 8a249a2194 add: 在结果集中增加数据过滤的功能 (#163)
* add: 在结果集中增加数据过滤的功能

* 1. 提取 isResultsContext — 新增具名计算属性,替代魔法字符串 results,模板和逻辑中统一使用。

    2. wherePredicate 在 results 场景下短路 — 加了 canUseWhereSearch.value ? ... : undefined 守卫,避免在结果集界面无意义地调用 normalizeWhereInput()。在 results 上下文下:
       - wherePredicate → undefined
       - isWhereSearch → false(因为 canUseWhereSearch 为 false)
       - activeWhereInput → undefined
       - 搜索框 placeholder 切换为纯 search(由 canUseWhereSearch 控制,已存在)
       - 应用按钮隐藏(v-if=isWhereSearch,已存在)

    逻辑链现在是一致的:canUseWhereSearch === false 时,所有 where 相关功能(解析、建议、按钮、回车提交)全部失效
2026-05-08 18:33:59 +08:00
Bacon2994 3b4b6c1ff7 fix(query): 修复查询结果表头提示与全量排序 (#164)
* fix(grid): 修复查询结果表头提示与排序

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

* fix(query): 修复结果排序重复列名报错
2026-05-08 18:31:09 +08:00
t8y2 c036dd19e4 feat: support middle-click to close tabs (#162) 2026-05-08 17:19:31 +08:00
t8y2 92fe47b913 fix: pass SQL directly in AI execute to avoid stale state (#153)
When executing SQL from the AI panel, pass the SQL string directly to
tryExecute() instead of relying on the executableSql computed property,
which could use stale selectedSql or cursorPos values.
2026-05-08 16:45:01 +08:00
rarnu 47ad960bbb Fix: DataGrid数据集和工具栏的修复及加强 (#157)
* fix: 修复结果集内的数据过滤功能

* add: 将原先误删的WHERE查询加回

* add: 合并事务栏和搜索栏,并且在结果集中不启用搜索功能

* add: 修复在表数据和结果集模式下,DataGrid刷新时未保留查询条件的问题,将表数据和结果集的处理逻辑进行拆分

* add: 与主分支合并,解决冲突

* add: 恢复i18n

* add: 恢复useDataGridActions.ts

* add: 恢复ContentArea.vue

* add: 恢复DataGrid.vue

* fix: 修复括号自动配对的bug

* add: 将DDL按钮移到表数据编辑的第一行尾,并且不在DataGrid中显示
2026-05-08 16:04:21 +08:00
t8y2 68d8776e8f feat(mcp): notify desktop UI to reload after connection add/remove
Add /reload-connections bridge route that emits mcp-reload-connections
event, triggering the frontend to re-read connections from SQLite.
2026-05-08 12:44:16 +08:00
t8y2 b06d5ded04 fix(redis): align value viewer header height with key browser search bar 2026-05-08 11:49:03 +08:00
skyler de244a0b12 Merge pull request #149 from Bacon2994/codex/redis-rdm-consistency
feat(redis): 修复全库键浏览与二进制展示
2026-05-08 11:34:20 +08:00
t8y2 9fd16e3c1f perf(grid): pre-stringify JSON/JSONB values and truncate cell display
Serialize JSON/JSONB as strings in Postgres and MySQL drivers to avoid
repeated JSON.stringify in the render loop. Truncate cell display to
256 chars so the browser doesn't lay out huge text nodes on scroll.
2026-05-08 11:23:31 +08:00
t8y2 fdf65ac5e3 fix(grid): display JSONB values as JSON string in edit mode and detail panel (#152)
String() on objects produces [object Object]. Use JSON.stringify()
consistently wherever cell values are converted to strings.
2026-05-08 11:12:05 +08:00
Bacon2994 5d00dd583a style(i18n): 修正英文文案格式 2026-05-08 10:39:12 +08:00
Bacon2994 d6f5c25c17 fix(redis): 优化 UTF-8 展示与提示文案 2026-05-08 10:31:51 +08:00
Bacon2994 0fb6aebd59 feat(redis): 修复全库键浏览与二进制展示 2026-05-08 10:06:16 +08:00
t8y2 631db17a08 refactor: merge data table info bar and transaction toolbar into one row
Move refresh/commit/rollback buttons from DataGrid's internal toolbar
to ContentArea's table info header. Remove the redundant second row
and the column count display.
2026-05-07 23:48:51 +08:00
t8y2 52add6a503 fix: raise toast z-index above dialog overlay 2026-05-07 23:30:34 +08:00
t8y2 9206daf679 fix: allow text selection in DDL panel
Closes #143
2026-05-07 23:22:47 +08:00
rarnu 53c5c28542 fix: 修复结果集内的数据过滤功能 (#145) 2026-05-07 22:05:27 +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
t8y2 fd444eb080 feat: add duplicate connection context menu action
Closes #136
2026-05-07 18:42:41 +08:00
skyler cf25b7d6d4 Merge pull request #139 from rarnu/feat/edit-on-resultset
add: 增加对于查询得到的结果集直接进行数据编辑的功能
2026-05-07 17:44:48 +08:00
skyler db16bf5edd Merge pull request #140 from Bacon2994/codex/default-database
feat: 支持设置默认数据库
2026-05-07 17:41:51 +08:00
t8y2 4973912666 fix: bundle libodbc into macOS app and improve update UX
- Bundle libodbc.2.dylib into .app/Contents/Frameworks/ via Tauri's
  macOS frameworks config to fix "app can't be opened" on macOS
- Replace relaunch() with exit(0) to avoid Tauri restart bug (#11392)
- Lock update dialog during download and after install
- Render release notes as markdown
2026-05-07 17:36:44 +08:00
rarnu cacaf4d7a2 1. Rust 事务连接池问题 - 用 pool.acquire() 获取专用连接,所有语句在同一物理连接上执行
2. BEGIN 失败静默回退 - 直接返回错误,不再静默降级
    3. queryStore.ts - 清除了 25+ 条 console.log,合并了两个分支的重复逻辑
    4. DataGrid.vue - shouldUseTransaction() 改为 computed 属性 useTransaction
2026-05-07 16:55:32 +08:00
Bacon2994 f9d6edb136 feat(connection): 支持设置默认数据库
统一新建查询的默认数据库选择逻辑,减少重复手动选择。
2026-05-07 16:49:56 +08:00
rarnu 814fda7433 add: 增加对于查询得到的结果集直接进行数据编辑的功能。当查询是单表且包含主键(有联合主键时包含全部主键)时,可以在结果集内双击单元格修改数据,修改结果以事务形式提交或回滚。 2026-05-07 15:09:59 +08:00
t8y2 1e7192ad1e fix: auto-migrate GaussDB/openGauss connections from postgres to gaussdb driver 2026-05-07 11:45:19 +08:00
t8y2 8bea7e40c3 feat(elasticsearch): support REST queries in SQL editor (#132)
Execute GET/POST/PUT/DELETE queries like Kibana Dev Tools.
Search results are displayed as table rows with _id + _source fields.
Also hide database selector for Elasticsearch connections.
2026-05-07 11:41:33 +08:00
t8y2 14292dd2f8 fix(completion): prevent PostgreSQL completion failure from breaking all subsequent completions (#131) 2026-05-07 11:25:50 +08:00
t8y2 edd1e58286 fix(sqlserver): handle i16 column metadata and add N'' prefix for Unicode
- Use try_get with i16 fallback to prevent panic on column metadata
- Add N'' prefix for string literals in SQL Server INSERT/UPDATE to fix Chinese character corruption
2026-05-07 11:12:27 +08:00
t8y2 ecbd94c7be fix(grid): preserve sort order when paginating (#128) 2026-05-07 10:44:11 +08:00
t8y2 7328684593 fix: remove outdated GaussDB ODBC hint (now uses native driver) 2026-05-07 04:12:34 +08:00
t8y2 bb2a3021ea fix(grid): add UTF-8 BOM to CSV export for Chinese compatibility 2026-05-07 04:05:04 +08:00
t8y2 7f9fae9043 feat: switch openGauss to native rust-gaussdb driver 2026-05-07 04:03:20 +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 fde76d5576 fix(grid): show query errors as alert instead of table row 2026-05-07 02:23:33 +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
rarnu 969f441753 add: 对SQL编辑器增加Ctrl(Mac下是Cmd)+左键点击的功能,点击表名可以查看建表DDL,点击列名可以查看列信息 (#122)
* add: 对SQL编辑器增加Ctrl(Mac下是Cmd)+左键点击的功能,点击表名可以查看建表DDL,点击列名可以查看列信息

* add: 修复联表情况下获取列信息的问题

* fix: 修复联表场景下的SQL语句提示

* remove: 移除不需要的调试打印

* add: 补充'列详情'多语言字段

* remove: 移除不必要的函数

* remove: 移除不必要的导入

* add: 目前会分析SQL语句内引用的表,并且只加载对应的表内的列信息,不再对全表做列信息拉取
2026-05-07 01:04:52 +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 02813f4b9e feat(sidebar): add fuzzy search for table/schema filtering 2026-05-06 22:49:56 +08:00
t8y2 4b11506bee feat(ai): add markdown rendering for AI assistant responses
Use `marked` library to parse LLM output so bold, headings, lists and
other markdown syntax render properly instead of showing raw symbols.
Also fix missing oxfmt darwin-arm64 native binding.
2026-05-06 22:33:30 +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
t8y2 6a3e8067e1 feat(transfer): add upsert mode for data transfer (#105)
Add a third transfer mode that inserts new rows and updates existing
rows based on primary key, supporting PostgreSQL, MySQL, SQLite,
SQL Server, Oracle, and DuckDB with database-specific upsert syntax.
Also fixes DuckDB primary key detection in transfer operations.
2026-05-06 20:44:05 +08:00
t8y2 569cb26261 feat(grid): show column type and comment in tooltip instead of inline
Move the column type annotation from inline display (#type) to a hover
tooltip on the header cell. The tooltip shows the column type with color
and comment (if present), matching the tab tooltip style.
2026-05-06 19:50:41 +08:00
t8y2 ecdc86a478 feat(connection): add file picker for SQLite/DuckDB and fix default host (#121)
Add a browse button next to the file path input for SQLite and DuckDB
connections, allowing users to select database files via system dialog
instead of manually typing paths. Clear the default host value when
switching to file-based database types.
2026-05-06 18:51:53 +08:00
skyler 133690bca7 Merge pull request #116 from SuLea-IT/codex/issue-110-mongodb-legacy
feat: add MongoDB form URL parameters
2026-05-06 18:29:14 +08:00
t8y2 b6a39c1fa0 feat(query): set schema context (search_path) before query execution (#113)
Add schema selector to the editor toolbar for schema-aware databases
(PostgreSQL, SQL Server, Oracle). When a schema is selected, the backend
sets the appropriate search_path before executing queries so users no
longer need to write schema-qualified table names.
2026-05-06 18:22:41 +08:00
SuLea-IT 47f507f9ba fix: address mongodb params review 2026-05-06 13:42:35 +08:00
t8y2 e315c4ad36 feat(oracle): add SYSDBA authentication support
Switch oracle-rs to t8y2/oracle-rs fork with SYSDBA support.
Add sysdba field to ConnectionConfig and a checkbox in the
Oracle connection dialog to enable connecting as SYS with
SYSDBA privileges.
2026-05-06 13:23:56 +08:00
SuLea-IT 8c1a75d3d5 fix: improve mongodb legacy connection params 2026-05-06 13:10:46 +08:00