SQL Server treats `;` as a statement terminator, not a batch separator.
The previous logic split multi-statement SQL by `;` and executed each
independently, breaking variable/CTE scope across statements.
Send the entire SQL as a single batch via `simple_query` so DECLARE,
SET, and CTE definitions remain visible to subsequent statements.
Split only on the `GO` client directive when present.
Parse host:port from JDBC URLs and rewrite them when an SSH or proxy
tunnel is active, so the Java plugin connects through the local
forwarded port. Enable the SSH/Proxy tabs in the connection dialog
for JDBC.
- Replace ALL_OBJECTS with ALL_TABLES UNION ALL_VIEWS in list_databases
query to avoid slow full scan on large Oracle instances
- Add loading indicator in SchemaDiffDialog during database/schema loading
- Generate COMMENT ON TABLE/COLUMN statements in schema diff sync SQL
- Compare column and table comments in diff detection
is_connection_error() only matched English keywords like "connection"
and "closed", missing localized OS messages on Chinese Windows such as
"I/O error: 远程主机强迫关闭了一个现有的连接。 (os error 10054)".
This prevented automatic reconnection, causing all subsequent queries
in database search to fail after a connection reset.
Add "i/o error" detection and Windows socket error code parsing
(10053/10054/10057/10058/10060/10061) so reconnect logic triggers
regardless of OS locale.
Add duckdb-bundled feature gate (default on) to dbx-core. Local dev
can use --no-default-features to skip DuckDB C++ compilation (~170s),
while CI/Docker keeps the default bundled build.
Move packages job from release.yml to publish-packages.yml, triggered
by release published/released events. Keeps workflow_dispatch as a
manual fallback. Now all external publishing (Homebrew, Scoop, 1Panel,
QQ notify) triggers at the same time: when a prerelease is promoted
to a full release.
Widen the scroll button gradient area and use a solid-to-transparent
gradient (40% opaque) instead of a semi-transparent via stop, so tab
text is fully hidden behind the arrow overlay.
Introduce MysqlMode enum to distinguish Normal/Bare/OceanBaseOracle MySQL
connections. On connect, if driver_profile contains "oceanbase", detect
tenant mode via SHOW VARIABLES LIKE 'ob_compatibility_mode'. When Oracle
mode is detected, schema queries use ALL_TABLES/ALL_TAB_COLUMNS/etc.
The EXISTS check only showed schemas containing tables, hiding empty
schemas that PostgreSQL driver would display. This caused a regression
for openGauss users after switching to the native GaussDB driver.
- 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
Add i32/i16 type decoding and try_get_unchecked fallback to
mysql_value_to_json(), fixing all columns showing NULL on older
MySQL versions (e.g. 5.6) where sqlx type-checked decoding fails.