Commit Graph
114 Commits
Author SHA1 Message Date
t8y2 982247c077 fix(postgres): stabilize metadata pagination parameters 2026-07-10 21:44:32 +08:00
DengQingNian e429c8945b feat(mysql): edit column charset and collation 2026-07-10 15:13:57 +08:00
t8y2 f89392de82 fix(postgres): resolve unqualified completion tables via search path 2026-07-10 12:25:59 +08:00
onenewcode 1b13d2176b fix(metadata): unify enum column metadata 2026-07-08 21:02:53 +08:00
gggaiitx 651c7b8db3 fix(vastbase): tolerate metadata row type mismatches 2026-07-08 14:57:14 +08:00
t8y2 35710e7766 fix(postgres): handle column metadata type mismatches 2026-07-08 10:52:48 +08:00
Guoyu Su c5eed06b93 fix(postgres): load foreign key referential actions 2026-07-07 17:18:02 +08:00
t8y2 2b4cefc987 fix(gaussdb): classify stored procedures 2026-07-07 13:58:33 +08:00
t8y2 3161efe95f fix(postgres): skip cert parsing for non-verifying TLS 2026-07-07 13:02:35 +08:00
t8y2 526540d570 fix(postgres): retry stale cached metadata queries 2026-07-06 12:46:44 +08:00
zergmk2 f800d80f90 feat: add SSH config aliases and PostgreSQL extensions 2026-07-05 20:29:49 +08:00
t8y2 4f8fb1068d fix(postgres): support legacy function metadata 2026-07-04 11:13:59 +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
weihan d3272b4750 fix(postgres): 修复 GaussDB Schema 浏览对象报错 (#2186)
- GaussDB 复用 PostgreSQL 对象浏览查询,但带时间戳的元数据 SQL 依赖 pg_stat_file、pg_xact_commit_timestamp 等函数,在 prepare 阶段失败,导致原有 fallback 无法触发。
- 让 fallback 覆盖 prepare 和 query 阶段。查询失败时降级到无时间戳查询,保证表、视图、函数、序列仍可正常展示。
2026-06-30 20:06:23 +08:00
zipg 7091615f8a fix: 修复 PostgreSQL 重载过程显示重复 2026-06-29 19:58:01 +08:00
Guoyu Su 7b32c71b1b fix(postgres): support pg10 routine metadata without prokind 2026-06-28 20:16:25 +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
HaoNan Ye 11ed3a0d3b fix(postgres): include public schema in search_path for PostGIS functions (#1817) 2026-06-26 17:58:07 +08:00
LRcoding eb664dba4c fix(core): support fuzzy table search 2026-06-26 13:15:01 +08:00
t8y2 0c0e90ab1a feat(export): add table read cursor sessions 2026-06-25 18:37:04 +08:00
ptma 484d20922a fix(postgres): handle PostgreSQL views 2026-06-25 10:54:38 +08:00
zipgandstaff 902419a3b9 fix(postgres): compatibility with older PostgreSQL versions for table DDL
* Fix: 修复 PostgreSQL CTE DML 分页改写

* fix: 兼容 PostgreSQL 旧版本索引 DDL 查询

---------

Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-24 19:12:28 +08:00
t8y2 23edbe391f feat(postgres): support schema comments 2026-06-24 18:35:43 +08:00
t8y2 f51d622d3f fix(postgres): decode binary address types 2026-06-24 10:55:40 +08:00
t8y2 cebb39cb80 feat(completion): add scoped metadata assistant 2026-06-24 00:40:28 +08:00
hb 3f65297f25 fix(highgo): preserve nullable metadata for pg-compatible agents (#1585) 2026-06-24 00:35:47 +08:00
zipg 1c7ef0d235 feat(mysql): optimize table structure loading 2026-06-23 17:31:37 +08:00
t8y2 280e94e3c1 fix(postgres): avoid backslash LIKE escape 2026-06-23 00:43:10 +08:00
t8y2 0b6e1579ca feat(agent): add execution context recovery 2026-06-22 22:15:16 +08:00
t8y2 0d4e35ee02 fix(core): increase PostgreSQL and MySQL connection pool size
- PostgreSQL: 4 -> 10 connections
- MySQL: 3 -> 10 connections

Fixes #1516
2026-06-21 21:01:15 +08:00
Scars 4590057456 fix(postgres): cast relkind to text to prevent deserialization panic 2026-06-20 22:24:29 +08:00
t8y2 d59997c090 feat(objects): add table statistics columns 2026-06-19 14:35:32 +08:00
t8y2 440e675a0e fix(postgres): retry queries with stale cached prepared statements 2026-06-19 01:04:14 +08:00
ptma e7ee0c9ec1 fix(questdb): handle materialized views and unify table_type naming
* fix(questdb): handle materialized views

* fix(test): fix rust test problems
2026-06-18 11:40:57 +08:00
t8y2 63bb6a21ca fix(mysql): parse geometry WKB to WKT for display and editing 2026-06-17 00:49:33 +08:00
t8y2 c0b7fb5a28 fix(postgres): include sequences in list_objects 2026-06-16 19:20:08 +08:00
t8y2 9b4e16500e fix(postgres): show connection failure details 2026-06-16 01:05:48 +08:00
t8y2 c57e18bf3e fix: resolve clippy warnings and missing struct fields in tests 2026-06-16 00:55:32 +08:00
t8y2 7926da7c0c fix(postgres): disconnect sessions before drop database 2026-06-15 22:02:52 +08:00
t8y2 46ddcaba56 fix: normalize channel_binding=require to prefer for postgres 2026-06-15 17:44:00 +08:00
t8y2 e0d481cc2e fix(postgres): handle tsvector columns 2026-06-15 16:59:01 +08:00
t8y2 30afcb8e69 fix(sidebar): page large table groups 2026-06-13 13:40:36 +08:00
runstone 40f0f98540 Merge branch 'main' of https://github.com/Abeautifulsnow/dbx into feat/ai-agent-loop-phase1 2026-06-12 18:52:05 +08:00
polempandSam ef5ed05ae7 feat(schema-diff): professional DDL diff view with deployment-aware colors and custom themes (#1112)
Co-authored-by: Sam <14344444@@qq.com>
2026-06-12 17:14:05 +08:00
t8y2 2554ed95be fix(postgres): clear statement cache after ddl 2026-06-12 17:11:37 +08:00
Abeautifulsnow 082e3bb4eb feat(ai): add agent tool calling loop 2026-06-12 13:18:36 +08:00
runstone 84a9fd6a0f Merge branch 'main' of https://github.com/Abeautifulsnow/dbx into feat/ai-agent-loop-phase1 2026-06-12 12:52:03 +08:00
t8y2 a858a6bd18 feat(mysql): edit foreign keys and triggers 2026-06-12 12:29:46 +08:00
runstone 61b5e907ce fix(schema): default to public schema for PG and database for MySQL when schema is empty
When the LLM calls `list_tables` tool without a `schema` parameter, the
  backend receives an empty string. This caused PostgreSQL and MySQL
  metadata queries to return no results because:

  - PostgreSQL: `WHERE n.nspname = ''` matches nothing
  - MySQL: `WHERE TABLE_SCHEMA = ''` matches nothing

  Fix by falling back to sensible defaults:
  - PostgreSQL `list_tables`/`get_columns`: empty schema → "public"
  - MySQL `list_tables`: empty schema → database name (MySQL schema == database)
2026-06-12 12:00:27 +08:00