Commit Graph
38 Commits
Author SHA1 Message Date
t8y2 0449d7487a feat(cloudberry): add database support 2026-07-24 16:55:50 +08:00
Elias 0362fef273 feat(xugu): expose table child metadata 2026-07-24 16:47:13 +08:00
t8y2 3b004abb1e feat(oracle): add TNS connections and trigger editing 2026-07-23 23:03:45 +08:00
zipg 9a5edae219 fix(connection): improve connection picker interactions 2026-07-23 22:48:38 +08:00
Freedom 48b373729d fix(postgres): default absent sslmode to prefer 2026-07-23 15:36:23 +08:00
t8y2 31c7fcc16f fix(drivers): isolate concurrent install progress 2026-07-23 14:38:57 +08:00
miracle 8adf802444 fix(kafka): support ZooKeeper broker discovery 2026-07-23 00:20:47 +08:00
Yann丶 39e554369f feat(rabbitmq): add message queue management support 2026-07-22 23:52:09 +08:00
二丫讲梵 7961004a2c feat(connection): categorize database types 2026-07-22 23:25:22 +08:00
zipg 22ccdef594 feat(sqlserver): add explicit legacy driver selection 2026-07-22 23:02:08 +08:00
zipg a81d6da604 fix(dameng): support configurable system schemas 2026-07-22 17:40:40 +08:00
t8y2 96736d3dbf fix(redis): align test and saved connection paths 2026-07-22 15:01:18 +08:00
AiLi 574172f667 feat(rocketmq): add agent and management console 2026-07-20 22:58:05 +08:00
zipg e4aa0d3956 fix(jdbc): 为缺少依赖的自定义驱动提供安装入口 2026-07-20 11:34:23 +08:00
zipg 834ad772c6 feat(elasticsearch): support Kibana proxy connections 2026-07-20 00:53:49 +08:00
t8y2 c40683431b fix(postgres): align SSL mode behavior 2026-07-18 00:11:21 +08:00
t8y2 6660957153 feat(sidebar): decompose tree item runtime 2026-07-16 22:52:10 +08:00
zipg efe883f0d8 fix(zookeeper): open new queries in key browser 2026-07-16 17:30:19 +08:00
Freedom eb4abba713 fix(mysql): allow connection-level queries without database 2026-07-16 15:38:06 +08:00
shen 3748d83cde feat(desktop): add database info and SQL statement markers 2026-07-15 18:35:34 +08:00
zipg d65917d9f0 fix(tunnels): 恢复 SSH config 别名选择 (#3540) 2026-07-15 18:05:30 +08:00
miracle 0d57c39a78 perf(zookeeper): optimize connection initialization 2026-07-14 23:16:10 +08:00
zipg b5c6e7c0c1 fix(dameng): standardize display name 2026-07-14 22:12:15 +08:00
zipg da73867604 fix(kingbase): support Kingbase8 connection URLs 2026-07-14 17:12:26 +08:00
zipg 9ef30e7f4d fix(gbase): detect offline GBase 8a driver 2026-07-14 17:12:21 +08:00
zipg 8020fe5886 fix(sqlserver): preserve explicit instance ports 2026-07-14 01:27:40 +08:00
t8y2 8cbd41e021 fix(turso): hide visible database filter 2026-07-14 00:48:01 +08:00
rainhan c7991b316e feat(connection): test SSH tunnel profiles 2026-07-13 17:51:51 +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 67edb94b1d feat(sqlserver): support legacy TLS compatibility 2026-07-09 22:45:54 +08:00
zipg e25be6335d fix(core): reconnect stale agent pools on JDBC errors 2026-07-09 18:27:23 +08:00
zipg 1317301bcd feat(kafka): improve topic management and Kerberos auth 2026-07-09 11:41:22 +08:00
二丫讲梵 843babf522 feat(connection): select new databases when visible 2026-07-08 22:51:45 +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
zipgandzipg a212ccbfa7 fix(kafka): support cluster address separators
Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-07-06 18:11:10 +08:00
zipg 95397f7152 fix(mysql): add TLS failure hint 2026-07-06 10:47:57 +08:00
t8y2 7e7c4944e9 refactor(desktop): organize lib modules by domain 2026-07-04 13:53:52 +08:00