Skip to content

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

Open
cozyGarage wants to merge 4 commits into
TableProApp:linuxfrom
cozyGarage:feat/linux-clickhouse-driver
Open

feat(drivers): add ClickHouse driver via official clickhouse crate#1979
cozyGarage wants to merge 4 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.

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