Commit Graph
184 Commits
Author SHA1 Message Date
t8y2 904863a57c fix(kingbase): preserve SQLServer identity metadata 2026-07-15 13:01:18 +08:00
t8y2 002dbbf602 fix(oceanbase): use rowid for keyless Oracle rows 2026-07-15 13:00:38 +08:00
t8y2 69dd363417 fix(editor): preserve view type in object navigation 2026-07-14 18:41:26 +08:00
onenewcode 32b4acee3a feat(dameng): preserve character length units 2026-07-14 01:28:19 +08:00
二丫讲梵 e51004d79c fix(sidebar): keep partition pagination at schema root 2026-07-14 01:07:17 +08:00
jischeng a9ca66a829 fix(doris): qualify external catalog tables 2026-07-13 23:56:53 +08:00
zipg d1cce3ed1e fix(kingbase): quote MySQL-compatible identifiers 2026-07-13 18:51:32 +08:00
t8y2 a3f3cadb39 fix(postgres): distinguish overloaded routines 2026-07-13 00:26:04 +08:00
Anubis 2a92746dc0 feat(d1): add Cloudflare D1 database support 2026-07-12 22:03:57 +08:00
二丫讲梵 4f1997d8eb feat(types): add database type help 2026-07-12 13:28:46 +08:00
zipg 0650428d1c feat(structure): persist local column order 2026-07-12 12:06:49 +08:00
gggaiitx 3c4c16dc06 fix: 修复双击模式下单击对象失效,右键查看DDL、源码等复用右侧面板 2026-07-12 10:07:13 +08:00
zipg 3747f08baa fix(table): refresh data tabs after clearing tables 2026-07-11 17:48:51 +08:00
t8y2 cb51832d7b fix(structure): default editor to columns 2026-07-11 13:45:49 +08:00
zipg 8d14a056b7 fix(tdengine): support table row editing 2026-07-11 13:01:33 +08:00
gggaiitx 5bcd24df1c feat(objects): open database objects in side panel 2026-07-11 12:48:57 +08:00
zipg 5d5f7feb4a feat(dameng): support identity columns in table editor 2026-07-11 09:14:35 +08:00
zipg 343a5ba6c9 fix(grid): separate table open row limit 2026-07-11 08:55:43 +08:00
t8y2 16d7aef4db fix(grid): reload restored data tabs from shortcuts 2026-07-11 00:17:02 +08:00
zipg 9cf62a1c71 fix(tdengine): group subtables under super tables 2026-07-11 00:12:45 +08:00
onenewcode fc8d407a62 feat(sqlite): support table structure changes 2026-07-10 20:02:56 +08:00
gggaiitx 2f3d1de46a fix(structure): default edit view to DDL 2026-07-10 18:14:18 +08:00
t8y2 8c7e34a6de fix(mysql): edit enum column values 2026-07-10 16:10:54 +08:00
t8y2 abee51d625 fix(doris): use internal database for external catalogs 2026-07-10 15:48:56 +08:00
DengQingNian e429c8945b feat(mysql): edit column charset and collation 2026-07-10 15:13:57 +08:00
hhzorg d9bb92d1e9 feat(doris): show external catalogs in sidebar 2026-07-09 00:45:29 +08:00
t8y2 15d4dc6e2e fix(sqlserver): omit display width for integer types 2026-07-08 11:05:45 +08:00
t8y2 ad9841ab77 fix(import): allow selecting create-table column types 2026-07-08 00:02:47 +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
t8y2 4666f8a5f2 feat(import): add table import wizard 2026-07-06 00:01:41 +08:00
t8y2 cec17844a9 feat(structure): disable Oracle-like integer length 2026-07-04 23:17:51 +08:00
t8y2 223ecbec20 fix(oracle): skip rowid for view data queries 2026-07-04 17:07:43 +08:00
t8y2 7e7c4944e9 refactor(desktop): organize lib modules by domain 2026-07-04 13:53:52 +08:00