Commit Graph
139 Commits
Author SHA1 Message Date
Freedom c5faad8172 fix(mysql): distinguish text and binary columns 2026-07-16 14:30:53 +08:00
zipgandzipg 12ab08f543 fix(kingbase): set pg_catalog last in pg-compat search_path
* fix(kingbase): prioritize selected schema in pg catalog mode

* Fix:安全解析 Kingbase 所选模式对象

---------

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-07-16 00:54:33 +08:00
shen 3748d83cde feat(desktop): add database info and SQL statement markers 2026-07-15 18:35:34 +08:00
t8y2 709a110804 fix(query): honor batch continue on error 2026-07-15 16:42:33 +08:00
gggaiitx e9e59113a3 fix(query): continue batch after statement errors 2026-07-14 12:51:24 +08:00
Komh 35ca4e3a37 feat(duckdb): add connection bootstrap and remote catalogs 2026-07-13 17:03:33 +08:00
二丫讲梵 0e779f9edc fix(sql): improve read-only statement detection 2026-07-12 23:05:32 +08:00
Anubis 2a92746dc0 feat(d1): add Cloudflare D1 database support 2026-07-12 22:03:57 +08:00
onenewcode 7a42b1e96b fix(mysql): stop multi-statement execution after first error 2026-07-12 21:30:27 +08:00
miracle 16e879e40e perf(query): optimize result loading and connection reuse 2026-07-12 11:18:52 +08:00
wuxiemian 1be66fb115 feat(safety): add production environment safeguards 2026-07-12 10:02:27 +08:00
t8y2 a54bcccbd5 fix(jdbc): support legacy plugin query execution 2026-07-10 22:53:12 +08:00
zipgandzipg f73633f622 fix(sqlserver): handle query timeout and multi-result-set pagination
* Fix SQL Server query timeout and result pagination

* Address SQL Server timeout review feedback

* Cover SQL Server lock wait timeout

---------

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-07-10 10:36:11 +08:00
zipg e25be6335d fix(core): reconnect stale agent pools on JDBC errors 2026-07-09 18:27:23 +08:00
t8y2 2929b1c035 feat(hive): add Kerberos connection options 2026-07-08 13:23:21 +08:00
t8y2 0c965eb836 fix(oceanbase): sync query timeout before execution 2026-07-06 13:40:20 +08:00
miracle 454457f191 fix(duckdb): add worker process isolation 2026-07-04 23:43:22 +08:00
miracle 30b9460442 fix(dbx-core): improve duckdb query cancellation 2026-07-04 02:31:32 +08:00
t8y2 06e653b0bb fix(export): stream postgres query result exports 2026-07-03 20:02:19 +08:00
Abeautifulsnow d55a708d6a feat(query): add manual transaction controls 2026-07-02 01:30:31 +08:00
zipg 55bfa11bd1 fix: fallback agent batch execution errors (#2113) 2026-06-29 20:34:46 +08:00
miracleandonceMisery d128604743 fix(connection): 修复数据库连接超时后无法可靠恢复的问题
* feat(core): implement PIP-0001 database connection timeout recovery

- Add DbOperationBudget struct for unified execution budget model
- Add deadpool create/recycle timeout for PostgreSQL pools
- Add checkout_postgres_client helper replacing 14 bare pool.get() calls
  with timeout + cancel token support
- Fix PostgreSQL TLS cancel: rebuild TLS connector from stored context,
  fallback to NoTls on failure
- Add timeout to MySQL kill_query and kill_query_with_opts (5s)
- Extend is_connection_error to match deadpool pool timeout messages
- Unify keepalive default to 30s (was 60s Rust / 0s frontend mismatch)
- Inject PostgreSQL TCP keepalive params (idle=30s, interval=10s, retries=3)
- Inject MySQL tcp_keepalive=30s in OptsBuilder
- Make MySQL inactive_connection_ttl configurable from idle_timeout_secs
- Add stage-based structured logging for pool.checkout/health.check/cancel
- Store PostgresCancelContext in AppState for TLS cancel reconstruction
- Clean up cancel contexts on pool removal/drain
- Add unit tests for DbOperationBudget and pool timeout error detection

* fix(core): align timeout recovery with PIP-0001

* fix(core): handle timeout recovery review issues

* fix(core): complete connection timeout recovery

* fix(core): fall back postgres cancel connector build

* refactor: revert comment translations to English in connection.rs and query.rs

- Revert DbOperationBudget doc comments to English (query.rs)
- Revert PostgresCancelContext and TLS cancel comments to English (connection.rs)
- Keep Chinese error-matching strings in is_connection_error unchanged

---------

Co-authored-by: onceMisery <onceMisery@users.noreply.github.com>
2026-06-26 21:41:56 +08:00
t8y2 2f06ca5fe3 fix(data-compare): batch sync execution 2026-06-26 17:10:26 +08:00
dalew d815a16b86 feat(redis): move scan page size to connections 2026-06-26 11:13:34 +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
t8y2 b356aa8df5 fix(connection): recover idle connection pools 2026-06-24 20:12:24 +08:00
二丫讲梵 3ebfae05a2 feat(nacos): add Nacos management console (#1456) 2026-06-24 01:19:18 +08:00
t8y2 f96faa0664 fix(query): preserve unsafe query integers 2026-06-23 19:01:57 +08:00
t8y2 ac3d3a7948 feat(agent): track execution context activity 2026-06-22 23:17:11 +08:00
t8y2 0b6e1579ca feat(agent): add execution context recovery 2026-06-22 22:15:16 +08:00
t8y2 6c571a57ab fix(mysql): cancel running SQL imports 2026-06-21 09:14:54 +08:00
dbin0123 92d3f64eae feat: fix connection cascade failure, add auto-recovery for all drivers 2026-06-19 23:06:21 +08:00
t8y2 e27d34a34a feat(vector): add qdrant and milvus support 2026-06-19 10:07:56 +08:00
t8y2 593635a94d fix(jdbc): keep query pagination cursor sessions 2026-06-18 17:40:12 +08:00
t8y2 17f186db26 fix(sqlserver): rebuild pool after driver panic 2026-06-18 13:43:03 +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
t8y2 b94f0e1590 fix(agent): discard timed out query pools 2026-06-16 16:20:04 +08:00
t8y2 9a2a21c09a fix(test): avoid iris alias formatting assertion 2026-06-16 10:54:28 +08:00
t8y2 000c236619 feat(connection): add keepalive interval 2026-06-16 10:23:49 +08:00
t8y2 3574113feb fix(iris): qualify selected schema tables 2026-06-15 23:16:29 +08:00
t8y2 7926da7c0c fix(postgres): disconnect sessions before drop database 2026-06-15 22:02:52 +08:00
t8y2 026a0d2b12 fix(data): preserve unsafe int64 display 2026-06-15 15:14:38 +08:00
t8y2 08fb5bbf4d fix(query): avoid retrying local query timeouts 2026-06-15 14:42:03 +08:00
t8y2 a32ead56b9 fix(query): skip comment-only SQL execution 2026-06-15 14:18:40 +08:00
t8y2 cbc7f9b0db fix(gbase): support 8a and 8s profiles 2026-06-14 10:16:24 +08:00
t8y2 415d53e8dc fix(duckdb): interrupt timed out queries 2026-06-12 16:27:33 +08:00
t8y2 33ab7aeae6 refactor(schema): split metadata providers 2026-06-10 19:10:53 +08:00