DatasetQueryModelProfile

The record layout of one QueryDataset: the whole record is payload, its fields are the dataset's declaration, and the system fields are the columns the dataset names. A dataset has no aggregate id and no deletion flag, so a filter on either is an unknown field, and no default scope.

Properties

Link copied to clipboard
Link copied to clipboard
open override val eventTimeField: QueryField<*>?

When the record last changed: the default orderBy of FIRST and LAST metrics; null when there is none.

Link copied to clipboard
open override val fixedTenantId: String?

The one tenant every record belongs to, for a model with no tenant field (a platform-level dataset); null otherwise. A tenant filter then matches every record when it names this tenant and none when it names another, and it pins requiredScope.

Link copied to clipboard
open override val identityField: QueryField<*>?

Unique record identity: the target of id filters and the tie-breaker of every cursor; null when the model declares none, which rejects both.

Link copied to clipboard
open override val payloadField: QueryField<*>?

Logical field that holds the user payload; schema extensions must live below it. null when the whole record is payload, as in a dataset.

Link copied to clipboard
open override val requiredScope: QueryField<*>

The tenant column, or, for a platform-level dataset, the tenant it pins through fixedTenantId.

Link copied to clipboard

None: a dataset's fields are its declaration, supplied by QueryDatasets.schemaSource.

Functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun systemField(field: SystemField): QueryField<*>?

The logical field a system-field filter (ID, TENANT_ID, DELETION, ...) targets: identityField for the record identity; null when the model does not carry field.

Link copied to clipboard
open override fun toString(): String