Commit Graph

82 Commits

Author SHA1 Message Date
t8y2 67541232a2 fix(agents): share runtimes across connection sessions 2026-07-13 15:13:48 +08:00
Guoyu Su a99a34b4ab
fix(mongodb): use dedicated count for legacy collections 2026-07-13 13:21:50 +08:00
zipg 9a09bd49cb
fix(mongodb): support array filters in updates 2026-07-12 23:13:36 +08:00
t8y2 72880d2933 feat(h2): add legacy 2.1 driver 2026-07-12 22:14:01 +08:00
t8y2 6368c49c16 fix(kingbase): support PostgreSQL catalog mode 2026-07-12 21:28:46 +08:00
zipg 8d14a056b7
fix(tdengine): support table row editing 2026-07-11 13:01:33 +08:00
t8y2 28ee0ecc8c fix(access): support encrypted database files 2026-07-11 10:44:20 +08:00
zipg 9cf62a1c71
fix(tdengine): group subtables under super tables 2026-07-11 00:12:45 +08:00
t8y2 3e628d2c7b fix(oceanbase): sync Oracle session query timeout 2026-07-10 22:16:46 +08:00
t8y2 eb3d5e4071 fix(gbase8s): load table metadata details 2026-07-10 22:14:26 +08:00
zipg e1d6d1224e
feat(oracle): support explain plans 2026-07-10 17:55:03 +08:00
t8y2 2bfa4c3234 fix(gbase): load object source definitions 2026-07-10 17:08:42 +08:00
zipg 58168472a8
fix(oracle): 保留堡垒机用户名的原始认证语义 (#3113)
Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-07-10 14:07:52 +08:00
zipg cc72b7a4e7
fix(sqlserver): initialize legacy TLS compatibility earlier 2026-07-10 12:27:44 +08:00
zipg 8a511d2765
fix(zookeeper): optimize node list loading 2026-07-10 00:32:04 +08:00
zipg 67edb94b1d
feat(sqlserver): support legacy TLS compatibility 2026-07-09 22:45:54 +08:00
t8y2 061240390e fix(oracle): render raw values as hex 2026-07-09 21:14:10 +08:00
zipg ce8cb2b509
fix(oracle): preserve DATE time in display and export 2026-07-09 15:04:34 +08:00
t8y2 c6fc5cb909 fix(oracle): quote non-regular usernames 2026-07-09 14:26:17 +08:00
Guoyu Su ca9e11217e
fix(mongodb): support collection drop shell command 2026-07-09 14:16:32 +08:00
zipg 1317301bcd
feat(kafka): improve topic management and Kerberos auth 2026-07-09 11:41:22 +08:00
Guoyu Su 3bc208dbf9
fix(mongodb): support legacy index commands 2026-07-09 00:33:52 +08:00
K 1d64d66184
fix(agents): add url params for cassandra driver 2026-07-09 00:32:52 +08:00
jischeng ee34a17e82
fix(spark,hive): cap Thrift fetch size 2026-07-08 23:44:59 +08:00
Guoyu Su 313ae2d071
fix(zookeeper): show system znodes in root listing 2026-07-08 23:44:41 +08:00
zipg 0329d9088e
feat(dameng): support schema creation 2026-07-08 19:25:20 +08:00
Guoyu Su fd80464cb2
fix(kafka): clamp peek offset to available range 2026-07-08 17:12:14 +08:00
zipg ac6b2f6cb5
fix(oracle): use USER views for current schema objects 2026-07-08 16:09:40 +08:00
zipg 3a35f5b911
fix(oceanbase): update default connection port 2026-07-08 13:31:45 +08:00
t8y2 2929b1c035 feat(hive): add Kerberos connection options 2026-07-08 13:23:21 +08:00
zipg 6cba08fccb
fix(kingbase): 修复连接与元数据查询异常 2026-07-07 22:12:36 +08:00
t8y2 bc37483343 fix(oracle): add GB18030 charset fallback 2026-07-07 17:54:52 +08:00
LRcoding fc01cea80f
fix(oracle): preserve plsql block terminators 2026-07-07 15:29:43 +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
zipg 668919a7c9
fix(gbase8s): make view source saves safer 2026-07-07 01:50:53 +08:00
zipg f45011977f
fix(dameng): avoid truncating exported DDL 2026-07-07 00:23:07 +08:00
t8y2 1480e08d17 fix(kingbase): fallback database list catalog 2026-07-06 20:15:13 +08:00
t8y2 64d4afec1b test(tdengine): expect USE schema switch before query execution 2026-07-06 20:13:52 +08:00
t8y2 15114f58dd fix(dameng): build index DDL from metadata 2026-07-06 20:01:53 +08:00
t8y2 ece47c85d6 fix(kingbase): prioritize selected schema search path 2026-07-06 19:42:58 +08:00
t8y2 ae050dadd0 fix(oracle): avoid eager xmltype metadata lookup 2026-07-06 13:37:15 +08:00
t8y2 9cc7244dab feat(oceanbase-oracle): include default/comment table metadata 2026-07-05 21:49:46 +08:00
t8y2 e74782f651 feat(metadata): optimize agent metadata loading 2026-07-05 12:09:24 +08:00
t8y2 6529f22fed fix(cassandra): omit empty keyspace in jdbc url 2026-07-04 23:31:32 +08:00
t8y2 55aa0f8624 fix(mongodb): preserve int64 document filters 2026-07-03 17:39:48 +08:00
t8y2 5c79c26954 fix(iotdb): load databases without duplicate schema 2026-07-03 17:33:57 +08:00
t8y2 76f079f28b fix(h2): display JSON columns as text 2026-07-03 17:10:57 +08:00
t8y2 d64299b59e fix(gbase): load routines in object list 2026-07-03 16:34:47 +08:00
t8y2 e3b3dfc095 fix(dameng): include independent indexes in table DDL 2026-07-03 11:59:41 +08:00
miracle 72a7207283
fix(kafka): improve mq admin compatibility 2026-07-02 12:58:33 +08:00