Flow PHP

Read implements Node

Read onlyYes
FinalYes

Interfaces

Node

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.
criteria()  : Criteria
extractor()  : Extractor
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
rowCount()  : RowCount
What this node does to the row count. Answered from what the node holds, never from a class list.
schema()  : Schema
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).
withColumns()  : self
withFilter()  : self
withLimit()  : self
Narrowing only: a second push may lower the limit, never raise it.
withOffset()  : self
withPathFilter()  : self

Methods

__construct()

public __construct(Extractor $extractor[, Criteria $criteria = new Criteria() ]) : mixed
Parameters
$extractor : Extractor

the instance the user handed to read(); the planner never copies it and changes nothing but its listing caches, which a run drops when it ends (Refreshable::refresh())

$criteria : Criteria = new Criteria()

what the plan pushed into the read, handed to Extractor::extract() when the plan runs; a non-file extractor receives only its limit

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

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

withColumns()

public withColumns(string ...$columns) : self
Parameters
$columns : string
Tags
throws
InvalidArgumentException

when the extractor is no FileExtractor, which has nowhere to apply it

Return values
self

withLimit()

Narrowing only: a second push may lower the limit, never raise it.

public withLimit(int $limit) : self
Parameters
$limit : int
Tags
throws
InvalidArgumentException

when $limit is not greater than 0

Return values
self

withOffset()

public withOffset(int $offset) : self
Parameters
$offset : int
Tags
throws
InvalidArgumentException

when the extractor is no FileExtractor, which has nowhere to apply it, or when $offset is below 0

Return values
self

withPathFilter()

public withPathFilter(Filter $filter) : self
Parameters
$filter : Filter
Tags
throws
InvalidArgumentException

when the extractor is no FileExtractor, which has nowhere to apply it

Return values
self
On this page

Search results