Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 1 addition & 128 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,6 @@ rustls-native-certs = "0.8.1"
rustls-pemfile = "2.2.0"
rusqlite = { version = "0.38", features = ["bundled", "column_decltype"] }
duckdb = { version = "1.10501.0", features = ["bundled"] }
clickhouse = { version = "=0.15.1", features = ["rustls-tls-native-roots"] }
sqlformat = "0.5.0"
sqlparser = "0.62.0"
uuid = { version = "1.23.0", features = ["v4", "serde"] }
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@

### Databases and data tools

- Built-in support for MySQL, PostgreSQL, SQLite, DuckDB, SQL Server, Oracle, and ClickHouse; TDengine is provided as an installable extension driver, alongside Dameng DM, KingbaseES, GBase 8s, OceanBase, openGauss, Apache IoTDB, and Oscar.
- Built-in support for MySQL, PostgreSQL, SQLite, DuckDB, SQL Server, and Oracle; ClickHouse and TDengine are provided as installable extension drivers, alongside Dameng DM, KingbaseES, GBase 8s, OceanBase, openGauss, Apache IoTDB, and Oscar.
- Browse database objects, edit and run SQL with execution plans, import and export data, compare schemas and data, and visualize relationships with ER diagrams.
- Dedicated Redis and MongoDB interfaces; middleware connections such as MQTT are provided through installable extensions (MQTT 3.1.1 over rustls, SSH tunneling, auto-resubscribe), with subscribe, messages, and publish views.
- Table-data tabs support batch-editing selected cells, typed editors for date/time/numeric columns, and copying table or column names from context menus.
Expand Down
2 changes: 1 addition & 1 deletion README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@

### 数据库与数据工具

- 内置支持 MySQL、PostgreSQL、SQLite、DuckDB、SQL Server、Oracle、ClickHouse;TDengine 改为可安装的扩展驱动,与达梦 DM、金仓 KingbaseES、GBase 8s、OceanBase、openGauss、Apache IoTDB 和神通 Oscar 驱动一同通过扩展市场安装。
- 内置支持 MySQL、PostgreSQL、SQLite、DuckDB、SQL Server、Oracle;ClickHouse 与 TDengine 改为可安装的扩展驱动,与达梦 DM、金仓 KingbaseES、GBase 8s、OceanBase、openGauss、Apache IoTDB 和神通 Oscar 驱动一同通过扩展市场安装。
- 浏览数据库对象,编辑和执行 SQL 并查看执行计划,导入导出数据,比较 Schema/Data,并通过 ER 图查看关系。
- 专用的 Redis 与 MongoDB 界面;MQTT 等中间件连接改为通过扩展市场安装的扩展提供(MQTT 3.1.1 + rustls 加密,支持 SSH 隧道与断线自动重订阅),提供订阅、消息、发布三个视图。
- 表数据页签支持批量编辑选中单元格,日期/时间/数值列使用对应的类型化编辑控件,支持右键复制表名与字段名。
Expand Down
12 changes: 12 additions & 0 deletions crates/core/src/storage/models.rs
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,8 @@ impl DatabaseType {
// TDengine 自 v0.16 起由 tdengine IPC 驱动扩展提供,统一走外部驱动路径
// (连接表单/打开守卫/树菜单/IPC 协议均据此路由到驱动扩展)
Self::TDengine => Some("tdengine"),
// ClickHouse 同样改由 clickhouse IPC 驱动扩展提供,历史内置连接照此路由
Self::ClickHouse => Some("clickhouse"),
_ => None,
}
}
Expand Down Expand Up @@ -2878,6 +2880,16 @@ mod tests {
assert_eq!(None, DatabaseType::MySQL.external_driver_id());
}

#[test]
fn clickhouse_routes_to_external_driver() {
assert_eq!(
Some("clickhouse"),
DatabaseType::ClickHouse.external_driver_id()
);
assert!(!DatabaseType::ClickHouse.is_external());
assert_eq!(None, DatabaseType::PostgreSQL.external_driver_id());
}

fn ssh_connection_with_id(id: i64, auth_method: SshAuthMethod) -> StoredConnection {
let mut connection = StoredConnection::new_ssh(
"prod-bastion".to_string(),
Expand Down
1 change: 0 additions & 1 deletion crates/db/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ rustls-pemfile.workspace = true
tiberius.workspace = true
tokio-util = { workspace = true, features = ["compat"] }
oracle.workspace = true
clickhouse.workspace = true
one-core.workspace = true
ssh.workspace = true
sqlformat.workspace = true
Expand Down
Loading
Loading