Criteria
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
= []
$limit
public
null|int<1, max>
$limit
$offset
public
int<0, max>
$offset
$pathFilter
public
Filter
$pathFilter
= new OnlyFiles()
$split
public
FileSplit|null
$split
= null
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
narrows()
public
narrows() : bool
Return values
boolwithColumns()
public
withColumns(string ...$columns) : self
Parameters
- $columns : string
Return values
selfwithFilter()
public
withFilter(ScalarFunction $filter) : self
Parameters
- $filter : ScalarFunction
Return values
selfwithLimit()
Narrowing only: a second push may lower the limit, never raise it.
public
withLimit(int $limit) : self
Parameters
- $limit : int
Tags
Return values
selfwithOffset()
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
Return values
selfwithPathFilter()
public
withPathFilter(Filter $filter) : self
Parameters
- $filter : Filter
Return values
selfwithSplit()
public
withSplit(FileSplit $split) : self
Parameters
- $split : FileSplit