Flow PHP

DbalQueryExtractor implements BatchableExtractor, Extractor, LimitPushDown, RewindableExtractor uses Batches, PushesLimit

FinalYes

batchSize() is a yield cap, not a fetch size: fetchAllAssociative() materialises the whole result set per parameter set, so lowering it cannot lower peak memory. The paginating extractors default to 1000 because their number IS a round trip.

A pushed limit is global across parameter sets - their batches are concatenated - and no set is queried once it is reached. The query is a raw string, so the first queried set is never bounded server-side.

Interfaces

BatchableExtractor
Extractor
LimitPushDown
RewindableExtractor

Methods

__construct()  : mixed
extract()  : Generator<Signal|null, void>
isRepeatable()  : bool
schema()  : Schema
single()  : self
withParameters()  : self
withSchema()  : static
withTypes()  : self

Methods

__construct()

public __construct(Connection $connection, string $query) : mixed
Parameters
$connection : Connection
$query : string

extract()

public extract(FlowContext $context) : Generator<Signal|null, void>
Parameters
$context : FlowContext
Return values
Generator<Signal|null, void>

single()

public static single(Connection $connection, string $query[, array<string, mixed>|array<int, mixed> $parameters = [] ][, array<int<0, max>|string, ArrayParameterType|ParameterType|string|Type$types = [] ]) : self
Parameters
$connection : Connection
$query : string
$parameters : array<string, mixed>|array<int, mixed> = []
$types : array<int<0, max>|string, ArrayParameterType|ParameterType|string|Type> = []
Return values
self

withSchema()

public withSchema(Schema $schema) : static
Parameters
$schema : Schema
Return values
static

withTypes()

public withTypes(array<int<0, max>|string, ArrayParameterType|ParameterType|string|Type$types) : self
Parameters
$types : array<int<0, max>|string, ArrayParameterType|ParameterType|string|Type>
Return values
self
On this page

Search results