Commit Graph
289 Commits
Author SHA1 Message Date
t8y2 065f0a4234 fix(sql): refine current statement cursor resolution
Treat blank-line-separated statements as part of the previous statement when the cursor sits on the semicolon boundary.\nKeep same-line cursor navigation moving to the next statement.\nAdd regression coverage for the cursor boundary cases described in issue #427.
2026-05-24 01:12:31 +08:00
t8y2 3e051d61a7 fix(dbx-core): migrate mysql driver to mysql_async
Add mysql_async with client_ed25519 support for MySQL and MariaDB connections.\nSwitch MySQL transaction control and schema metadata reads away from sqlx MySQL APIs.\nPreserve connection compatibility by stripping unsupported URL params and handling nullable metadata safely.
2026-05-24 00:53:27 +08:00
t8y2 777cb11081 fix(sqlite): rewrite if()→IIF() and substring()→substr() for cross-DB view compatibility 2026-05-23 23:26:32 +08:00
t8y2 26878e749a fix(oracle): default to service_name when oracle_connection_type is unset
The recent fix to respect explicit JDBC URLs in the Oracle agents exposed a
default mismatch: the Rust side generated SID-format URLs when the config
field was missing, but the old Java fallback always used service_name format.
Switch the default and retry logic so existing connections without an explicit
oracle_connection_type keep working.
2026-05-23 15:07:28 +08:00
t8y2 d326519247 fix(core): reduce async blocking and allocation hotspots 2026-05-23 14:45:45 +08:00
t8y2 658a14f290 ci: split CI jobs, add clippy/test, upgrade actions
- Split single check job into frontend / rust / jdbc parallel jobs
- Add concurrency group to cancel redundant CI runs
- Add pnpm cache via setup-node
- Add cargo clippy and cargo test to CI
- Unify Node version to 22 across all workflows
- Upgrade pnpm/action-setup to v6
- Fix clippy never_loop errors (while let → if let)
2026-05-23 14:11:46 +08:00
t8y2 b088858dcf chore(release): bump version to 0.5.19 2026-05-23 13:36:31 +08:00
t8y2 ccfc3cf92c fix(postgres): remove trailing comma in SQL query for table comments 2026-05-23 09:25:53 +08:00
t8y2 f68edb2516 fix(grid): remove virtual row memoization 2026-05-23 08:58:18 +08:00
t8y2 7a3ff3bff9 refactor(sql): move builders to Rust 2026-05-23 01:28:52 +08:00
t8y2 7d467064f1 fix(query): preserve agent large integers 2026-05-22 21:29:41 +08:00
t8y2 51662c692f feat(objects): default filter to tables and align context menu with sidebar (#416)
Object browser now defaults to showing tables when tables exist.
Table/view context menus match sidebar tree with structure editing,
export, import, diagram, data compare, truncate, empty, duplicate,
and copy name support.
2026-05-22 19:15:22 +08:00
t8y2 ebf8f674c0 fix(mysql): detect StarRocks primary keys 2026-05-22 18:37:28 +08:00
t8y2 d7dc4c959a feat(driver-store): add storage usage breakdown 2026-05-22 18:05:59 +08:00
t8y2 9c8586e39a fix(oracle): retry alternate connect descriptor 2026-05-22 17:43:57 +08:00
t8y2 1fab46bca3 fix(agent): support oracle 10g java runtime 2026-05-22 17:23:26 +08:00
t8y2 5ab0489127 fix(sqlserver): support named instances 2026-05-22 17:06:05 +08:00
t8y2 3f14585a2a feat(diff): move schema and data diff to Rust 2026-05-22 16:20:11 +08:00
t8y2 c91fbc9fd6 feat(export): move text exports to Rust 2026-05-22 15:41:33 +08:00
t8y2 209eff528d feat(query): move grid save prep to Rust 2026-05-22 15:31:50 +08:00
t8y2 56aeed79fc fix(mysql): support legacy routine metadata 2026-05-22 15:14:19 +08:00
t8y2 cb3e1d6e9f feat(query): move SQL editability analysis to Rust 2026-05-22 15:09:31 +08:00
t8y2 c736fe372a feat(export): move csv and xlsx generation to Rust backend 2026-05-22 14:56:40 +08:00
t8y2 0655d309d8 fix(db2): use schema tree mode for sidebar object loading 2026-05-22 14:52:12 +08:00
t8y2 1ef09e8975 fix(app-settings): persist and prune pinned tree nodes 2026-05-22 14:28:40 +08:00
t8y2 0e189ba0cc feat(editor): add SQL semantic diagnostics 2026-05-22 14:22:58 +08:00
t8y2 6c83b10b42 fix(mongo): preserve auth database for commands 2026-05-22 12:44:16 +08:00
t8y2 7353f126d8 chore(release): bump version to 0.5.18 2026-05-22 12:11:14 +08:00
t8y2 c1fc1c9b70 feat(objects): show object timestamps 2026-05-22 11:37:23 +08:00
t8y2 a29b95b9fa fix(app): keep tray preference persistence stable 2026-05-22 10:39:47 +08:00
t8y2 bc41936e48 feat(app): configure background tray behavior 2026-05-22 02:24:16 +08:00
t8y2 a08d2aaab9 fix(agents): align managed JRE with Java 21 drivers 2026-05-21 22:11:00 +08:00
t8y2 cc5a6c650d chore(release): bump version to 0.5.17 2026-05-21 19:19:43 +08:00
t8y2 528c3c3ffc fix(agent): open java sql module for timestamps 2026-05-21 18:48:20 +08:00
t8y2 b4e9e798f1 fix(connection): preserve Oracle SID fallback 2026-05-21 18:42:39 +08:00
t8y2 9622080e59 fix(connection): fallback to oracle-10g on listener errors 2026-05-21 18:23:39 +08:00
t8y2 ae50a6ec9e fix(mysql): run SHOW GRANTS via text protocol 2026-05-21 16:45:48 +08:00
t8y2 cb7682e932 fix(mysql): normalize temporal SQL literals 2026-05-21 14:14:38 +08:00
t8y2 73117255c6 fix(web): support offline driver zip import 2026-05-21 11:40:05 +08:00
t8y2 01572ebad7 chore(release): bump version to 0.5.16 2026-05-21 11:06:54 +08:00
t8y2 4f379be24a fix(connection): support SAP HANA tenant routing 2026-05-21 00:32:19 +08:00
t8y2 2310201a14 fix(mysql): preserve session timezone
Keep the server session timezone for standard MySQL connections unless the connection URL explicitly provides a timezone override. This avoids TIMESTAMP shifts during SQL import while preserving user-specified timezone parameters.
2026-05-20 18:58:50 +08:00
t8y2 fe6fead2dc fix(mysql): prevent crash when DELIMITER follows non-ASCII comments (#360)
parse_delimiter_command used str slicing (line[..10]) which panics on
non-char boundaries when the buffer contains multi-byte UTF-8 characters.
Also fixed DELIMITER detection to check only the last line of the buffer
instead of the entire accumulated content.
2026-05-20 16:22:00 +08:00
Abeautifulsnow 222ebefa6a feat(ai): add model list fetching in settings (#364)
- Add `ai_list_models` Tauri command and core support for fetching available models from OpenAI-compatible, Claude, and Ollama providers
- Replace manual model ID input with SearchableSelect in EditorSettingsDialog, including refresh button and loading state
- Add i18n translations for model list UI (en, es, zh-CN)
- Add tests for settings dialog layout and web driver management
2026-05-20 16:14:56 +08:00
yavon007 13424588b9 Support DBX connection deep links (#359)
* fix(mysql): avoid metadata collation conflicts

Split MySQL column and primary key metadata lookups so MariaDB and OceanBase do not join information_schema tables with incompatible collations.

* feat(grid): add invert column visibility action

* feat(grid): improve cell detail editing

* feat(grid): add keyboard cell navigation

* feat(grid): add column name copy in header tooltip

* feat(grid): improve transpose navigation

* feat(connection): support dbx connection deep links

* docs: document connection deep links

* fix(connection): harden deep link boolean handling
2026-05-20 16:10:14 +08:00
t8y2 c53caddc3f fix(sqlserver): route transaction control statements through simple_query
BEGIN TRANSACTION / COMMIT / ROLLBACK must not go through sp_executesql
(client.execute) because SQL Server raises error 266 when @@TRANCOUNT
changes inside sp_executesql. Route them through simple_query instead.
2026-05-20 13:36:08 +08:00
t8y2 c0d3a46b93 chore: bump version to 0.5.15 2026-05-20 11:14:12 +08:00
t8y2 bd727c32d0 fix(sqlserver): use BEGIN TRANSACTION instead of BEGIN for explicit transactions
SQL Server interprets bare "BEGIN" as a BEGIN...END block, not a
transaction start, causing syntax error when editing table data.
2026-05-20 11:08:44 +08:00
t8y2 abafa49acc fix(agent): bound read_agent_line to prevent OOM abort on large responses
Add a 512MB maximum response size limit to read_agent_line to prevent
unbounded memory allocation that could cause the process to SIGABRT
when the agent returns an unexpectedly large response.

Ref: #345
2026-05-20 10:49:11 +08:00
t8y2 ea19a24ec6 fix(mysql): retry without ssl on TLS close 2026-05-20 10:42:20 +08:00