Commit Graph
163 Commits
Author SHA1 Message Date
miracle 0e414e638e fix(agent): recover JDBC connections after query timeouts 2026-08-01 01:17:49 +08:00
zipg 961d9683b9 feat(gaussdb): support vendor JDBC driver for M mode 2026-07-30 23:02:56 +08:00
t8y2 350096b4f7 feat(easysearch): add first-class database support 2026-07-30 19:03:09 +08:00
t8y2 d347c77c3d feat(duckdb): move support to standalone driver 2026-07-30 00:50:39 +08:00
lewis 4a6422365b feat(redis): support database aliases 2026-07-29 20:33:34 +08:00
amwps290 820b8cd26f feat(metadata): honor system schema visibility 2026-07-29 03:23:04 +08:00
zipg a0d4a31467 feat(hbase): improve desktop connections and table operations 2026-07-28 21:11:59 +08:00
zipg 74c603ee9d feat(connection): add editable connection notes 2026-07-27 17:01:23 +08:00
zipg 22ccdef594 feat(sqlserver): add explicit legacy driver selection 2026-07-22 23:02:08 +08:00
Jamie 94a40a8025 feat(clickhouse): forward URL parameters to HTTP requests 2026-07-22 15:09:00 +08:00
t8y2 96736d3dbf fix(redis): align test and saved connection paths 2026-07-22 15:01:18 +08:00
AiLi 574172f667 feat(rocketmq): add agent and management console 2026-07-20 22:58:05 +08:00
t8y2 083ffe7a35 fix(ci): split checks and enforce warning-free Rust builds 2026-07-20 13:45:59 +08:00
二丫讲梵 85836f8e95 feat(sqlite): support attached database schema changes 2026-07-20 10:51:16 +08:00
zipg 834ad772c6 feat(elasticsearch): support Kibana proxy connections 2026-07-20 00:53:49 +08:00
t8y2 295b67dd36 feat(core): optimize query resource lifecycle 2026-07-16 00:19:24 +08:00
shen 3748d83cde feat(desktop): add database info and SQL statement markers 2026-07-15 18:35:34 +08:00
zipg d1cce3ed1e fix(kingbase): quote MySQL-compatible identifiers 2026-07-13 18:51:32 +08:00
Komh 35ca4e3a37 feat(duckdb): add connection bootstrap and remote catalogs 2026-07-13 17:03:33 +08:00
Anubis 2a92746dc0 feat(d1): add Cloudflare D1 database support 2026-07-12 22:03:57 +08:00
wuxiemian 1be66fb115 feat(safety): add production environment safeguards 2026-07-12 10:02:27 +08:00
zipg 67edb94b1d feat(sqlserver): support legacy TLS compatibility 2026-07-09 22:45:54 +08:00
LRcoding ae627de320 fix(core): preserve mysql numeric export literals 2026-07-08 17:31:29 +08:00
zipg 2dc8609495 fix(mysql): skip MySQL-only setup for compatible engines 2026-07-08 15:37:49 +08:00
gggaiitx 651c7b8db3 fix(vastbase): tolerate metadata row type mismatches 2026-07-08 14:57:14 +08:00
Guoyu Su 016821122c fix(sqlite): open SQLCipher databases with configured key (#2807) 2026-07-08 00:13:25 +08:00
t8y2 5db35307d3 fix(influxdb): support InfluxDB 2 connections 2026-07-06 13:30:12 +08:00
Moe. 8a1a791927 feat(connection): add connection attempt cancellation 2026-07-04 23:47:53 +08:00
Tony Tang 23b9228f82 feat(connection): add StarRocks TLS support 2026-07-02 16:37:20 +08:00
clj1566317 486b9ee8ed fix redis sentinel tunnel route 2026-07-02 14:21:52 +08:00
miracle 72a7207283 fix(kafka): improve mq admin compatibility 2026-07-02 12:58:33 +08:00
zipgandstaff d04463ebeb Feature:支持 SQL Server 旧版兼容模式 (#2181)
* fix: 支持 SQL Server 旧版非加密重试

* fix: 优化 SQL Server 旧版兼容模式入口

---------

Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-30 19:52:07 +08:00
miracle 7cec4892bf feat(kafka): support Kafka MQ admin client 2026-06-30 17:01:24 +08:00
t8y2 6c232899b4 feat(agents): remove legacy Oracle Java agents 2026-06-28 16:11:22 +08:00
hb 7b08307896 fix: prevent implicit database creation on connection for SQLite (#1986) 2026-06-27 12:31:02 +08:00
t8y2 23ee0a42a3 fix(connection): clone url_params to avoid partial move in influxdb test 2026-06-26 18:17:51 +08:00
ptma fdd7d2095b feat(influxdb): support influxdb epoch parameter (#1946) 2026-06-26 17:33:58 +08:00
jischeng 82fd078c10 fix(mysql): health-check pooled connection before DDL query
* fix(mysql): health-check pooled connection before DDL query

`mysql_ddl` fetched a connection with a raw `pool.get_conn()` and issued
`SHOW CREATE TABLE` directly, unlike other read paths (`get_columns`,
`list_indexes`, ...) which go through `get_conn_with_health_check`. A
pooled connection that went stale while idle (server closed it after its
idle timeout, NAT/firewall dropped the TCP state, ...) would then fail on
the first DDL request after a period of inactivity, surfacing a low-level
connection error that a manual refresh would mask.

Route `mysql_ddl` through `get_conn_with_health_check` so stale
connections are pinged and replaced before the query runs, matching the
rest of the MySQL metadata path.

* fix(test): add redis_scan_page_size to ConnectionConfig test helpers

`d815a16b` (feat(redis): move scan page size to connections) added
`redis_scan_page_size` to `ConnectionConfig` but did not update several
struct-literal test helpers, so `cargo clippy --workspace --all-targets`
fails with `missing field redis_scan_page_size`. This is a pre-existing
breakage on `main` (CI has been red since that commit) and is unrelated to
this PR's actual change; included here only to unblock CI.

Helpers fixed here:
- src-tauri/src/commands/connection.rs (`mongodb_config`)
- crates/dbx-web/src/routes/connection.rs (`sqlite_config`)
2026-06-26 13:16:52 +08:00
lexmin0412 c2376494d3 feat(vector): add ChromaDB support 2026-06-26 01:41:36 +08:00
大峰 40c93b9dad feat(connection): add visible schema filtering 2026-06-25 01:36:06 +08:00
t8y2 bf9ef4365b feat(vector): add weaviate support 2026-06-25 00:31:27 +08:00
不吃西葫芦 9a0a32e04c fix(connection): recover connection state after VPN failures (#641) 2026-06-24 01:44:46 +08:00
二丫讲梵 3ebfae05a2 feat(nacos): add Nacos management console (#1456) 2026-06-24 01:19:18 +08:00
t8y2 489da1b7db fix(mongodb): support legacy indexes and driver mode 2026-06-23 19:47:10 +08:00
luoianun 8cc7a35c1a feat: add PrestoSQL connector 2026-06-23 01:27:08 +08:00
fagao e2f68de455 fix: resolve MySQL connection state desync after disconnect/reconnect
- Use synchronous pool removal in desktop disconnect_db to prevent
  race condition when user quickly disconnects and reconnects
- Rename recordMetadataLoadError to recordConnectionLostError and
  export it for cross-store reuse
- Sync query execution errors back to connection state via
  recordConnectionLostError in queryStore catch blocks
- Add backend check_connection_health method (dbx-core) with Tauri
  command and web route for proactive pool verification
- Add frontend checkConnectionHealth API (tauri.ts/http.ts/api.ts)
- Enhance ensureConnected to verify backend pool health before
  assuming connection is valid, auto-reconnect if stale
2026-06-22 20:40:40 +08:00
t8y2 e27d34a34a feat(vector): add qdrant and milvus support 2026-06-19 10:07:56 +08:00
Scars a0475d80e3 fix(desktop): complete redis cluster transport routing 2026-06-18 14:57:53 +08:00
t8y2 71db24813e fix(informix): add informix_server field to test helpers 2026-06-17 22:59:22 +08:00
miracleandt8y2 2a59d3143e feat(mq): implement Apache Pulsar message queue admin
* feat(mq): implement Apache Pulsar message queue admin

- Add complete MQ admin adapter layer with version detection
  * Pulsar adapter with multi-version API support
  * OAuth2 token caching and authentication
  * JWT token signing for Pulsar clients
  * Transport layer (SSH/Proxy) integration

- Implement comprehensive admin operations
  * Tenant, namespace, topic management
  * Subscription and consumer/producer monitoring
  * Rate limits, backlog quotas, retention policies
  * Permissions and role-based access control
  * Raw admin API for advanced operations

- Add desktop UI components
  * MQ admin console with tabbed interface
  * Tenant, namespace, topic panels
  * Subscription management and cursor operations
  * Monitoring panel with stats visualization
  * Policy configuration UI

- Add web routes for MQ admin operations
- Add secret store support for MQ auth credentials
- Add comprehensive test coverage

* fix: del local test files

* fix(mq): mark message queue as unsupported mcpMode in driver manifest

MQ admin connections do not use the MCP query bridge - they use a
separate REST admin API. Mark mcpMode as 'unsupported' to align with
the test expectations and reflect the actual architecture.

Fixes CI test: driver-manifest.test.ts

* fix(mq): fix TypeScript errors in MQ components

- Fix typo in SubscriptionsPanel.vue: messagformatError(e)Id -> message.messageId
- Use formatError() helper in RawApiPanel.vue instead of accessing e?.message
- Fix undefined 'tab' reference in ConnectionTree.vue: use config.db_type instead

Fixes frontend CI TypeScript check errors.

* fix(mcp): add 'mq' to MCP server connection type description

The MCP server's connection type description must include all database
types from the driver manifest. Add 'mq' to the list to fix the test:
'add connection database type description includes every manifest database type'

Fixes: packages/mcp-server/tests/driver-manifest.test.ts

* fix(mq): add missing ConnectionConfig fields for Rust compilation

- Add gbase_server and keepalive_interval_secs fields to all ConnectionConfig
  test constructors in mq/config.rs, mq/service.rs, and storage.rs
- Import uses_bare_mysql_pool in connection.rs tests module

Fixes compilation errors from upstream ConnectionConfig changes.

* chore(ui): simplify Pulsar icon to logo-only version

Remove text from Pulsar icon (127x30 -> 35x30), keeping only
the wave logo symbol for a cleaner, more consistent appearance
with other database icons.

* fix(mq): return removed pools from drain_connection_pools

---------

Co-authored-by: t8y2 <1156263951@qq.com>
2026-06-16 21:57:17 +08:00