Compares numeric columns of two inputs, spec §7.12's "Compare Column Values": the inputs are joined on pairs of key columns, keeping every row of both (a full outer join), and each difference column x gives x_1 (the left value), x_2 (the right value), each of its input's type and empty for a row only the other input has, and x_valueDifference, x_1 - x_2 with an empty value counting as 0. The other columns are a join's.

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

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

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

  • A full outer join's columns without the difference columns (buildJoinSchemaColumns), then, suffix by suffix, x_1 (the left type), x_2 (the right type), both nullable, and x_valueDifference (getDifferenceResultType), never empty; undefined when invalid

    Parameters

    • inputSchemas: readonly Schema[]

    Returns undefined | Schema

  • Checks, in order, stopping at the first failing step: 1–4. the key columns, as a join's (validateJoinKeys); 5–6. there are difference columns, none twice; 7. each is named, not a key, in both inputs, of the same type in both and numeric, reported for every column at once; 8. no other column name is in both inputs; 9. each output name is valid and no other column's, compared as databases that ignore case compare them.

    Parameters

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

    Returns boolean