Flow PHP

AggregatingFunction extends FunctionTree, Describable

Methods

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()  : null|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

aggregate()

public aggregate(Rows $rows, array<int, int> $indices, Backend $backend) : void
Parameters
$rows : Rows
$indices : array<int, int>

the rows of $rows that belong to this aggregate, ascending

$backend : Backend

children()

Every operand of this node that is an expression, in constructor order.

public children() : array<int, FunctionTree>

Raw scalars, enums, Types and scope-introducing bodies are fields, not children.

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
bool

fromDescription()

public static fromDescription(array<string|int, mixed> $data, Rebuild $rebuild) : static
Parameters
$data : array<string|int, mixed>
$rebuild : Rebuild
Return values
static

merge()

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, mixed> $partial, Backend $backend) : void
Parameters
$partial : array<string, mixed>
$backend : Backend

outputName()

Decided in the constructor, never mutated.

public outputName() : string
Return values
string

partial()

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() : null|array<int, Reference>
Return values
null|array<int, Reference> —

references this aggregator reads, or null when they cannot be statically enumerated (disables spill column pruning)

resolved()

True when this node and every node in children() can answer returns().

public resolved() : bool
Return values
bool

returns()

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|string

withChildren()

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>
Return values
static
On this page

Search results