Lotus.Source.Adapters.ClickHouse (Lotus ClickHouse v0.1.0)

Copy Markdown View Source

Lotus.Source.Adapter implementation for ClickHouse.

Register it in :source_adapters and any repo running Ecto.Adapters.ClickHouse becomes a Lotus data source, queryable from the same editor, dashboards and AI assistant as a Postgres or MySQL source:

config :lotus,
  source_adapters: [Lotus.Source.Adapters.ClickHouse],
  data_sources: %{"events" => MyApp.ClickHouseRepo}

The adapter itself is thin. It is built with use Lotus.Source.Adapters.Ecto, so the Statement pipeline, preflight and introspection come from Lotus core, and everything ClickHouse-specific — identifier quoting, {$0:Type} placeholders, EXPLAIN plans, the type mapping, the editor configuration and the AI context — lives in Lotus.Source.Adapters.Ecto.Dialects.ClickHouse.

That split is the point of the Dialect contract: a SQL engine Lotus does not ship support for needs a dialect module, not a whole adapter. See the installation guide to configure it and how it works for the mechanics.