Last implements AggregatingFunction
Interfaces
Methods
- __construct() : mixed
- aggregate() : void
- children() : array<int, FunctionTree>
- Every operand of this node that is an expression, in constructor order.
- describe() : null|Description
- deterministic() : bool
- True when this node and every node in children() produce the same value for the same input row.
- fromDescription() : static
- merge() : void
- Folds a partial() of another instance into this one; that instance aggregated rows that come after this one's (merge()'s contract).
- outputName() : string
- Decided in the constructor, never mutated.
- partial() : array<string, mixed>
- This aggregator's state as plain values of partialType(); an aggregator that saw no row returns its initial state.
- partialType() : StructureType<string|int, array<string, mixed>>
- The structure partial() returns; valid once the aggregator is resolved (Aggregators::resolved()).
- references() : array<int, Reference>
- resolved() : bool
- True when this node and every node in children() can answer returns().
- returns() : Type<string|int, mixed>
- An OptionalType return declares the produced column nullable; there is no nullable() peer.
- value() : null|array<string|int, mixed>|bool|float|int|object|string
- withChildren() : static
- A copy of this node with $children in place of children(): same count, same order, same per-element narrowing. Never mutates $this.
Methods
__construct()
public
__construct(Reference $ref) : mixed
Parameters
- $ref : Reference
aggregate()
public
aggregate(Rows $rows, array<string|int, mixed> $indices, Backend $backend) : void
Parameters
children()
Every operand of this node that is an expression, in constructor order.
public
children() : array<int, FunctionTree>
Return values
array<int, FunctionTree>describe()
public
describe() : null|Description
Return values
null|Description —null when this instance cannot cross a process boundary (a live client, a custom collaborator)
deterministic()
True when this node and every node in children() produce the same value for the same input row.
public
deterministic() : bool
False for a generator (now(), uuid, a random string): a caller that evaluates the tree once per FILE or per partition instead of once per row must refuse a non-deterministic one.
Return values
boolfromDescription()
public
static fromDescription(array<string|int, mixed> $data, Rebuild $rebuild) : static
Parameters
- $data : array<string|int, mixed>
- $rebuild : Rebuild
Return values
staticmerge()
Folds a partial() of another instance into this one; that instance aggregated rows that come after this one's (merge()'s contract).
public
merge(array<string|int, mixed> $partial, Backend $backend) : void
Parameters
- $partial : array<string|int, mixed>
- $backend : Backend
outputName()
Decided in the constructor, never mutated.
public
outputName() : string
Return values
stringpartial()
This aggregator's state as plain values of partialType(); an aggregator that saw no row returns its initial state.
public
partial() : array<string, mixed>
Return values
array<string, mixed>partialType()
The structure partial() returns; valid once the aggregator is resolved (Aggregators::resolved()).
public
partialType() : StructureType<string|int, array<string, mixed>>
Return values
StructureType<string|int, array<string, mixed>>references()
public
references() : array<int, Reference>
Return values
array<int, Reference>resolved()
True when this node and every node in children() can answer returns().
public
resolved() : bool
Return values
boolreturns()
An OptionalType return declares the produced column nullable; there is no nullable() peer.
public
returns() : Type<string|int, mixed>
Return values
Type<string|int, mixed>value()
public
value() : null|array<string|int, mixed>|bool|float|int|object|string
Return values
null|array<string|int, mixed>|bool|float|int|object|stringwithChildren()
A copy of this node with $children in place of children(): same count, same order, same per-element narrowing. Never mutates $this.
public
withChildren(array<int, FunctionTree> $children) : static
Parameters
- $children : array<int, FunctionTree>