Commit Graph
430 Commits
Author SHA1 Message Date
hhzorgand朱豪豪 4024dc6a67 fix(milvus): send empty JSON body to databases/list endpoint
Follow-up to #2698. The databases/list call posted with no request body,
which the Milvus demo cluster used during testing accepts. Production
Milvus is stricter: a bodyless POST returns HTTP 200 with
`{"code":1801,...}` and omits the `data` field. Since the success check
only inspects the HTTP status, list_milvus_databases() parsed zero names
and silently fell back to `["default"]`, hiding every non-default database
in the sidebar.

Send an empty JSON object `{}` as the body, matching every other Milvus
v2 endpoint. With the body, the endpoint returns code 0 and the full
database list on both demo and production clusters.

Ref #2693

Co-authored-by: 朱豪豪 <zhu.hh.sz@belle.com.cn>
2026-07-06 22:04:19 +08:00
hhzorgand朱豪豪 95b7b8b9a3 fix(milvus): list all databases and their collections in sidebar
Milvus supports multiple databases, but the sidebar only ever showed
collections under the hardcoded "default" database. The backend returned
["default"] for every vector store and the frontend loaded collections
for a single database and flattened them under the connection node.

- Backend (vector_driver): add list_databases() that calls Milvus
  /v2/vectordb/databases/list (falling back to "default" for older Milvus
  and for non-Milvus vector stores), and thread a database parameter
  through find_documents() instead of hardcoding "default".
- document_ops: list_databases_core delegates VectorDb to list_databases();
  find_documents_core forwards the selected database.
- Frontend: add a "vector-database" tree node type. For Milvus, connections
  expand into database nodes, which expand into their own collections.
  Collection node ids are namespaced by database to avoid collisions
  across databases, and the collection id is stored in meta so activation
  no longer parses the node id.

Fixes #2693

Co-authored-by: 朱豪豪 <zhu.hh.sz@belle.com.cn>
2026-07-06 19:24:55 +08:00
Hiep LeandClaude Opus 4.8 78019c44e2 fix(mongo): support ISODate() and new Date() in MongoDB queries
* fix(mongo): hỗ trợ ISODate() và new Date() trong query MongoDB

Parser shell MongoDB ở frontend chỉ chuyển ObjectId(...) sang extended JSON,
nên filter chứa ISODate("...")/new Date("...") không parse được: câu lệnh rơi
xuống SQL executor và báo lỗi "Use MongoDB-specific commands".

Bổ sung rewrite ISODate(x)/new Date(x) -> {"$date":x} trong normalizeJsonArgument,
khớp với json_value_to_bson của backend (đã hiểu $date/$oid). Thêm test cho
filter dùng ISODate và new Date.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(mongo): decode $date extended JSON trong filter query

json_filter_value_to_bson chỉ chuyển {"$oid":...} nên filter chứa {"$date":...}
bị gửi thẳng lên server: { field: {"$date":...} } lỗi "unknown operator: $date",
còn { field: {"$gte": {"$date":...}} } so sánh với sub-document nên không khớp gì
(trả về rỗng).

Thêm nhánh parse_extended_json_date vào json_filter_value_to_bson, đồng bộ với
json_value_to_bson (vốn đã hiểu $date/$oid). Thêm test cho cả equality và $gte.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 18:21:15 +08:00
LSD fa5e55a376 feat(mongodb): improve GridFS manager filtering and sorting
* docs: add GridFS manager filter and sort design

* feat: improve GridFS manager filtering and sorting
2026-07-06 17:17:33 +08:00
t8y2 e84fb12fcc feat(sqlite): support SQLCipher encrypted databases 2026-07-06 14:24:28 +08:00
t8y2 564c5beeff fix(sqlite): decode text-affinity blobs 2026-07-06 13:56:05 +08:00
t8y2 5db35307d3 fix(influxdb): support InfluxDB 2 connections 2026-07-06 13:30:12 +08:00
wnyr dacd311490 fix(mysql): handle proxy database handshake fallback 2026-07-06 12:57:27 +08:00
t8y2 526540d570 fix(postgres): retry stale cached metadata queries 2026-07-06 12:46:44 +08:00
t8y2 5c37c0ad0d fix(mysql): disable TLS by default 2026-07-06 10:10:30 +08:00
miracle 4afc3297e1 feat(duckdb): add worker concurrency setting 2026-07-06 00:13:11 +08:00
Guoyu Su 4b6a588354 fix(mysql): honor preferred TLS mode 2026-07-05 22:16:07 +08:00
t8y2 069dcc479d feat(redis): search hash fields and values 2026-07-05 22:02:24 +08:00
zergmk2 f800d80f90 feat: add SSH config aliases and PostgreSQL extensions 2026-07-05 20:29:49 +08:00
lexmin0412 d502b4ce6c feat(redis): add hash field search 2026-07-05 19:37:49 +08:00
t8y2 e74782f651 feat(metadata): optimize agent metadata loading 2026-07-05 12:09:24 +08:00
miracle 454457f191 fix(duckdb): add worker process isolation 2026-07-04 23:43:22 +08:00
t8y2 4f8fb1068d fix(postgres): support legacy function metadata 2026-07-04 11:13:59 +08:00
miracle 30b9460442 fix(dbx-core): improve duckdb query cancellation 2026-07-04 02:31:32 +08:00
t8y2 b80f3e8088 feat(connection): add HTTP tunnel 2026-07-03 22:11:03 +08:00
onenewcode 91c77e53c4 feat(mongodb): support collection stats shell commands
Add db.coll.stats() / dataSize() / storageSize(scale) / totalIndexSize()
so these MongoDB shell commands return a result grid instead of the
"Use MongoDB shell-style commands" error (issue #2529).

- backend: collStats via mongo_driver.collection_stats, wired through
  mongo_ops, the dbx-web /mongo/collection-stats route, the tauri
  mongo_collection_stats command, and the MCP data bridge
- node-core: parseMongoCollectionStatsCommand + result formatter and
  executeQuery dispatch (web build + MCP path)
- desktop: mirror the parser/executor/autocomplete in mongoShellCommand.ts,
  queryStore.ts, api/tauri/http facade, and mongoCompletion.ts
- tests for the parser, result formatter, and completion entries

Close #2529
2026-07-03 21:32:29 +08:00
t8y2 06e653b0bb fix(export): stream postgres query result exports 2026-07-03 20:02:19 +08:00
f826cb5d38 feat(mongo): add GridFS manager for MongoDB
* feat(mongo): browse GridFS buckets and files

Refs #2342

* feat(mongo): add GridFS manager for MongoDB

* chore(i18n): autofill new translations

---------

Co-authored-by: dbx-i18n-bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: t8y2 <1156263951@qq.com>
2026-07-03 18:34:00 +08:00
LRcoding 21cec24e75 fix(mysql): support cleartext password auth option (#2499) 2026-07-03 13:47:47 +08:00
t8y2 d35c966390 fix(redis): batch sparse key searches 2026-07-02 18:41:25 +08:00
ptma 424a7a1b42 feat(influxdb): improve InfluxDB error message extraction 2026-07-02 14:46:33 +08:00
clj1566317 486b9ee8ed fix redis sentinel tunnel route 2026-07-02 14:21:52 +08:00
lexmin0412 3888be8e5e feat(vector): add vector search for Qdrant, Milvus, Weaviate and ChromaDB (#2408) 2026-07-02 13:58:03 +08:00
lexmin0412 24d952dc12 feat(vector): add Qdrant/Milvus collection dimension display (#2396) 2026-07-02 12:08:30 +08:00
Abeautifulsnow d55a708d6a feat(query): add manual transaction controls 2026-07-02 01:30:31 +08:00
t8y2 bd659c322c fix(mongodb): treat SRV URLs as seed lists 2026-07-02 00:49:05 +08:00
t8y2 0c4ae7caf6 fix(mongodb): support shell delete commands 2026-07-01 20:23:51 +08:00
onenewcode 93eeeaa9c6 feat(mongo): add dropIndex and dropIndexes support across full stack 2026-07-01 17:53:09 +08:00
onenewcode e09ec3cd7a fix(mongo): preserve BSON types in MongoDB-to-MongoDB transfer 2026-07-01 16:31:39 +08:00
miracle 0c91fecf5d feat(editor): add table copy/paste keyboard shortcuts
* feat: add table copy/paste with configurable structure and data options

- Implement Navicat-style table copy/paste functionality
- Support multi-table selection and batch operations
- Configurable paste modes: structure+data (default), structure only, data only
- Backend: add build_copy_table_data_sql API (INSERT INTO ... SELECT)
- TreeItem.vue: copy/paste context menus, paste dialog with mode selection
- ObjectBrowser.vue: batch toolbar buttons, context menu, paste dialog
- Refactor TreeClipboard type to support multi-table entries
- Add i18n keys for all 7 locale files (en, zh-CN, zh-TW, ja, es, it, pt-BR)

* Fix table paste shortcuts

* Fix Kafka MQ sidebar detection

* Restrict table paste scope

* Support data copy for primary SQL databases
2026-07-01 12:49:37 +08:00
t8y2 6d9132e2a9 fix(mongo): support legacy agent bulk updates 2026-07-01 01:52:32 +08:00
t8y2 299a9843f3 fix(elasticsearch): pass routing for document writes 2026-07-01 00:43:14 +08:00
onenewcode b90e4fd64e feat(mongodb): support createIndex shell command (#2187) 2026-06-30 21:34:58 +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
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
zipgandstaff 04b12f7c06 Fix: 修复 MySQL 存储过程 SELECT 结果未显示 (#2245)
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-30 18:27:03 +08:00
zipg 9b93ac777c fix: 修复 MySQL 索引注释回填 2026-06-30 17:40:48 +08:00
zipg 95be4fb195 fix: 修复 SQL Server 列注释显示 2026-06-30 17:31:57 +08:00
hb 074cef8358 fix(duckdb): replace empty placeholder database files 2026-06-30 02:45:21 +08:00
zipg 2a2d46c48b Fix:同步 OceanBase 查询超时设置 (#2156) 2026-06-30 00:12:15 +08:00
zipg 7091615f8a fix: 修复 PostgreSQL 重载过程显示重复 2026-06-29 19:58:01 +08:00
lexmin0412 bc409cffc0 feat(ai): add vector DB assistant tools 2026-06-29 11:46:41 +08:00
zipg 3c7c1924ba Fix:修复 SQL Server datetime 查询和导出精度 2026-06-29 11:28:33 +08:00
Guoyu Su 7a5984a1fd fix(mongodb): support shell projection and db.version 2026-06-29 00:27:27 +08:00
Guoyu Su 7b32c71b1b fix(postgres): support pg10 routine metadata without prokind 2026-06-28 20:16:25 +08:00