QueryStorageFacts

class QueryStorageFacts(val bindings: Map<QueryPathTemplate, QueryValueBindings>, val capabilities: Set<QueryCapability> = emptySet(), val fullProjectionAvailable: Boolean = true, val approximateMetrics: Set<String> = emptySet(), val storage: StorageSupport = StorageSupport.NATIVE)

What a storage proves about one read model, in the storage-neutral vocabulary of capabilities: for each logical path, the capabilities its native structures can execute and the physical location each binds to, with the projection and response locations; and the storage's model-wide support. Which native types, index kinds or mapping options prove a capability is the storage's knowledge; what a logical value must be for a capability to apply at all is the Catalog's (compile).

Constructors

Link copied to clipboard
constructor(bindings: Map<QueryPathTemplate, QueryValueBindings>, capabilities: Set<QueryCapability> = emptySet(), fullProjectionAvailable: Boolean = true, approximateMetrics: Set<String> = emptySet(), storage: StorageSupport = StorageSupport.NATIVE)

Properties

Link copied to clipboard

The metric types (DISTINCT_COUNT, PERCENTILE) the storage estimates rather than computes exactly.

Link copied to clipboard
Link copied to clipboard

The model-wide capabilities the storage proves, such as a full-text search over the whole record.

Link copied to clipboard

Whether native storage can deliver an unrestricted source projection.

Link copied to clipboard

How the storage pages and aggregates.

Functions

Link copied to clipboard

Compiles these facts about logicalSchema into the model's schema. The storage-independent capability rules apply here, once for every storage: