# AshClickhouse v0.1.0 - Table of Contents

## Pages

- [AshClickhouse](readme.md)
- [Changelog](changelog.md)

## Modules

- [AshClickhouse.Connection](AshClickhouse.Connection.md): Process wrapper around the `clickhouse` client connection.
- [AshClickhouse.Identifier](AshClickhouse.Identifier.md): Helpers for safely quoting and sanitizing ClickHouse identifiers.

- Core
  - [AshClickhouse](AshClickhouse.md): AshClickhouse — an Ash Framework data layer for ClickHouse.
  - [AshClickhouse.DataLayer](AshClickhouse.DataLayer.md): An Ash data layer for ClickHouse.
  - [AshClickhouse.Query](AshClickhouse.Query.md): Represents a pending ClickHouse query built from Ash query expressions.

- Schema Helpers
  - [AshClickhouse.Migration](AshClickhouse.Migration.md): Generates ClickHouse `CREATE TABLE` statements from Ash resources.

- Data Layer Modules
  - [AshClickhouse.DataLayer.Dsl](AshClickhouse.DataLayer.Dsl.md): DSL extensions for configuring ClickHouse-specific options on Ash resources.
  - [AshClickhouse.DataLayer.QueryBuilder](AshClickhouse.DataLayer.QueryBuilder.md): Builds ClickHouse SQL from an `AshClickhouse.Query` struct.
  - [AshClickhouse.DataLayer.Types](AshClickhouse.DataLayer.Types.md): Mapping between Ash attribute types and ClickHouse column types.

- Repo Helpers
  - [AshClickhouse.Repo](AshClickhouse.Repo.md): Configuration module for AshClickhouse.

- Observability
  - [AshClickhouse.Telemetry](AshClickhouse.Telemetry.md): Telemetry helpers for AshClickhouse.

- Error Handling
  - [AshClickhouse.Error](AshClickhouse.Error.md): Error types for the AshClickhouse data layer.

- Exceptions
  - [AshClickhouse.Error.ClickhouseError](AshClickhouse.Error.ClickhouseError.md): An error returned by the ClickHouse client.
  - [AshClickhouse.Error.ConfigurationError](AshClickhouse.Error.ConfigurationError.md): An error in data layer or repo configuration.
  - [AshClickhouse.Error.QueryError](AshClickhouse.Error.QueryError.md): An error while building or running a query.

## Mix Tasks

- [mix ash_clickhouse.migrate](Mix.Tasks.AshClickhouse.Migrate.md): Creates ClickHouse tables for all AshClickhouse resources.
- [mix ash_clickhouse.setup](Mix.Tasks.AshClickhouse.Setup.md): Creates the ClickHouse database for the configured repo.

