QueryModelSchema

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

Published facts only: model values and operation-specific native locations.

Constructors

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

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Whether native storage can deliver an unrestricted source projection.

Link copied to clipboard

Whether some field has an alias a query may use instead of its canonical path.

Link copied to clipboard

Whether some field's raw value must not be compared. Model-wide search then cannot be admitted: it matches every searchable field, and storage decides which fields those are.

Link copied to clipboard

The logical paths of the masked fields, in declaration order.

Link copied to clipboard
Link copied to clipboard

The profile of this schema's model, or null for a custom model.

Link copied to clipboard
Link copied to clipboard

How the storage pages and aggregates, as its adapter declares it.

Link copied to clipboard

The content hash of what this schema lets callers do: the version of its budget-free capability descriptor.

Functions

Link copied to clipboard
fun QueryModelSchema.describe(budget: QueryBudget?, defaultListSize: Int?, timeZone: ZoneId = ZoneId.systemDefault()): QueryModelDescriptor

Describes how this model can be queried on one entry, derived from the same capability table and operator specs that admission reads, so the description and admission cannot disagree.

Link copied to clipboard
Link copied to clipboard

The ordering field of a FIRST / LAST metric: its own orderBy, or the model's event time when the metric sits at the record level (scope is null). Inside an element, and on a custom model, orderBy must be named.

Link copied to clipboard
fun QueryModelSchema.maskRecord(record: ObjectNode): ObjectNode

Masks record, a record of this schema's model, by the schema's response masks, in place.

Link copied to clipboard
Link copied to clipboard

Returns the record identity of this schema's model, rejecting custom models that define none.

Link copied to clipboard
fun supports(capability: QueryCapability): Boolean
Link copied to clipboard

The logical field a system-field filter targets on this schema's model (QueryModelProfile.systemField). A custom model shares the record metadata fields but defines no identity, so an identity filter on it is rejected.