ClickHouseDatasetQueryBackend

The four query primitives over one dataset's table. Every statement runs under the limits of the query's entry (ClickHouseDatasetOptions.limits) and reads FINAL when the dataset deduplicates.

A record carries the dataset's declared fields only. A keyset page orders by the cursor sort, whose fields are non-Nullable columns (the only ones granted cursor sort), and reads each row's position from extra columns: a date as epoch milliseconds, a decimal as its exact text, anything else as its JSON value.

Constructors

Link copied to clipboard
constructor(dataset: QueryDataset, storage: ClickHouseDatasetStorage, executor: ClickHouseExecutor, options: ClickHouseDatasetOptions, table: () -> Mono<ClickHouseTable>)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val namedAggregate: NamedAggregate

Functions

Link copied to clipboard
open override fun aggregate(query: AdmittedQuery<AggregationQuery>, window: GroupWindow): Flux<ObjectNode>
Link copied to clipboard
open override fun count(query: AdmittedQuery<FilterExpression>): Mono<Long>
Link copied to clipboard
open override fun page(query: AdmittedQuery<Queryable<*>>, window: PageWindow): Mono<BackendPage>
Link copied to clipboard
open override fun stream(query: AdmittedQuery<IListQuery>): Flux<ObjectNode>