Commit Graph

410 Commits

Author SHA1 Message Date
t8y2 75c7e11f55 fix(docker): touch source files to force cargo recompilation
Docker COPY preserves original file timestamps, which can be older than
the dummy-source binary compiled in the dependency caching layer. Cargo
sees the sources as unchanged and skips recompilation, producing a 329KB
empty binary instead of the real web server.
2026-05-07 21:12:41 +08:00
t8y2 198ac54355 feat: add GitHub proxy endpoints for faster update checks
Add hwdns.net and gh-proxy.org as proxy fallbacks before direct GitHub
access, with 10s timeout per endpoint. Significantly improves update
check speed in regions with slow GitHub connectivity.
2026-05-07 21:07:55 +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 484dc85114 fix: also bundle libltdl.7.dylib for macOS app
libodbc.2.dylib depends on libltdl.7.dylib (libtool). Rewrite its
install_name and the reference in libodbc to @rpath so both resolve
from Contents/Frameworks/ at runtime.
2026-05-07 18:46:09 +08:00
t8y2 fd444eb080 feat: add duplicate connection context menu action
Closes #136
2026-05-07 18:42:41 +08:00
t8y2 63a32c816b fix(docker): pass library search path via RUSTFLAGS for zig linker
cargo zigbuild's zig linker ignores LIBRARY_PATH; pass -L native=
through RUSTFLAGS so it can find libodbc.so during linking.
2026-05-07 18:40:42 +08:00
t8y2 fbcceb5781 fix: rewrite libodbc install_name so macOS app loads bundled library
The binary was linking against /opt/homebrew/opt/unixodbc/lib/libodbc.2.dylib
(absolute path). At runtime dyld refused to load it due to Team ID mismatch.
Use install_name_tool to set @rpath/libodbc.2.dylib before building, so the
linker records a relative path that resolves via Contents/Frameworks/.
2026-05-07 18:30:20 +08:00
t8y2 2083f48add fix: preserve bigint precision for values exceeding JS safe integer range
Closes #137
2026-05-07 18:12:23 +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
Bacon2994 e1d8993725 style(dbx-core): 统一 Rust 代码格式 2026-05-07 17:01:17 +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
t8y2 d4d0bb726e perf: use lld linker for faster Windows builds 2026-05-07 16:21:21 +08:00
t8y2 fdb923425d chore: update rust-oracle to latest commit 2026-05-07 15:44:55 +08:00
t8y2 0f904fc2a8 refactor: rename oracle-rs to rust-oracle and unify to git source 2026-05-07 15:41:39 +08:00
t8y2 84cc42a0d4 fix: manually extract arm64 unixodbc debs instead of multiarch apt
Debian multiarch apt sources cause dependency conflicts with
gcc-x86-64-linux-gnu. Instead, download arm64 .deb packages directly
from deb.debian.org and extract with dpkg -x to get the arm64
libodbc headers and libraries without apt dependency resolution.
2026-05-07 15:15:10 +08:00
rarnu 814fda7433 add: 增加对于查询得到的结果集直接进行数据编辑的功能。当查询是单表且包含主键(有联合主键时包含全部主键)时,可以在结果集内双击单元格修改数据,修改结果以事务形式提交或回滚。 2026-05-07 15:09:59 +08:00
t8y2 ddd1733e8f fix: configure Debian multiarch apt sources for arm64 cross-compilation
The rust:1-bookworm image only has amd64 apt sources. Add explicit
arm64 sources from deb.debian.org so unixodbc-dev:arm64 can be
installed alongside the native amd64 version.
2026-05-07 15:07:36 +08:00
t8y2 89fa8c02be docs: add landing page and upgrade all documentation with advanced components
- Add product landing page with hero section, stats, feature cards, database badges, comparison table, and screenshots
- Register Fumadocs MDX components (Tabs, Steps, Callout, Cards, Accordions) globally
- Rewrite all 17 doc pages (CN + EN) with richer content, use cases, and advanced components
- Add competitive comparison table (vs DBeaver/Navicat/TablePlus)
- Add ~300 lines of responsive landing page CSS
2026-05-07 14:53:35 +08:00
t8y2 d4aeb7af68 fix: install cross-architecture unixodbc-dev for Docker multi-platform builds
Install both arm64 and amd64 versions of unixodbc-dev and set
LIBRARY_PATH/PKG_CONFIG_PATH to the target architecture's lib dir
so cargo-zigbuild can find the correct libodbc when cross-compiling.
2026-05-07 14:45:17 +08:00
t8y2 75d7edda27 fix: add missing comment field to TableInfo initializers
The comment field was added to TableInfo but not updated in
clickhouse, gaussdb, oracle, sqlite, sqlserver, dm, and schema drivers.
2026-05-07 14:35:09 +08:00
t8y2 606019b86c ci: use macos-15-intel runner for x86_64 macOS builds
Replace cross-compilation approach with native Intel runner.
macos-15-intel is GitHub's official replacement for the retired
macos-13 runner, available for free on public repos until Aug 2027.
2026-05-07 14:28:40 +08:00
t8y2 63b7458347 ci: install x86_64 unixodbc for cross-compilation on ARM macOS
The ARM runner's Homebrew installs arm64 libraries, which can't link
when cross-compiling for x86_64. Use arch -x86_64 to install the
Intel version of unixodbc and set LIBRARY_PATH accordingly.
2026-05-07 14:14:43 +08:00
t8y2 89e9dde666 ci: replace deprecated macos-13 runner with macos-latest
macos-13 (Intel) runners have been retired by GitHub, causing the
x86_64-apple-darwin build job to queue indefinitely. Use macos-latest
(ARM) and cross-compile via --target instead.
2026-05-07 14:08:15 +08:00
t8y2 f164945d44 docs: update next-env.d.ts for Next.js 16 2026-05-07 13:57:35 +08:00
t8y2 af9c3cb025 docs: add static search support for documentation site 2026-05-07 13:56:42 +08:00
t8y2 8b5abfe832 docs: match wrangler name with Cloudflare Pages project 2026-05-07 13:48:01 +08:00
t8y2 0becd7e831 docs: fix wrangler.json assets config for static deployment 2026-05-07 13:45:35 +08:00
t8y2 875b75de47 docs: add wrangler.json to fix Cloudflare Pages static deployment
Tell wrangler to use the static `out` directory instead of trying
to run opennextjs-cloudflare build.
2026-05-07 13:42:08 +08:00
t8y2 fc4a4bfb5b docs: remove basePath for custom domain deployment
Remove /dbx basePath and update asset paths from /dbx/logo.png to
/logo.png for deploying docs site on a custom domain.
2026-05-07 13:21:46 +08:00
t8y2 aab6d7c3a4 docs: add system dependencies and update GaussDB driver info
- Add platform-specific system dependencies (unixODBC, Tauri libs) to
  README and getting-started docs
- Update GaussDB driver from odbc-api to rust-gaussdb in database docs
- Remove obsolete GaussDB ODBC setup instructions
- Fix Docker image and port in getting-started docs
2026-05-07 13:18:02 +08:00
t8y2 a0ceefd1ef fix(ci): use macos-13 for x86_64 build to resolve ODBC linking 2026-05-07 13:07:46 +08:00
t8y2 13f72a6e23 fix(docker): remove multi-arch libodbc2 from build stage 2026-05-07 11:56:09 +08:00
t8y2 a8e9ac34e0 chore: bump version to 0.4.3 2026-05-07 11:51: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 a574558b9c chore: update oracle-rs repo URL to rust-oracle 2026-05-07 10:50:12 +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 0c430c9fb4 fix: filter system schemas for Oracle and DM (Dameng) 2026-05-07 04:10:30 +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 6801048b40 feat: replace GaussDB ODBC driver with native rust-gaussdb
Drop ODBC dependency for GaussDB, use rust-gaussdb for native
SHA256 SASL authentication over TCP. Zero extra setup for users.
2026-05-07 03:34:19 +08:00
t8y2 2f3a81b0f1 feat: add ODBC setup docs for DM and GaussDB, update connection color indicator 2026-05-07 02:45:59 +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