classTargetProjection
final class TargetProjection
Restricted visibility: declared "@visibility ZtdQuery\Platform\MySql". Code outside that scope must not name this declaration.
Target Projection.
Methods§
public function targetsFromContexts(
array<string, array{alias: string}> $targetTables,
array<string, array{viewSql: string}|array{columns: array<int, string>, primaryKeys?: array<int, string>}> $contexts,
): list<MultiTableMutationTarget>Parameters
$targetTables | array<string, array{alias: string}> | |
$contexts | array<string, array{viewSql: string}|array{columns: array<int, string>, primaryKeys?: array<int, string>}> |
Returns
list<MultiTableMutationTarget>Test cases 1
Called from 1
Calls 1
public function multiTableSelectColumns(
UpdateStatement $stmt,
array<string, array{alias: string}> $targetTables,
list<MultiTableMutationTarget> $targets,
list<string> $assignmentValues,
): list<string>Parameters
$stmt | UpdateStatement | |
$targetTables | array<string, array{alias: string}> | |
$targets | list<MultiTableMutationTarget> | |
$assignmentValues | list<string> |
Returns
list<string>Test cases 1
Called from 1
Calls 6
- method-call TargetProjection::assignmentsByTable() line 57
- new MultiTableMutationRow line 58
- new MySqlIdentifierQuoter line 59
- method-call MySqlIdentifierQuoter::quote() line 66
- method-call MultiTableMutationRow::valueColumn() line 69
- method-call MultiTableMutationRow::identityColumn() line 73
public function assignmentsByTable(
UpdateStatement $stmt,
array<string, array{alias: string}> $targetTables,
list<string> $assignmentValues,
): array<string, array<string, string>>Parameters
$stmt | UpdateStatement | |
$targetTables | array<string, array{alias: string}> | |
$assignmentValues | list<string> |
Returns
array<string, array<string, string>>Test cases 1
Called from 1
public static function unquoteIdentifier(string $identifier): stringUnquote Identifier for the supplied MySQL input.
Parameters
$identifier | string |
Returns
stringTest cases 1
Called from 1
Calls 2
- static-call SqlTokenStream::tokenize() line 119
- static-call MySqlLexerProfile::create() line 119
public function buildAdditionalTables(UpdateStatement $stmt): stringBuild Additional Tables for the supplied MySQL input.
Parameters
$stmt | UpdateStatement |
Returns
stringTest cases 1
Called from 1
public function buildJoinClause(UpdateStatement $stmt): stringBuild Join Clause for the supplied MySQL input.
Parameters
$stmt | UpdateStatement |
Returns
stringTest cases 1
Called from 1
public function targetTable(UpdateStatement $statement, string $sql): stringResolve the primary UPDATE target before reading its schema context.
Parameters
$statement | UpdateStatement | |
$sql | string |
Returns
stringThrows
Test cases 1
Called from 1
Calls 1
Test cases 15§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 7
TargetProjectionTest::testAssignmentsByTablecallsTargetProjectionTest::testBuildAdditionalTablescallsTargetProjectionTest::testBuildJoinClausecallsTargetProjectionTest::testMultiTableSelectColumnscallsTargetProjectionTest::testTargetsFromContextscallsTargetProjectionTest::testTargetTablecallsTargetProjectionTest::testUnquoteIdentifiercalls
Other tests reaching this symbol 8
MySqlSessionFactoryTestcallsMySqlRewriterTestcallsStatementRewriterTestcallsMySqlTransformerTestcallsResultSelectTestcallsUpdateTransformerTestcallsRowMutationResolverTestcallsMySqlMutationResolverTestcalls
Relations§
Instantiated in 5
- new ZtdQuery\Platform\MySql\Rewrite\Transformer\Update\ResultSelect::buildProjection() packages/ztd-query-mysql/src/Rewrite/Transformer/Update/ResultSelect.php:59
- new ZtdQuery\Platform\MySql\Rewrite\Transformer\Update\ResultSelect::buildQuery() packages/ztd-query-mysql/src/Rewrite/Transformer/Update/ResultSelect.php:140
- new ZtdQuery\Platform\MySql\Rewrite\Transformer\Update\ResultSelect::buildQuery() packages/ztd-query-mysql/src/Rewrite/Transformer/Update/ResultSelect.php:142
- new ZtdQuery\Platform\MySql\Rewrite\Transformer\UpdateTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/UpdateTransformer.php:56
- new ZtdQuery\Platform\MySql\Rewrite\Transformer\UpdateTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/UpdateTransformer.php:75
Method calls 5
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\Update\ResultSelect::buildProjection() packages/ztd-query-mysql/src/Rewrite/Transformer/Update/ResultSelect.php:59
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\Update\ResultSelect::buildQuery() packages/ztd-query-mysql/src/Rewrite/Transformer/Update/ResultSelect.php:140
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\Update\ResultSelect::buildQuery() packages/ztd-query-mysql/src/Rewrite/Transformer/Update/ResultSelect.php:142
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\UpdateTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/UpdateTransformer.php:56
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\UpdateTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/UpdateTransformer.php:75