A class of a data space, queried in the host's query builder (PLAN §11.25): its columns and the rows its filter keeps. Its model is the data space's project, its mapping and runtime its execution context's, all three the cube's. Its columns are the engine's typing of its relation.

Hierarchy (View Summary)

Properties

columnRest: ReadonlyMap<string, SnapshotColumnRest>

Unknown keys of the saved schema snapshot's columns, by column name. They stay with the columns of that name when the source is resolved again.

entity: undefined | string

None while the source is unset

id: string

Unique within the query and shown to users, e.g. filter101

key: number

Assigned at construction from a monotonic sequence: the node's identity for change detection

rest: JsonObject

The keys of the node's saved JSON that this version does not know, kept so a re-save writes them back (PLAN §10.3); edits keep them too

Accessors

  • get acceptsNewInputs(): boolean

    Whether edits may change which nodes feed this one. Not for a node whose port semantics are unknown, such as an Unknown node.

    Returns boolean

  • get consumesInputOrder(): boolean

    Whether the node takes rows by their order, as a Limit does: the emitter then writes its input's order as a sort just before it (PLAN §11.4)

    Returns boolean

  • get portLabels(): readonly string[]

    Labels for the input ports, shown on the edges that feed them

    Returns readonly string[]

  • get ports(): readonly string[]

    The named input slots, in order: none for a source, one for a unary transform, two for a binary one

    Returns readonly string[]

  • get relationExpression(): JsonObject

    The relation's one expression, which the emitter writes; the source must be set

    Returns JsonObject

Methods

  • The description without the values users typed, which may be sensitive, for logs and telemetry. By default the description, which has none.

    Returns string

  • The order the node's rows come in, from its inputs' orders in port order (undefined where unknown), for computeRowOrders (PLAN §11.4). By default no order, as from a source or a join: a node that keeps its input's order says so, so a new node never claims an order on columns it may not have.

    Parameters

    • inputOrders: readonly (undefined | RowOrder)[]

    Returns undefined | RowOrder

  • Valid once set and resolved to a schema. Set but not resolved, it waits for the engine, which the editor asks as it lands (ERR_TYPING, pending rather than a problem); a failed resolution reports the first line of its error.

    Parameters

    • inputSchemas: readonly Schema[]
    • Optionalerrors: string[]

    Returns boolean

  • The node to keep once its two inputs swap ports: by default this node. A node whose settings name its inputs by side, such as a Join's key columns, returns a new node (same id) with those settings swapped too.

    Returns QueryNode