By default, no condition yet, and so nothing checked
Optionallambda: JsonObjectOptionalrest: JsonObjectReadonlycodeThe condition's text, as the user typed it
ReadonlyidUnique within the query and shown to users, e.g. filter101
ReadonlykeyAssigned at construction from a monotonic sequence: the node's identity for change detection
ReadonlylambdaThe engine's JSON for the text, a lambda, without source information and
with its number literals as their digit strings, as an Extend column's
(PLAN §11.7); undefined until the text is checked
ReadonlyrestThe 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
Whether edits may change which nodes feed this one. Not for a node whose port semantics are unknown, such as an Unknown node.
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)
Labels for the input ports, shown on the edges that feed them
The named input slots, in order: none for a source, one for a unary transform, two for a binary one
The type discriminator, e.g. filter
The check, if it is for this input schema and this condition; else nothing yet
A one-line description for the canvas and the details panel
Without the condition, which may hold sensitive values, for logs and telemetry
The condition's first problem that needs no engine, undefined when it
has none: a condition, a lambda of one row, and no backslash in a
LIKE function's literal. The editor checks these before it asks the
engine to check the condition.
Filter by x | $x.PRICE > 10, on one line
Checks, in order: the condition's problems that need no engine
(getConditionProblem); then the check: pending until the engine has
checked this condition for this input (ERR_CHECKING), then why it
couldn't, naming the condition's type when it isn't one Boolean
Optionalerrors: string[]A new filter with the same id and condition, and this check
A new filter with the same id, and this condition; the check is kept, and is current only if it is for the same lambda
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.
Keeps the rows of its input for which a condition is true (PLAN §11.11): a lambda of one row, as written in Query's text mode,
x | $x.SHIPPED_DATE > $x.REQUIRED_DATE, which the engine checks against the cube's model. Until it has, for this input and this condition, the node waits (ERR_CHECKING). The columns stay as they are, and the rows kept stay in the input's order.