ClickHouseDatasetProperties

@ConfigurationProperties(prefix = "wow.query.clickhouse")
data class ClickHouseDatasetProperties(var enabled: Boolean = false, var endpoints: List<URI> = emptyList(), var username: String = "default", var password: String = "", var database: String = "default", var connectionTimeout: Duration = Duration.ofSeconds(5), var socketTimeout: Duration = Duration.ofSeconds(60), var maxConnections: Int = 16, var metadataTtl: Duration = Duration.ofMinutes(1), var http: ClickHouseDatasetProperties.HttpLimits = HttpLimits(), var inProcess: ClickHouseDatasetProperties.Limits = Limits(), var sources: Map<String, ClickHouseDatasetProperties.Source> = emptyMap())

The ClickHouse server the datasets of wow.query.datasets are read from (clickhouse-support).

Constructors

Link copied to clipboard
constructor(enabled: Boolean = false, endpoints: List<URI> = emptyList(), username: String = "default", password: String = "", database: String = "default", connectionTimeout: Duration = Duration.ofSeconds(5), socketTimeout: Duration = Duration.ofSeconds(60), maxConnections: Int = 16, metadataTtl: Duration = Duration.ofMinutes(1), http: ClickHouseDatasetProperties.HttpLimits = HttpLimits(), inProcess: ClickHouseDatasetProperties.Limits = Limits(), sources: Map<String, ClickHouseDatasetProperties.Source> = emptyMap())

Types

Link copied to clipboard
object Companion
Link copied to clipboard
data class HttpLimits(@DefaultValue(value = ["30s"]) var maxExecutionTime: Duration? = Duration.ofSeconds(30), var maxRowsToRead: Long? = null, var maxResultRows: Long? = null, @DefaultValue(value = ["4294967296"]) var maxMemoryUsage: Long? = 4L * 1024 * 1024 * 1024)

What one HTTP query may cost: 30 seconds and 4 GiB of memory unless set; untrusted callers get a bound.

Link copied to clipboard
data class Limits(var maxExecutionTime: Duration? = null, var maxRowsToRead: Long? = null, var maxResultRows: Long? = null, var maxMemoryUsage: Long? = null)

What one query may cost; unset leaves the server's own setting.

Link copied to clipboard
data class Source(var endpoints: List<URI> = emptyList(), var username: String = "default", var password: String = "", var database: String = "default", var connectionTimeout: Duration = Duration.ofSeconds(5), var socketTimeout: Duration = Duration.ofSeconds(60), var maxConnections: Int = 16)

One named ClickHouse server: its connection, as the default source's settings say for it.

Properties

Link copied to clipboard

how long to wait for a connection.

Link copied to clipboard

the database of a dataset whose storage.table names none.

Link copied to clipboard

serves datasets from ClickHouse.

Link copied to clipboard

the HTTP endpoints, such as http://clickhouse:8123.

Link copied to clipboard

the limits of an HTTP query, sent as server settings; an over-limit query fails.

Link copied to clipboard

the limits of an in-process query; none by default, as in-process callers are trusted code.

Link copied to clipboard

the connection pool limit.

Link copied to clipboard

how long a table's columns and engine are reused before system.columns is read again.

Link copied to clipboard

the account's password.

Link copied to clipboard

how long to wait for a response to make progress.

Link copied to clipboard

other ClickHouse servers, by name, that a dataset reads from when its storage.source names one (dataset platform design §5.1); the settings above are the default source's. The limits apply to every source.

Link copied to clipboard

the account; give Wow a read-only one.

Functions

Link copied to clipboard

The default source's connection, as a Source.

Link copied to clipboard