final class QueryRecord
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.

One statement found at a call site, while values may still be bound to it.

A prepared statement is recorded when it is prepared and completed when it is executed, so the record stays open between the two.

Properties§

public CallSite $site
public string $siteKey
public TextPattern $pattern
public StatementKind|null $kind = null
public bool $combined = false
public list<string> $through = []

Methods§

public function __construct(
    public CallSite $site,
    public string $siteKey,
    public TextPattern $pattern,
    public StatementKind|null $kind = null,
    public bool $combined = false,
    public list<string> $through = [],
    bool $truncated = false,
)

Parameters

$siteCallSiteWhere the statement is issued
$siteKeystringWhat tells this call apart from every other, including one on the same line
$patternTextPatternThe statement text as far as it resolved
$kindStatementKind|nullThe kind the call implies, when it implies one
$combinedboolWhether the statement came from pairing parts that vary independently
$throughlist<string>The path taken to this reading, from the body the walk started in, outermost first
$truncatedboolWhether a bound cut the search short of every way the statement can be
public function bind(array<int, Domain> $positional, array<string, Domain> $named): void

Binds values given as one array, by position and by name.

Named keys are written both with and without their leading colon, so the key is normalized to the name the statement itself uses.

Parameters

$positionalarray<int, Domain>
$namedarray<string, Domain>
Test cases 18
Called from 2
Calls 1
public function absorb(self $other): void

Takes on everything another reading of the same statement bound.

The same call is reached both on its own and through the callers that lead to it. Each reading is one way the statement can be bound, so the record keeps the union of them rather than whichever was seen last.

Parameters

$otherself
Test cases 5

Private surface 4§

Implementation details, listed for orientation only.

private array<int, Domain> $positional = []
private array<string, Domain> $named = []
private bool $bound = false
private bool $truncated

Test cases 83§

Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.

Dedicated tests 15
Other tests reaching this symbol 68

Relations§

Instantiated in 1
Method calls 10
Type declarations 8