Commit Graph
222 Commits
Author SHA1 Message Date
huijiangyuan 3a2dc4225a feat(ssh): support key+password combined authentication 2026-07-26 17:52:33 +08:00
zipg e6da0a6298 fix(sqlserver): preserve legacy compatibility setting 2026-07-25 19:41:27 +08:00
wbean 98d1ab3ab3 feat(sidebar): add persistent table filters 2026-07-25 08:46:12 +08:00
t8y2 7ee335e38a feat(uxdb): add UXDB database support 2026-07-24 21:15:06 +08:00
t8y2 3b004abb1e feat(oracle): add TNS connections and trigger editing 2026-07-23 23:03:45 +08:00
二丫讲梵 3c04adbdd8 feat(nacos): add r-nacos compatibility 2026-07-23 22:42:55 +08:00
Freedom 48b373729d fix(postgres): default absent sslmode to prefer 2026-07-23 15:36:23 +08:00
zipg 22ccdef594 feat(sqlserver): add explicit legacy driver selection 2026-07-22 23:02:08 +08:00
miracle 0e33c73035 perf(import): optimize large file imports 2026-07-22 16:56:49 +08:00
Jamie 94a40a8025 feat(clickhouse): forward URL parameters to HTTP requests 2026-07-22 15:09:00 +08:00
azens 7edab93ec2 feat(proxy-tunnel): add proxy endpoint profile test 2026-07-21 22:56:39 +08:00
AiLi 574172f667 feat(rocketmq): add agent and management console 2026-07-20 22:58:05 +08:00
zipg 87493881c3 fix(agent): reclaim idle metadata connections 2026-07-20 17:32:50 +08:00
t8y2 083ffe7a35 fix(ci): split checks and enforce warning-free Rust builds 2026-07-20 13:45:59 +08:00
二丫讲梵 85836f8e95 feat(sqlite): support attached database schema changes 2026-07-20 10:51:16 +08:00
zipg 834ad772c6 feat(elasticsearch): support Kibana proxy connections 2026-07-20 00:53:49 +08:00
vrustx 285196894e feat(core): update pool activity timestamps atomically 2026-07-19 08:52:29 +08:00
t8y2 c52621bf06 fix(postgres): skip eager pool validation query 2026-07-18 19:42:45 +08:00
vrustx 6ce477afe9 fix(core): update SSL mode URL assertions 2026-07-18 16:36:54 +08:00
zipg 0f335119e3 fix(agent): allow driver upgrades after closing connections 2026-07-16 17:31:05 +08:00
t8y2 295b67dd36 feat(core): optimize query resource lifecycle 2026-07-16 00:19:24 +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 8020fe5886 fix(sqlserver): preserve explicit instance ports 2026-07-14 01:27:40 +08:00
zipg d1cce3ed1e fix(kingbase): quote MySQL-compatible identifiers 2026-07-13 18:51:32 +08:00
rainhan c7991b316e feat(connection): test SSH tunnel profiles 2026-07-13 17:51:51 +08:00
Komh 35ca4e3a37 feat(duckdb): add connection bootstrap and remote catalogs 2026-07-13 17:03:33 +08:00
t8y2 67541232a2 fix(agents): share runtimes across connection sessions 2026-07-13 15:13:48 +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
t8y2 c3ec7fceef fix(sqlite): reuse in-memory database connection 2026-07-12 11:46:29 +08:00
miracle 16e879e40e perf(query): optimize result loading and connection reuse 2026-07-12 11:18:52 +08:00
wuxiemian 1be66fb115 feat(safety): add production environment safeguards 2026-07-12 10:02:27 +08:00
t8y2 3afc0e74d2 fix(core): preserve query session connections 2026-07-11 19:38:45 +08:00
t8y2 996f4c2d38 fix(connection): preserve saturated connection pools 2026-07-11 00:02:33 +08:00
zipg 67edb94b1d feat(sqlserver): support legacy TLS compatibility 2026-07-09 22:45:54 +08:00
zipg 2dc8609495 fix(mysql): skip MySQL-only setup for compatible engines 2026-07-08 15:37:49 +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
t8y2 e84fb12fcc feat(sqlite): support SQLCipher encrypted databases 2026-07-06 14:24:28 +08:00
t8y2 0c965eb836 fix(oceanbase): sync query timeout before execution 2026-07-06 13:40:20 +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 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
t8y2 dee5bb2fd8 fix(core): remove unused DuckDB isolation helper 2026-07-05 21:10:25 +08:00
t8y2 693eb0dbb9 fix(core): guard mq registry cleanup 2026-07-05 01:55:27 +08:00
Moe. 8a1a791927 feat(connection): add connection attempt cancellation 2026-07-04 23:47:53 +08:00
miracle 454457f191 fix(duckdb): add worker process isolation 2026-07-04 23:43:22 +08:00
miracle 30b9460442 fix(dbx-core): improve duckdb query cancellation 2026-07-04 02:31:32 +08:00