Skip to content

feat(drivers): add ClickHouse driver via official clickhouse crate - #1979

Merged
datlechin merged 5 commits into
TableProApp:linuxfrom
cozyGarage:feat/linux-clickhouse-driver
Jul 29, 2026
Merged

feat(drivers): add ClickHouse driver via official clickhouse crate#1979
datlechin merged 5 commits into
TableProApp:linuxfrom
cozyGarage:feat/linux-clickhouse-driver

Conversation

@cozyGarage

Copy link
Copy Markdown

Summary

  • Add tablepro-driver-clickhouse using the official `clickhouse` Rust crate (HTTP :8123).
  • Dynamic result sets via `FORMAT JSON`; catalog from `system.tables` / `system.columns`; ORDER BY columns mapped to `primary_key`.
  • Register the driver in `app::build_registry`; quote ClickHouse identifiers with backticks in `sql_dialect`.
  • Unit tests for bind/type mapping; testcontainers integration suite (connect, PK detection, pagination, round-trip, bad SQL).

Test plan

  • `cargo test -p tablepro-driver-clickhouse --lib`
  • `cargo clippy -p tablepro-driver-clickhouse --all-targets -- -D warnings`
  • `cargo test --test integration -p tablepro-driver-clickhouse -- --include-ignored --test-threads=1` via Podman (`DOCKER_HOST=unix:///run/user/$UID/podman/podman.sock`, `TESTCONTAINERS_RYUK_DISABLED=true`) against `clickhouse/clickhouse-server:24.8`
  • `cargo build -p tablepro-app` (registry includes ClickHouse)
  • CI `Build Linux` green

Made with Cursor

Co-authored-by: Cursor <cursoragent@cursor.com>
@cozyGarage

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA.

@datlechin
datlechin merged commit 491181b into TableProApp:linux Jul 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants