Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt

Use this file to discover all available pages before exploring further.

final class atoti_directquery_redshift.ConnectionConfig

Config to connect to a Redshift database.

Example

>>> import os
>>> from atoti_directquery_redshift import ConnectionConfig
>>> connection_config = ConnectionConfig(
...     url="jdbc:redshift://"
...     + os.environ["REDSHIFT_ACCOUNT_IDENTIFIER"]
...     + ".redshift.amazonaws.com:5439/dev?user="
...     + os.environ["REDSHIFT_USERNAME"]
...     + "&schema=test_resources",
...     password=os.environ["REDSHIFT_PASSWORD"],
... )
>>> external_database = session.connect_to_external_database(connection_config)

auto_multi_column_array_conversion : AutoMultiColumnArrayConversion | None = None

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

cache : bool = True

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

column_clustered_queries : ‘all’ | ‘feeding’ = ‘feeding’

Control which queries will use clustering columns.

connection_pool_size : int = 450

The maximum size that the pool is allowed to reach, including both idle and in-use connections. When the pool reaches this size, and no idle connections are available, the creation of new connections will block.

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 JDBC connection string.