Skip to main content
atoti_directquery_snowflake.ConnectionConfig(
    *,
    time_travel: bool = True,
    password: str | None = None,
    cache: bool = True,
    auto_multi_column_array_conversion: AutoMultiColumnArrayConversion | None = None,
    column_clustered_queries: ‘all’ | ‘feeding’ = 'feeding',
    feeding_query_timeout: Duration = datetime.timedelta(seconds=3600),
    lookup_mode: ‘allow’ | ‘warn’ | ‘deny’ = 'warn',
    max_sub_queries: Annotated[int, Field(gt=0)] = 500,
    query_timeout: Duration = datetime.timedelta(seconds=300),
    url: str,
    feeding_warehouse_name: str | None = None,
    main_warehouse_name: str | None = None,
)
Config to connect to a Snowflake database.

Attributes

url

The JDBC connection string. If feeding_warehouse_name is not None, the warehouse cannot be specified in the URL. See https://docs.snowflake.com/en/user-guide/jdbc-configure.html#jdbc-driver-connection-string for more information.

feeding_warehouse_name

The name of the warehouse to use for the initial feeding. If None, the main warehouse will be used.

main_warehouse_name

The name of the warehouse to use for all other queries than the ones handled by the feeding warehouse. If None, the warehouse defined in :attr: url will be used. If :attr: url does not specify a warehouse, the user’s default warehouse will be used.

auto_multi_column_array_conversion

When not None, multi-column array conversion will be performed automatically.

cache

Whether to look for query results in the external database query cache.

column_clustered_queries

Control which queries will use clustering columns.

feeding_query_timeout

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

lookup_mode

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

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

password

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

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

time_travel

Whether to use time travel in queries.