atoti_directquery_clickhouse.ConnectionConfig#

final class atoti_directquery_clickhouse.ConnectionConfig#

Config to connect to a ClickHouse database.

column_clustered_queries: 'all' | 'feeding' = 'feeding'#

Control which queries will use clustering columns.

feeding_query_timeout: Duration = datetime.timedelta(seconds=3600)#

Timeout for queries performed on the external database during feeding phases.

The feeding phases are:

lookup_mode: 'allow' | 'warn' | 'deny' = 'warn'#

Whether lookup queries on the external database are allowed.

Lookup can be very slow and expensive as the database may not enforce primary keys.

max_sub_queries: Annotated[int, Field(gt=0)] = 500#

Maximum number of sub queries performed when splitting a query into multi-step queries.

password: str | None = None#

The password to connect to the database.

Passing it in this separate attribute prevents it from being logged alongside the connection string.

If None, a password is expected to be present in url.

query_timeout: Duration = datetime.timedelta(seconds=300)#

Timeout for queries performed on the external database outside feeding phases.

url: str#

The connection string.

The pattern is: (clickhouse|ch):(https|http|...)://login:password@host:port/database?prop=value. For example: "clickhouse:https://user:password@localhost:8123/mydb". When a part is missing, its default value will be used.