Flow PHP

CrossJoin implements JoinsFrame

Read onlyYes
FinalYes

Every left row is paired with every right row; the right side is pulled on the first batch.

Interfaces

JoinsFrame

Properties

$prefix  : string

Methods

__construct()  : mixed
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).

Properties

Methods

__construct()

public __construct(Node $input, Node $right[, string $prefix = '' ]) : mixed
Parameters
$input : Node
$right : Node
$prefix : string = ''

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>
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<string|int, mixed> $children) : self
Parameters
$children : array<string|int, mixed>

exactly as many as children() returns

Return values
self
On this page

Search results