t8y2
06e653b0bb
fix(export): stream postgres query result exports
2026-07-03 20:02:19 +08:00
onenewcode
71e618dd46
fix: support mysql install scripts without selected database ( #2356 )
2026-07-02 13:18:49 +08:00
miracle
72a7207283
fix(kafka): improve mq admin compatibility
2026-07-02 12:58:33 +08:00
Abeautifulsnow
d55a708d6a
feat(query): add manual transaction controls
2026-07-02 01:30:31 +08:00
t8y2
a435c76250
fix(transfer): skip create DDL for existing targets
2026-07-02 00:49:32 +08:00
zipg
b11ab2ddff
fix(core): restore Oracle object browser metadata
2026-07-01 01:09:21 +08:00
zipg and staff
c38bc05417
Fix:修复 SQL 子查询语义诊断误报 ( #2184 )
...
* Fix:修复 SQL 子查询语义诊断误报
* Improve:添加 SQL 语义诊断开关
* Improve:优化 SQL 语义诊断开关说明
* Fix:收紧 SQL 语义诊断飘红范围
* Improve:调整 SQL 语义诊断默认策略
---------
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local >
2026-06-30 20:15:59 +08:00
zipg and staff
73a996ebe6
Fix: 修复 SQL Server 修改默认值时报错 ( #2190 )
...
* Fix SQL Server default constraint DDL
* Polish SQL Server default display
---------
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local >
2026-06-30 20:14:50 +08:00
zipg and staff
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
zipg and staff
04b12f7c06
Fix: 修复 MySQL 存储过程 SELECT 结果未显示 ( #2245 )
...
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local >
2026-06-30 18:27:03 +08:00
luoianun and luoianun
ba71068bc8
fix(agent): harden JRE runtime downloads
...
Co-authored-by: luoianun <20828060+luoianun@users.noreply.github.com >
2026-06-30 17:59:15 +08:00
t8y2
9337c7593d
fix(driver-store): hide native agent JRE badge
2026-06-30 17:38:50 +08:00
zipg
2a2d46c48b
Fix:同步 OceanBase 查询超时设置 ( #2156 )
2026-06-30 00:12:15 +08:00
zipg
4c9a265bdb
fix: skip sqlserver rowversion columns during transfer ( #2146 )
2026-06-29 21:00:54 +08:00
zipg
ba283e07c4
Fix: 修复 PostgreSQL 默认权限语句诊断误报
2026-06-29 11:20:15 +08:00
zipg
fa55fa0d8a
fix(driver): 修复内置驱动搜索结果重复
2026-06-28 10:08:53 +08:00
t8y2
796b0ce5b7
fix(dameng): restore exports with identity columns
2026-06-26 21:25:39 +08:00
zipg and staff
90bed417e9
fix: 完善 SQL 表名和字段语义诊断 ( #1961 )
...
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local >
2026-06-26 18:47:10 +08:00
t8y2
2b6a8919d2
fix(sqlserver): display binary cells as hex
2026-06-26 11:44:32 +08:00
t8y2
54e0393ab3
fix(transfer): preserve PostgreSQL bytea migration
2026-06-26 02:05:49 +08:00
t8y2
2f8672cdef
fix(transfer): split postgres table ddl
2026-06-25 21:32:12 +08:00
t8y2
0cc0b84c95
fix(sqlserver): align schema tree and creation
2026-06-25 20:37:23 +08:00
t8y2
1098056152
fix(sqlserver): stream query result exports
2026-06-25 16:16:30 +08:00
t8y2
b367861fe1
fix(sqlserver): cast completion null placeholders
2026-06-25 12:35:08 +08:00
大峰
40c93b9dad
feat(connection): add visible schema filtering
2026-06-25 01:36:06 +08:00
miracle
0effda91b3
feat(zookeeper): add agent client browsing and node management
2026-06-25 00:40:48 +08:00
t8y2
b356aa8df5
fix(connection): recover idle connection pools
2026-06-24 20:12:24 +08:00
t8y2
cebb39cb80
feat(completion): add scoped metadata assistant
2026-06-24 00:40:28 +08:00
t8y2
7b03af97c8
fix(query): support clickhouse strict joins
2026-06-23 19:10:14 +08:00
t8y2
3a25487dea
feat(agents): move agents into dbx repo
2026-06-23 11:38:16 +08:00
t8y2
6c571a57ab
fix(mysql): cancel running SQL imports
2026-06-21 09:14:54 +08:00
t8y2
ef25653aca
feat(transfer): add target table name case option
2026-06-19 12:16:38 +08:00
miracle
b2eb57198f
fix: stream XLSX table export to avoid OOM on large tables
2026-06-18 18:31:41 +08:00
t8y2
e926adde42
fix(test): update GBase tree shape assertions and skip MQ in capability checks
2026-06-18 11:54:38 +08:00
t8y2
71db24813e
fix(informix): add informix_server field to test helpers
2026-06-17 22:59:22 +08:00
luoianun
021e1682c3
fix(mysql): avoid Aliyun ADB timeout for bounded text results
2026-06-17 14:53:13 +08:00
miracle and t8y2
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
9a68a4d7d2
fix(tests): remove redundant test for agent driver store entries
2026-06-16 18:28:59 +08:00
t8y2
000c236619
feat(connection): add keepalive interval
2026-06-16 10:23:49 +08:00
t8y2
e0d481cc2e
fix(postgres): handle tsvector columns
2026-06-15 16:59:01 +08:00
t8y2
aab30d7c44
fix(mysql): prefer text protocol for result sets
2026-06-15 12:07:58 +08:00
John Jin
1afc271c18
feat: add QuestDB support
...
Thanks @ptma!
2026-06-14 22:58:05 +08:00
Vergil Lai
f385386284
feat(manticore): add Manticore Search support
...
Add Manticore Search table data editing, structure editing, metadata handling, and SQL completion support.
2026-06-14 16:01:02 +08:00
t8y2
cbc7f9b0db
fix(gbase): support 8a and 8s profiles
2026-06-14 10:16:24 +08:00
t8y2
edf9dd88e3
feat(agent): unify oracle driver
2026-06-12 16:34:42 +08:00
t8y2
e6db09c638
feat(agent): support language-neutral driver launch
2026-06-12 15:08:31 +08:00
t8y2
9793dc94b7
feat(driver): centralize database capabilities
2026-06-10 22:12:44 +08:00
t8y2
d353d4673f
feat(redis): add configurable key namespace separator
2026-06-10 17:46:48 +08:00
t8y2
8a458f1432
fix: add InfluxDB to agent catalog and bridge types
2026-06-10 14:46:08 +08:00
runstone
a440415e86
feat(readonly): add read-only mode for all database connections
...
## Background
Add a read-only toggle for database connections that blocks all write
operations (INSERT, UPDATE, DELETE, DROP, etc.) when enabled, allowing
only read queries (SELECT, SHOW, EXPLAIN, etc.). Closes #889 .
## Changes
### Data Model
- Added `read_only: bool` field to ConnectionConfig (Rust struct, TS
interfaces, and ConnectionConfigData deserialization layer)
- Used `#[serde(default, skip_serializing_if = "is_false")]` for
backward/forward compatibility with existing configs
### Frontend UI
- Added "Read Only" checkbox in connection dialog
- 7-language i18n support (en/es/it/pt-BR/zh-CN/zh-TW)
### SQL Classification (query_execution_sql.rs)
- Added `is_write_sql()` with two-layer defense:
- Layer 1: First-keyword check (must start with known read keyword)
- Layer 2: Embedded dangerous keyword detection (catches CTE-wrapped
writes like `WITH ... AS (DELETE FROM ...)`)
- `FROM` keyword supported as DuckDB SELECT-less syntax indicator
- Added `check_read_only()` returning descriptive error with connection name
- Added 16 unit tests covering: pure reads/writes, CTE, case insensitivity,
string literal masking, comment stripping, stored procedure calls, edge cases
### SQL Execution Guards (query.rs / transfer.rs)
- Added `check_read_only_for_connection()` and `_multi()` helper functions
with lazy name clone (only allocates when read_only is true)
- 6 interception points: `do_execute`, MySQL batch, SQL Server batch,
DuckDB batch, transaction execution, transfer execution
### Non-SQL Write Guards — Tauri Commands
- Added `ensure_connection_writable()` helper (connection.rs)
- Mongo: 6 write entry points (insert/update/delete, single + batch)
- Redis: 15 write entry points (SET, DEL, HSET, HDEL, LPUSH, LSET, LREM,
SADD, SREM, ZADD, ZREM, EXPIRE, FLUSHDB, delete_keys, execute_command)
- execute_command uses RedisCommandSafety classification to allow
safe read commands through raw command interface
- etcd: 2 write entry points (put, delete)
- sql_file: SQL file execution guarded
- MCP Bridge: 4 write entry points (Insert/Update/Delete/SQL query)
### Non-SQL Write Guards — Web API
- Local `ensure_writable()` helper in each route module
- Redis: 12 write endpoints including classified execute_command
- Mongo: 6 write endpoints
- etcd: 2 write endpoints
- sql_file, table_import, transfer: early rejection
### Test Updates
- Updated ConnectionConfig construction in 7 test files with
`read_only: false` initialization
## Defense-in-Depth
- Layer 1: Command/Route-level early rejection (saves resources)
- Layer 2: Core SQL classifier (`is_write_sql` — first keyword + embedded scan)
- Layer 3: Core execution-time interception (do_execute/transfer/transaction)
2026-06-10 10:58:52 +08:00