Commit Graph

43 Commits

Author SHA1 Message Date
Bacon2994 b669efb5ff style(redis): 修正 Rust 格式检查 2026-05-08 10:11:44 +08:00
Bacon2994 0fb6aebd59 feat(redis): 修复全库键浏览与二进制展示 2026-05-08 10:06:16 +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 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
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
t8y2 0f904fc2a8 refactor: rename oracle-rs to rust-oracle and unify to git source 2026-05-07 15:41:39 +08:00
rarnu 814fda7433 add: 增加对于查询得到的结果集直接进行数据编辑的功能。当查询是单表且包含主键(有联合主键时包含全部主键)时,可以在结果集内双击单元格修改数据,修改结果以事务形式提交或回滚。 2026-05-07 15:09:59 +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 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 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 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 0c430c9fb4 fix: filter system schemas for Oracle and DM (Dameng) 2026-05-07 04:10:30 +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 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
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 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 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
skyler 133690bca7
Merge pull request #116 from SuLea-IT/codex/issue-110-mongodb-legacy
feat: add MongoDB form URL parameters
2026-05-06 18:29:14 +08:00
t8y2 b6a39c1fa0 feat(query): set schema context (search_path) before query execution (#113)
Add schema selector to the editor toolbar for schema-aware databases
(PostgreSQL, SQL Server, Oracle). When a schema is selected, the backend
sets the appropriate search_path before executing queries so users no
longer need to write schema-qualified table names.
2026-05-06 18:22:41 +08:00
t8y2 0d1b99e3ee fix(oracle): auto-reconnect on closed connection and add debug logging
Detect closed Oracle connections in get_or_create_pool and
automatically reconnect instead of failing all subsequent operations.
Add debug/error logging to Oracle driver for easier troubleshooting.
2026-05-06 14:29:22 +08:00
SuLea-IT 47f507f9ba fix: address mongodb params review 2026-05-06 13:42:35 +08:00
t8y2 e315c4ad36 feat(oracle): add SYSDBA authentication support
Switch oracle-rs to t8y2/oracle-rs fork with SYSDBA support.
Add sysdba field to ConnectionConfig and a checkbox in the
Oracle connection dialog to enable connecting as SYS with
SYSDBA privileges.
2026-05-06 13:23:56 +08:00
SuLea-IT 8c1a75d3d5 fix: improve mongodb legacy connection params 2026-05-06 13:10:46 +08:00
t8y2 bfc2c4d162 fix(postgres): display custom extension types instead of null
Use try_get_raw + as_bytes fallback for types that sqlx cannot decode
via standard type mappings (e.g. PostGIS geometry, citext, ltree).
UTF-8 decodable values display as text; binary values display as hex.

Closes #108
2026-05-06 12:02:40 +08:00
Abeautifulsnow 646cc8ad5c
fix(postgres): use quote_ident for case-sensitive table names (#111) 2026-05-06 11:28:38 +08:00
skyler a11695b1e5
Merge pull request #98 from rarnu/fix/uuid-type-field
fix: 按先前的建议重新修了一下,目前先判断类型是否UUID,而不是先走fallback
2026-05-05 23:55:39 +08:00
rarnu d16372c88d fix: 按先前的建议重新修了一下,目前先判断类型是否UUID,而不是先走fallback 2026-05-05 23:38:40 +08:00
skyler 4e5a7cb40a
Merge pull request #97 from rarnu/fix/uuid-type-field
fix: 修复Postgres的UUID类型字段被显示为NULL的问题
2026-05-05 22:56:57 +08:00
rarnu 8f78c2c882 fix: 修复Postgres的UUID类型字段被显示为NULL的问题 2026-05-05 22:49:37 +08:00
t8y2 0f40488bf1 feat(web): add password setup page, change password, and settings tabs
- First-time visitors see a password setup page instead of open access
- Password persisted to SQLite (env var DBX_PASSWORD takes priority)
- Add change password in settings dialog (Security tab, web only)
- Split settings dialog into Editor and Security tabs
- Argon2 hashing for all password storage
2026-05-05 22:22:04 +08:00
t8y2 2ac29879e4 feat(docker): use cargo-zigbuild for native cross-compilation
- Switch sqlx, reqwest, tiberius from native-tls to rustls to eliminate
  OpenSSL dependency, enabling clean cross-compilation
- Use cargo-zigbuild to cross-compile dbx-web for both amd64 and arm64
  natively without QEMU emulation for Rust compilation
- Frontend and backend stages use --platform=$BUILDPLATFORM to avoid
  emulation during build
- Remove libssl3 from runtime image (no longer needed with rustls)
2026-05-05 21:05:44 +08:00
Agent-43 80e1cf927e Formatted 2026-05-05 13:58:14 +05:30
Mukesh-234234 f6857a52bd
Merge branch 't8y2:main' into main 2026-05-05 13:24:37 +05:30
Agent-43 b6709a0280 Updated 2026-05-05 12:40:32 +05:30
Agent-43 419a3cf069 issue-88 fix 2026-05-05 12:12:50 +05:30
t8y2 2de0894a99 feat(update): refactor release fetching to use structured JSON response 2026-05-05 14:40:05 +08:00
t8y2 41445ff474 chore: add rustfmt.toml and apply unified code formatting 2026-05-05 14:16:18 +08:00
t8y2 edcdd652ae fix(connection): reduce failed connection timeout
Closes #86
2026-05-05 14:13:07 +08:00
t8y2 f9a9945f1f feat: migrate storage from JSON files to SQLite
Replace all JSON file storage (connections, secrets, history, AI config,
conversations, sidebar layout) with a single SQLite database (dbx.db).
Auto-migrates existing JSON data on first launch, renaming old files to
.bak. Remove keyring dependency — passwords now stored in SQLite.
2026-05-05 04:48:45 +08:00
t8y2 cf4f25fd52 feat: extract dbx-core crate for web deployment support
Refactor all database drivers, query execution, schema operations, and
business logic into a shared `dbx-core` crate. The Tauri desktop app
becomes a thin shell delegating to dbx-core, enabling future web and
CLI frontends to reuse the same core.
2026-05-05 03:16:24 +08:00