Lotus.Source.Adapters.Ecto.Dialect implementation for ClickHouse.
Everything that differs from the SQL dialects Lotus ships lives here:
- Identifiers and parameters — double-quoted identifiers, and ClickHouse's
{$0:Type}placeholders rather than$1or?. - Type mapping —
db_type_to_lotus_type/1covers the integer, float, decimal, date, string, array, map and tuple families, through theNullableandLowCardinalitywrappers. - Query plans —
query_plan/4runsEXPLAIN. - Safety defaults —
builtin_denies/1andbuiltin_schema_denies/1keep thesystemdatabase and the migration table out of reach, before any host visibility rule is considered. - Editor and AI — ClickHouse keywords, types and functions, and an
ai_context/0carrying the syntax notes that keep a model away from the patterns that perform badly here (PREWHERE,FINAL, approximate aggregations, column-oriented shapes).
Host applications do not call this module. It is reached through
Lotus.Source.Adapters.ClickHouse, which the Lotus pipeline drives.