Commit Graph

1224 Commits

Author SHA1 Message Date
t8y2 11ed019b0e fix: render postgres array values 2026-05-26 15:49:51 +08:00
t8y2 195e6b218f fix: decode sql files before execution 2026-05-26 15:43:07 +08:00
t8y2 be0c2b4775 feat: support batch table export selection 2026-05-26 15:32:33 +08:00
t8y2 f5f986cdd6 fix: add Shiki SQL syntax highlighting to all SQL display components
Add useSqlHighlighter composable and integrate Shiki highlighting into
DangerConfirmDialog, QueryHistory, DataGrid (replacing regex-based
highlighting), SqlFileExecutionDialog, SchemaDiffDialog, TreeItem,
ObjectBrowser, and FieldLineageDialog. Also fix danger dialog overflow
by adding overflow-hidden to DialogContent and wrap/scroll support.
2026-05-26 15:31:15 +08:00
t8y2 a1f718d6bd fix: normalize mysql export row format 2026-05-26 15:03:53 +08:00
t8y2 7c0a8ed01d fix: scope postgres-like agent connections to selected database 2026-05-26 14:59:17 +08:00
t8y2 efe8a2e4fb fix: avoid mysql pagination wrapper for duplicate columns 2026-05-26 14:44:10 +08:00
t8y2 32a4a5b1ec fix: normalize temporal column precision 2026-05-26 14:38:53 +08:00
t8y2 8539e492cc fix: install arm64 fontconfig/freetype libs for cross-compilation 2026-05-26 13:23:29 +08:00
t8y2 c2d5b3aea3 chore: bump version to 0.5.21 2026-05-26 12:41:23 +08:00
t8y2 c6fc78588e fix: normalize postgres timezone url parameter 2026-05-26 12:38:37 +08:00
t8y2 75155ebfda chore: clear frontend lint warnings 2026-05-26 12:31:03 +08:00
t8y2 ce22d6a046 fix: focus new structure column input 2026-05-26 12:30:12 +08:00
t8y2 309c2d1555 fix: restore structure editor vertical scrolling 2026-05-26 12:26:21 +08:00
t8y2 5a420548fb fix: set mysql connection charset 2026-05-26 12:15:35 +08:00
t8y2 affd8b38a1 fix: include postgres template databases in picker 2026-05-26 12:10:07 +08:00
t8y2 76a0b9f76d fix: let users opt into system databases 2026-05-26 12:06:48 +08:00
t8y2 7bdacc52ba fix: align sidebar search matching 2026-05-26 11:57:12 +08:00
t8y2 f895bb4de5 fix: scope agent metadata by database 2026-05-26 11:51:58 +08:00
t8y2 6d6ba34cac fix: satisfy clippy for jdbc plugin upload 2026-05-26 11:39:57 +08:00
t8y2 0fec2b5984 fix: allow postgres sslmode require with custom cas 2026-05-26 11:36:10 +08:00
t8y2 23d04645f6 fix: display MySQL BIT(1) columns as numeric strings instead of garbled text
BIT columns arrive as raw bytes from mysql_async. Without specialized
handling, byte 0x01 was treated as a valid UTF-8 control character and
byte 0x00 was replaced with U+FFFD. Now BIT values are interpreted as
big-endian integers, so BIT(1) correctly displays "0" or "1".
2026-05-26 11:22:23 +08:00
t8y2 5f3606e5b5 fix: handle postgres system catalog query results 2026-05-26 11:05:07 +08:00
t8y2 e43f03dbde fix: resolve frontend CI type checks 2026-05-26 01:54:00 +08:00
t8y2 53ee696714 docs: add Why DBX and FAQ sections to README 2026-05-26 01:48:25 +08:00
t8y2 6e0f4e1dc3 feat: enable driver management on web version
- Extract JDBC driver/plugin logic from Tauri commands to dbx-core::jdbc
- Add web API routes for JDBC drivers, JDBC plugin, Agent JAR import, system fonts
- Upgrade zip crate from v2 to v4 in dbx-core
- Replace http.ts stubs with real HTTP calls (support File and string paths)
- Remove isWeb restrictions in DriverStoreDialog, add browser file picker support
- Fix Mac traffic light inset incorrectly applied on web version
- Show driver management toolbar button on web version
2026-05-26 01:23:26 +08:00
t8y2 c55a31b294 refactor: replace duplicate extract/dispatch patterns in schema.rs with macros
Replace 5 extract_* functions with extract_pool! macro, 7 OceanBase/MySQL
branches with dispatch_mysql! macro, and 9+ sqlserver/agent early-return
pairs with try_sqlserver!/try_agent! macros. Pure refactor, zero behavioral
change — all 435 tests pass, downstream crates compile unchanged.
2026-05-25 23:42:43 +08:00
t8y2 7c5740a400 refactor: extract Neo4j and TDengine SQL logic from data_grid_sql.rs 2026-05-25 23:21:47 +08:00
t8y2 b53a6dac8c docs: add 7 new docs pages and update 4 existing ones
Add new pages: Redis Browser, MongoDB Browser, Driver Management,
Keyboard Shortcuts, Object Browser, Connection Import, SQL Snippets.
Update: Data Grid (transpose view, column formatters, multi-row ops),
Table Structure Editor (PK editing, column reorder, tab UI),
AI Assistant (thinking mode, table mentions),
Database Support (ClickHouse TLS, GaussDB native, DuckDB modes).
2026-05-25 22:54:58 +08:00
t8y2 8baa752721 feat: add compact data grid header controls 2026-05-25 21:29:37 +08:00
t8y2 718f0c1679 fix: prevent browser reload shortcuts in desktop app 2026-05-25 21:09:02 +08:00
t8y2 fe2ecd60d2 feat: add ClickHouse TLS connection support 2026-05-25 21:07:22 +08:00
t8y2 5fae9808a2 Fix table empty SQL for dialects 2026-05-25 20:50:25 +08:00
t8y2 eb1a04b005 fix: move gaussdb and opengauss to direct query types in diagnostics 2026-05-25 19:30:19 +08:00
t8y2 25bf3c035e test: fix pagination page size test after executionOptions refactor
The query timeout feature moved clientSessionId to the outer executionOptions
object, which broke the single-line regex assertion. Split into individual
assertions that track each field independently.
2026-05-25 19:25:38 +08:00
t8y2 a15ce1f6c7 build: switch tokio-postgres-gaussdb patch from local path to git URL 2026-05-25 19:25:37 +08:00
t8y2 234099aebd feat: use native postgres path for GaussDB connections 2026-05-25 19:25:35 +08:00
t8y2 792c816a17 feat: make query timeout configurable via global settings (default 30s)
Add queryTimeoutSecs to editor settings with UI control in the settings
dialog. 0 means no timeout. Applied to all query execution paths including
sidebar table data loading and EXPLAIN queries.

Closes #441.
2026-05-25 18:30:55 +08:00
t8y2 db00051632 fix: avoid creating session pool without database context for Doris/StarRocks
When database is empty, get_or_create_pool_for_session would create a new
pool via metadata_connection_config, which clears the database for Doris
and StarRocks (is_metadata_connection_scoped). The resulting connection
URL had no database path, causing "Current database is not selected"
errors on query execution.

Fall back to the shared pool (get_or_create_pool) when database is empty,
matching the 0.5.19 behavior. Session-scoped pools are still used when
a database is explicitly set.
2026-05-25 18:05:32 +08:00
t8y2 896d19933e fix: preserve transfer metadata during table creation 2026-05-25 17:23:47 +08:00
t8y2 d326cb0ced fix: scope query connections by client session 2026-05-25 17:23:36 +08:00
t8y2 ac65508ddb fix: preserve Windows data during upgrades 2026-05-25 16:52:43 +08:00
t8y2 0354fe7050 fix: keep existing SQL Server TOP clauses 2026-05-25 16:51:18 +08:00
t8y2 9f6c35ee78 fix: make MySQL connection timeout configurable via URL param connect_timeout
Previously the connection timeout was hardcoded to 5s via
tokio::time::timeout, ignoring any connect_timeout in the URL.
Also mysql_async rejected camelCase connectTimeout as unknown.

Now parse_connect_timeout extracts connect_timeout/connectTimeout from
the URL (case-insensitive, 1-300s range), removes them before passing
to mysql_async, and feeds the value to with_connection_timeout.
2026-05-25 16:23:25 +08:00
t8y2 b565962a86 feat: simplify issue notification format, remove raw body and reorder AI analysis 2026-05-25 14:27:42 +08:00
t8y2 d973fb78c1 fix: disable prefer_socket in mysql_async to fix StarRocks connection after upgrade
Newer StarRocks versions reject the @@socket system variable that
mysql_async queries during connection initialization when prefer_socket
is enabled (default on non-Windows). Since we always use TCP connections,
Unix socket detection is unnecessary.
2026-05-25 14:12:55 +08:00
t8y2 4fa363b1a9 fix: use deepseek-v4-pro model for issue triage 2026-05-25 12:55:17 +08:00
t8y2 f2efed99fe feat: add AI-powered issue triage to QQ notification workflow 2026-05-25 12:54:45 +08:00
t8y2 c9f584d350 feat(grid): add compact filter builder 2026-05-25 11:57:36 +08:00
t8y2 ad7797f451 fix: remove macOS tray icon title and add SQL Server TOP test
- Remove the "DBX" title text from the macOS menu bar tray icon so it
  only displays the icon, matching Windows behavior
- Add test for SQL Server TOP pagination with aggregate queries like
  COUNT(*)
2026-05-25 11:42:47 +08:00