Package-level declarations

Types

Link copied to clipboard
data class Arity(val values: ValueArity)

The values a filter operator carries; the fields it names follow from its target.

Link copied to clipboard

The single source of what a filter operator needs: its target and arity, the storage capability it requires, how its values are checked, what it costs and how normalization lowers it. Validation, entry gates, normalization and backends read this table instead of restating it.

Link copied to clipboard

The single specification of each aggregation group type (design §6.1): its wire name (the enum name, equal to the JSON type), the capability its field must grant and what it costs. Admission, field resolution, the entry gate and the descriptor read it, so a new group type is added here and every exhaustive when over AggregationGroup fails to compile until handled.

Link copied to clipboard
sealed interface Lowering

How normalization lowers an operator to the operators backends implement.

Link copied to clipboard

What an aggregation metric reads from each record.

Link copied to clipboard

The type of a metric's value.

Link copied to clipboard

The single specification of each aggregation metric type (design §6.1): its wire name (the enum name, equal to the JSON type), what it reads and with which capabilities, its result type, whether HAVING may compare it and what it costs. Admission, the entry gate, the descriptor and empty-group values read it, so a new metric type is added here and every exhaustive when over AggregationMetric fails to compile until handled.

Link copied to clipboard
Link copied to clipboard

What a filter operator applies to.

Link copied to clipboard

System fields a filter operator can target without naming them.

Link copied to clipboard

How many literal values a filter operator carries.

Link copied to clipboard

How a filter's values are checked against the field's declared value domain.