Flow PHP

Criteria

Read onlyYes
FinalYes

Properties

$columns  : array<string|int, mixed>|null
$conjuncts  : array<string|int, mixed>
$limit  : null|int<1, max>
$offset  : int<0, max>
$pathFilter  : Filter
$split  : FileSplit|null

Methods

__construct()  : mixed
narrows()  : bool
withColumns()  : self
withFilter()  : self
withLimit()  : self
Narrowing only: a second push may lower the limit, never raise it.
withOffset()  : self
Adds to the offset already pushed. The limit stays: it bounds the rows the plan needs, and skipping more only lowers that.
withPathFilter()  : self
withSplit()  : self

Properties

$columns

public array<string|int, mixed>|null $columns = null

$conjuncts

public array<string|int, mixed> $conjuncts = []

$pathFilter

public Filter $pathFilter = new OnlyFiles()

Methods

__construct()

public __construct([null|int $limit = null ][, int $offset = 0 ][, Filter $pathFilter = new OnlyFiles() ][, array<int, ScalarFunction> $conjuncts = [] ][, null|FileSplit $split = null ][, null|array<int, string> $columns = null ]) : mixed
Parameters
$limit : null|int = null

the rows the plan needs after $offset, see Extractor::extract()

$offset : int = 0

the rows the source skips before it yields, counted like $limit; unlike $limit it is binding, and only a FileExtractor ever receives one

$pathFilter : Filter = new OnlyFiles()

what this read lists

$conjuncts : array<int, ScalarFunction> = []

predicates over the source's columns, in push order; the source returns only rows matching every one, and $limit and $offset count those rows

$split : null|FileSplit = null

the piece of the source this read covers; only a SplittableExtractor, which cut it, ever receives one, and a read with a split lists nothing

$columns : null|array<int, string> = null

the columns the yielded rows carry; a source adds the columns its conjuncts read; null for every one

Tags
throws
InvalidArgumentException

when $limit is not greater than 0, when $offset is below 0, or with both an offset and a split

narrows()

public narrows() : bool
Return values
bool

withColumns()

public withColumns(string ...$columns) : self
Parameters
$columns : string
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()

Adds to the offset already pushed. The limit stays: it bounds the rows the plan needs, and skipping more only lowers that.

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

when $offset is below 0, or when this read is split

Return values
self

withPathFilter()

public withPathFilter(Filter $filter) : self
Parameters
$filter : Filter
Return values
self
On this page

Search results