final class ResultSelect
Restricted visibility: declared "@visibility ZtdQuery\Platform\MySql". Code outside that scope must not name this declaration.

Builds DELETE result projections from resolved targets and parsed query clauses.

Methods§

public function buildProjection(
    DeleteStatement $stmt,
    string $originalSql,
    array<int, string> $columns,
    list<MultiTableMutationTarget> $targets = [],
): array{sql: string, table: string, tables: array<string, array{alias: string}>}

Parameters

$stmtDeleteStatement
$originalSqlstring
$columnsarray<int, string>
$targetslist<MultiTableMutationTarget>

Returns

array{sql: string, table: string, tables: array<string, array{alias: string}>}

Throws

RuntimeException
Test cases 1
Called from 1
Calls 9
public function primaryTarget(DeleteStatement $stmt): array{table: string, alias: string, aliases: array<string, string>}

Parameters

$stmtDeleteStatement

Returns

array{table: string, alias: string, aliases: array<string, string>}

Throws

RuntimeException
Test cases 1
Called from 1
Calls 4
public function namedTarget(DeleteStatement $stmt, string $alias): ?string

Resolve aliases in FROM, JOIN and USING precedence, skipping empty matches.

Parameters

$stmtDeleteStatement
$aliasstring

Returns

?string
Test cases 1
Called from 1
Calls 2
public function sourceClause(DeleteStatement $stmt): string

USING replaces the FROM list while the parsed JOIN clauses remain attached.

Parameters

$stmtDeleteStatement

Returns

string
Test cases 1
Called from 1
Calls 3
public function suffix(DeleteStatement $stmt, string $originalSql): string

Preserve the original WHERE expression and parsed ordering and limit clauses.

Parameters

$stmtDeleteStatement
$originalSqlstring

Returns

string
Test cases 1
Called from 1
Calls 5
public function selectList(string $alias, array<int, string> $columns): string

Parameters

$aliasstring
$columnsarray<int, string>

Returns

string
Test cases 1
Called from 1
Calls 1
public function resolvedTables(
    DeleteStatement $stmt,
    array{table: string, alias: string, aliases: array<string, string>} $target,
): array<string, array{alias: string}>

Parameters

$stmtDeleteStatement
$targetarray{table: string, alias: string, aliases: array<string, string>}

Returns

array<string, array{alias: string}>
Test cases 1
Called from 1
Calls 2

Test cases 14§

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

Dedicated tests 7
Other tests reaching this symbol 7

Relations§

Instantiated in 1
Method calls 1