Flow PHP

JoinsFrame extends Node

Methods

children()  : array<int, Node>
Inputs, in the order they are planned. children()[0] is the node's ROW INPUT - the chain a rule walks down and the chain Planner::pipelines() cuts into pipelines. A join's second child is the joined frame's whole plan: its Result or Outputs root, read without taking its rows as input and never rewritten by this plan's rewrites.
redefines()  : Redefined
Columns this node introduces, renames or removes on its output. A predicate that references one of them means a different column below this node, so it cannot be pushed past it. Answered from what the node holds, never from a class list.
requiredInputColumns()  : RequiredColumns
right()  : Result|Outputs
The joined frame's whole plan - children()[1]. A rewrite of the plan holding this node never reaches into it.
rowCount()  : RowCount
What this node does to the row count. Answered from what the node holds, never from a class list.
transparency()  : Transparency
Whether the node's output is a function of the rows it is handed, one at a time, with no effect outside the stream.
withChildren()  : self
The same node over new children. Returns $this when the children are the ones it already holds, so an untouched subtree keeps its identity and its planned steps (PlannedNodes remembers them by identity).

Methods

children()

Inputs, in the order they are planned. children()[0] is the node's ROW INPUT - the chain a rule walks down and the chain Planner::pipelines() cuts into pipelines. A join's second child is the joined frame's whole plan: its Result or Outputs root, read without taking its rows as input and never rewritten by this plan's rewrites.

public children() : array<int, Node>

A leaf returns [].

Two kinds break that shape. A Transaction is a write root whose children are sibling write roots it commits together - never a row input, never on a spine. Outputs is the root of a plan with several consumers: children()[0] is the spine consumer, and every further child is a consumer too.

A plan's root is whatever consumer its Trigger built - a Result, a write, or an Outputs over several. A Result or Outputs is also the first node of a frame that read another frame, and the right child of a join.

Return values
array<int, Node>

redefines()

Columns this node introduces, renames or removes on its output. A predicate that references one of them means a different column below this node, so it cannot be pushed past it. Answered from what the node holds, never from a class list.

public redefines() : Redefined
Return values
Redefined

right()

The joined frame's whole plan - children()[1]. A rewrite of the plan holding this node never reaches into it.

public right() : Result|Outputs
Return values
Result|Outputs

rowCount()

What this node does to the row count. Answered from what the node holds, never from a class list.

public rowCount() : RowCount
Return values
RowCount

transparency()

Whether the node's output is a function of the rows it is handed, one at a time, with no effect outside the stream.

public transparency() : Transparency
Return values
Transparency

withChildren()

The same node over new children. Returns $this when the children are the ones it already holds, so an untouched subtree keeps its identity and its planned steps (PlannedNodes remembers them by identity).

public withChildren(array<int, Node> $children) : self
Parameters
$children : array<int, Node>

exactly as many as children() returns

Return values
self
On this page

Search results