Commit Graph
174 Commits
Author SHA1 Message Date
vrustx 8254cfd948 fix(completion): restore Oracle schema-qualified tables 2026-07-16 18:19:58 +08:00
zipg bfcd7593ee fix(kingbase): preserve table comments and schema expansion 2026-07-16 16:05:51 +08:00
zipg df0415333a fix(postgres): prioritize root tables in sidebar pagination 2026-07-16 14:40:54 +08:00
t8y2 295b67dd36 feat(core): optimize query resource lifecycle 2026-07-16 00:19:24 +08:00
LRcoding 711d0ec57b test(editor): cover context menu routing payloads 2026-07-15 20:53:22 +08:00
vrustx 1c34b2b568 fix(connection): share connection group path map 2026-07-15 19:29:38 +08:00
shen 3748d83cde feat(desktop): add database info and SQL statement markers 2026-07-15 18:35:34 +08:00
zipg 3802f1951b fix(database): 保留数据库名称前导空格 (#3509) 2026-07-15 18:06:08 +08:00
zipg b5c6e7c0c1 fix(dameng): standardize display name 2026-07-14 22:12:15 +08:00
t8y2 39aa506e44 fix(sidebar): restore node order after unpinning 2026-07-14 18:39:44 +08:00
t8y2 ee85033068 fix(sidebar): centralize tree action handling 2026-07-14 18:10:52 +08:00
zipg 88d05a0a19 feat(oracle): improve multi-schema completion 2026-07-14 12:35:13 +08:00
二丫讲梵 e51004d79c fix(sidebar): keep partition pagination at schema root 2026-07-14 01:07:17 +08:00
miracle c81eda22b0 perf(sidebar): reduce schema tree memory usage 2026-07-13 22:19:59 +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
juve 29b351691a fix(grid): improve scrolling and sidebar responsiveness 2026-07-13 16:12:54 +08:00
Anubis 2a92746dc0 feat(d1): add Cloudflare D1 database support 2026-07-12 22:03:57 +08:00
rainhan 977e7f78ca feat(connection): add reusable tunnel profiles 2026-07-12 22:03:46 +08:00
zipg 3a5ef776b1 fix(mysql): optimize stored procedure loading 2026-07-11 00:32:49 +08:00
zipg 9cf62a1c71 fix(tdengine): group subtables under super tables 2026-07-11 00:12:45 +08:00
SuLea-IT 68cfb5af5c fix(query): reduce retained result memory 2026-07-10 18:15:25 +08:00
zipg 67edb94b1d feat(sqlserver): support legacy TLS compatibility 2026-07-09 22:45:54 +08:00
Guoyu Su 65a92afce8 fix(desktop): preserve sidebar groups on reload 2026-07-09 11:47:13 +08:00
hhzorg d9bb92d1e9 feat(doris): show external catalogs in sidebar 2026-07-09 00:45:29 +08:00
zipgandzipg 47d9257ac2 feat(dameng): support proxy job administration
* Feature: add Dameng agent job management

* fix(duckdb): stabilize worker process tests

* fix(dameng): address job admin review

---------

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-07-09 00:39:06 +08:00
二丫讲梵 843babf522 feat(connection): select new databases when visible 2026-07-08 22:51:45 +08:00
t8y2 2929b1c035 feat(hive): add Kerberos connection options 2026-07-08 13:23:21 +08:00
jischeng c3893bf314 feat(spark): add Apache Spark database driver with catalog support
* feat(spark): add Apache Spark database driver

Spark Thrift Server speaks the HiveServer2 protocol, so the Spark driver
reuses the hive-jdbc agent runtime. Registers spark (agentKey=spark,
defaultPort=10015) across the manifest, DatabaseType enum, agent catalog,
SQL dialects, connection dialog, and a SparkAgent built on AbstractJdbcAgent.

* feat(spark): add catalog support and official logo

SparkAgent now supports Spark 3.4+ multi-catalog (Paimon, Lance, Iceberg)
via catalog=<name> in url_params, mirroring the StarRocks catalog flow:
- afterConnect switches to the configured catalog via USE <catalog>
- listDatabases returns the catalog name when SHOW DATABASES is empty
  (catalogs like Lance expose tables at the catalog root with no databases)
- listTables uses SHOW TABLES IN <catalog>[.<schema>] uniformly, working
  for both catalog-root tables (Lance) and catalog.schema tables (Paimon)
- setSchemaSQL qualifies USE with the catalog to prevent resetting to
  spark_catalog on schema switches
- buildJdbcUrl omits database from the URL path

Also replaces the placeholder lightning icon with the official Apache Spark
logo (spark-logo.png from spark.apache.org).

* fix(spark): use catalog-qualified DESCRIBE for column retrieval

getColumnsFromDescribe used USE <schema> + DESCRIBE <table>, which
generated USE `catalog`.`catalog` when the sidebar passed the catalog
name as the schema (Lance case where the catalog is the only node).
This failed and fell back to JDBC metadata which also returned nothing,
resulting in an empty DDL (CREATE TABLE ... ()).

Now uses DESCRIBE `catalog`.`table` directly when a catalog is
configured, bypassing USE entirely. Also fixes setSchemaSQL to treat
schema == catalog as catalog-only (no .schema suffix).

* fix(ci): add spark to metadata coverage matrix and BRIDGE_REQUIRED_TYPES

- agents/metadata-constraint-coverage.tsv: register spark as
  intentional-fallback (SHOW TABLES/SHOW DATABASES, like Hive/TDengine)
- packages/node-core/src/diagnostics.ts: add spark to
  BRIDGE_REQUIRED_TYPES (mcpMode=bridge, matches manifest)

* fix(ci): add spark to DBX_CONNECTION_TYPE_DESCRIPTION in mcp-server

The driver-manifest test asserts every manifest dbType appears in the
MCP server's connection type description string.
2026-07-07 14:36:22 +08:00
dde8d4584f feat(sqlfile): add refresh, locate, and context menu to SQL Files panel (#2715)
* feat(sqlfile): add refresh, locate, and context menu to SQL Files panel

- Add per-folder Refresh and Reveal-in-file-manager buttons on each opened
  folder header, plus a Refresh-all button on the panel toolbar. Re-scan
  prunes expand state for paths that no longer exist after refresh.
- Add right-click context menus (via CustomContextMenu) for files, folders,
  folder headers, and the panel background: open, execute SQL file, reveal
  in file manager, copy path, expand/collapse all, refresh, remove folder.
- Highlight the selected tree row on click/right-click; clicking empty space
  clears the selection.
- Wire "Execute SQL file" from the panel into the App-level
  SqlFileExecutionDialog via connectionStore.sqlFileSource.filePath + a new
  prefillFilePath prop, so the dialog opens with the file preview preloaded.
- Add zh-CN/en strings under sqlFileTree.

* chore(i18n): autofill new translations

* fix(sqlfile): clear prefillFilePath on close, dedupe i18n keys

---------

Co-authored-by: wanqinghua <wanqhua@gmail.com>
Co-authored-by: dbx-i18n-bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: t8y2 <1156263951@qq.com>
2026-07-07 10:34:32 +08:00
t8y2 7155992e04 feat(import): create table during data import 2026-07-07 02:01:02 +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
ce096ca21f fix(completion): scoped table lookup, preserve casing, lower Oracle table-function boost
* fix: improve schema-qualified SQL completion

* fix(completion): preserve casing in completion table cache key and relaxed filter

---------

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
Co-authored-by: t8y2 <1156263951@qq.com>
2026-07-06 18:28:23 +08:00
Moe. 51693bf296 fix(connection): allow immediate reconnect after canceling high-latency connection
* Fix: Scope Disconnects To Connection Attempts

- Allow reconnecting while a scoped disconnect is still pending
- Track successful local connection attempts for scoped backend disconnects
- Prevent older disconnect completions from clearing newer reconnect errors
- Update disconnect state immediately while preserving revision-safe cleanup
- Add regression tests for reconnect and pending disconnect race cases

* Fix: Clear Root Metadata Load On Connection Cancel

* Test: Mock Installed Agents In Connection Store Timeout Spec

* Test: Mock listInstalledAgents in connection store timeout tests
2026-07-06 18:06:05 +08:00
zipg 95397f7152 fix(mysql): add TLS failure hint 2026-07-06 10:47:57 +08:00
zergmk2 f800d80f90 feat: add SSH config aliases and PostgreSQL extensions 2026-07-05 20:29:49 +08:00
t8y2 e74782f651 feat(metadata): optimize agent metadata loading 2026-07-05 12:09:24 +08:00
二丫讲梵 fdaa949fb1 feat(sidebar): add local table search 2026-07-05 00:09:04 +08:00
Moe. 8a1a791927 feat(connection): add connection attempt cancellation 2026-07-04 23:47:53 +08:00
t8y2 7e7c4944e9 refactor(desktop): organize lib modules by domain 2026-07-04 13:53:52 +08:00
二丫讲梵 90d2ede740 feat(sidebar): add connection copy paste shortcuts 2026-07-04 12:19:56 +08:00
Moe. 42826f8f8b feat(sidebar): add connection multi-select toolbar 2026-07-04 03:50:08 +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
CSXFanMeng 82e9df1853 feat(export): add all-database export 2026-07-02 21:16:56 +08:00
二丫讲梵 af9ad39ffb feat(sidebar): 添加一键折叠所有节点功能
- 在侧边栏中添加了“折叠所有”按钮,用户可以一键折叠所有展开的节点。
- 更新了相关的国际化文本,支持多语言。
- 增加了 collapseAllGroups 和 collapseExpandedTreeNodes 函数以支持新功能。
2026-07-02 18:50:01 +08:00
二丫讲梵 c2cc9f22cf fix(connection): 复制连接时保持在同一组内
- 修改 `addConnection` 方法以支持指定目标组 ID
- 更新 `duplicateConnection` 函数以传递目标组 ID
- 添加测试用例以验证复制连接的功能
2026-07-02 10:34:48 +08:00
Abeautifulsnow d55a708d6a feat(query): add manual transaction controls 2026-07-02 01:30:31 +08:00
ff1a0f5eda fix: 隔离 MySQL 大库场景前台查询与后台元数据加载 (#2354)
* fix: isolate data tab mysql queries from metadata loads

* refactor(completion): drop unused limiter snapshot and share concurrency constant

---------

Co-authored-by: zero <zero@zeroMacmini.local>
Co-authored-by: t8y2 <1156263951@qq.com>
2026-07-01 20:03:09 +08:00
luoianun 95e3cb6571 fix(presto): optimize metadata completion 2026-07-01 19:05:45 +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