Joins its right input to its left one on pairs of key columns, matched by position. Key values match when equal, and a NULL key never matches.

Hierarchy (View Summary)

Constructors

Properties

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[]

Methods

  • The join type and its key pairs, e.g. Left Outer join on "DESK_ID" = "ID", as the other nodes describe themselves; the spec's generic text until a pair is set (UX audit A4, user, 2026-10-11)

    Returns string

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

    Returns string

  • Whether the node has none of the settings it needs yet, e.g. a Join with no key pair: the canvas shows it as not set, not by its description

    Returns boolean

  • 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

  • Checks, in order, stopping at the first failing step: 1–2. there are left and right key columns; 3. as many on each side; 4. each pair's columns exist in their inputs and have compatible types, reported for every pair at once; 5. no other column name is in both inputs.

    Parameters

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

    Returns boolean