HashJoin implements Describable
Interfaces
Properties
Methods
- __construct() : mixed
- bind() : BoundStep<string|int, self>
- describe() : null|Description
- null when the random value generator or the join config does not describe.
- distribution() : Distribution|null
- coPartitioned on the equality keys; null for a non-equality join, or while either side is unbound.
- fromDescription() : static
- join() : Generator<Signal|null, void>
- Needs every right row before it emits: the join ends its pipeline. A side whose schema is not declared is discovered from the rows that flow.
- joiner() : Joiner
- The pair kernel of this join: matches one left and one right stream already split by key.
- leftSchema() : Schema|null
- The bound left schema; null unbound.
- rightSchema() : Schema|null
- The bound right schema; null unbound.
- withRightSchema() : self
- The join with $right as the right side's declared schema, for a join that runs unbound: a left or anti join over an empty right side still pads the right columns.
Properties
$config
public
HashJoinConfig
$config
$expression
public
Expression
$expression
$type
public
JoinType
$type
Methods
__construct()
public
__construct(Expression $expression, JoinType $type, HashJoinConfig $config, RandomValueGenerator $random[, Schema|null $left = null ][, Schema|null $declaredRight = null ]) : mixed
Parameters
- $expression : Expression
- $type : JoinType
- $config : HashJoinConfig
-
the effective join config: the operation's own or the frame's
- $random : RandomValueGenerator
- $left : Schema|null = null
- $declaredRight : Schema|null = null
bind()
public
bind(Schema $left, Schema $right) : BoundStep<string|int, self>
Parameters
Return values
BoundStep<string|int, self>describe()
null when the random value generator or the join config does not describe.
public
describe() : null|Description
Return values
null|Description —null when this instance cannot cross a process boundary (a live client, a custom collaborator)
distribution()
coPartitioned on the equality keys; null for a non-equality join, or while either side is unbound.
public
distribution() : Distribution|null
Return values
Distribution|nullfromDescription()
public
static fromDescription(array<string|int, mixed> $data, Rebuild $rebuild) : static
Parameters
- $data : array<string|int, mixed>
- $rebuild : Rebuild
Return values
staticjoin()
Needs every right row before it emits: the join ends its pipeline. A side whose schema is not declared is discovered from the rows that flow.
public
join(Generator<string|int, Rows> $left, Generator<string|int, Rows> $right, Backend $backend) : Generator<Signal|null, void>
Parameters
Return values
Generator<Signal|null, void>joiner()
The pair kernel of this join: matches one left and one right stream already split by key.
public
joiner(Backend $backend) : Joiner
Parameters
- $backend : Backend
Return values
JoinerleftSchema()
The bound left schema; null unbound.
public
leftSchema() : Schema|null
Return values
Schema|nullrightSchema()
The bound right schema; null unbound.
public
rightSchema() : Schema|null
Return values
Schema|nullwithRightSchema()
The join with $right as the right side's declared schema, for a join that runs unbound: a left or anti join over an empty right side still pads the right columns.
public
withRightSchema(Schema $right) : self
Parameters
- $right : Schema