Commit Graph
396 Commits
Author SHA1 Message Date
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
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
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
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 8ebd98c996 fix(oracle): update oracle-rs to fix bit vector buffer underflow
Fixes #101
2026-05-06 21:47:15 +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 695dc07402 fix: update root Cargo.lock for v0.4.2 v0.4.2 2026-05-06 20:29:32 +08:00
t8y2 9ba38a4dc9 chore: bump version to 0.4.2 2026-05-06 20:24:13 +08:00
t8y2 518d47f243 feat(default.json): add updater permission to default capabilities 2026-05-06 20:19:06 +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 148f892be0 fix(postgres): display SMALLINT/INT2 values instead of null (#118)
Add i16 to the type fallback chain in pg_value_to_json. The sqlx driver
requires INT2 to be decoded as i16 specifically; the existing i64/i32
attempts silently failed, causing smallint values to fall through to null.
2026-05-06 19:06:11 +08:00
t8y2 310468b44e fix(mysql): display TINYINT(1) as integer instead of boolean (#120)
MySQL BOOLEAN is an alias for TINYINT(1). The sqlx driver reports it as
BOOLEAN type, causing values to display as true/false. Read the value as
i8 first to show the actual integer value.
2026-05-06 18:54:43 +08:00