classResultProjection
final class ResultProjection
Restricted visibility: declared "@visibility ZtdQuery\Platform\MySql". Code outside that scope must not name this declaration.
Result Projection.
Methods§
public function __construct(
private CastRenderer $castRenderer,
private ShadowIdentityAllocator $identityAllocator,
private InsertSelectRenderer $insertSelectRenderer,
private InsertRowRenderer $rowRenderer,
)Configure the dependencies used by this operation.
Parameters
$castRenderer | CastRenderer | |
$identityAllocator | ShadowIdentityAllocator | |
$insertSelectRenderer | InsertSelectRenderer | |
$rowRenderer | InsertRowRenderer |
public function buildInsertSelect(
InsertStatement $statement,
InsertTarget $target,
?string $sourceSelectSql,
): stringParameters
$statement | InsertStatement | |
$target | InsertTarget | |
$sourceSelectSql | ?string |
Returns
stringThrows
RuntimeExceptionTest cases 1
Called from 1
Calls 6
- method-call ResultProjection::buildInsertRowSelect() line 43
- function-call
implodeline 49 - method-call ResultProjection::buildInsertSetSelect() line 53
- static-call ResultProjection::orderedValues() line 54
- method-call ResultProjection::buildInsertSourceSelect() line 60
- new
RuntimeExceptionline 63
public function buildInsertRowSelect(ArrayObj $valueSet, InsertTarget $target): stringParameters
$valueSet | ArrayObj | |
$target | InsertTarget |
Returns
stringThrows
RuntimeExceptionTest cases 1
Called from 1
Calls 10
- static-call ResultProjection::orderedValues() line 74
- function-call
strcasecmpline 79 - function-call
countline 82 - new
RuntimeExceptionline 83 - method-call InsertRowRenderer::providedExpressions() line 85
- method-call ShadowIdentityAllocator::allocateMissing() line 86
- function-call
array_keysline 89 - method-call InsertRowRenderer::render() line 92
- method-call CastRenderer::renderCast() line 98
- function-call
implodeline 103
public function buildInsertSetSelect(
array<int, SetOperation> $setOperations,
InsertTarget $target,
): stringParameters
$setOperations | array<int, SetOperation> | |
$target | InsertTarget |
Returns
stringTest cases 1
Called from 1
Calls 6
- method-call InsertRowRenderer::providedExpressions() line 120
- method-call ShadowIdentityAllocator::allocateMissing() line 121
- function-call
array_keysline 124 - method-call InsertRowRenderer::render() line 127
- method-call CastRenderer::renderCast() line 132
- function-call
implodeline 137
public function buildInsertSourceSelect(
SelectStatement $statement,
InsertTarget $target,
?string $sourceSelectSql,
): stringProject an INSERT SELECT source using the destination column types.
Parameters
$statement | SelectStatement | |
$target | InsertTarget | |
$sourceSelectSql | ?string |
Returns
stringTest cases 1
Called from 1
Calls 6
- method-call ShadowIdentityAllocator::allocateSelectStarts() line 146
- method-call InsertSelectRenderer::render() line 152
- method-call
SelectStatement::build()line 153 - function-call
str_replaceline 164 - method-call CastRenderer::renderCast() line 168
- function-call
implodeline 173
public static function orderedValues<T>(array<array-key, T> $values): list<T>Parameters
$values | array<array-key, T> |
Returns
list<T>Test cases 1
Called from 5
- static-call ZtdQuery\Platform\MySql\Rewrite\Transformer\Insert\InsertTarget::fromStatement() packages/ztd-query-mysql/src/Rewrite/Transformer/Insert/InsertTarget.php:121
- static-call ZtdQuery\Platform\MySql\Rewrite\Transformer\Insert\InsertTarget::fromStatement() packages/ztd-query-mysql/src/Rewrite/Transformer/Insert/InsertTarget.php:122
- static-call ZtdQuery\Platform\MySql\Rewrite\Transformer\Insert\ResultProjection::buildInsertSelect() packages/ztd-query-mysql/src/Rewrite/Transformer/Insert/ResultProjection.php:54
- static-call ZtdQuery\Platform\MySql\Rewrite\Transformer\Insert\ResultProjection::buildInsertRowSelect() packages/ztd-query-mysql/src/Rewrite/Transformer/Insert/ResultProjection.php:74
- static-call ZtdQuery\Platform\MySql\Rewrite\Transformer\Insert\ResultProjection::buildInsertRowSelect() packages/ztd-query-mysql/src/Rewrite/Transformer/Insert/ResultProjection.php:75
Private surface 4§
Implementation details, listed for orientation only.
private CastRenderer $castRendererprivate ShadowIdentityAllocator $identityAllocatorprivate InsertSelectRenderer $insertSelectRendererprivate InsertRowRenderer $rowRendererTest cases 12§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 5
Other tests reaching this symbol 7
MySqlSessionFactoryTestcallsMySqlRewriterTestcallsStatementRewriterTestcallsInsertTargetTestcallsInsertTransformerTestcallsMySqlTransformerTestcallsReplaceTransformerTestcalls
Relations§
Instantiated in 1
Static calls 2
- static-call ZtdQuery\Platform\MySql\Rewrite\Transformer\Insert\InsertTarget::fromStatement() packages/ztd-query-mysql/src/Rewrite/Transformer/Insert/InsertTarget.php:121
- static-call ZtdQuery\Platform\MySql\Rewrite\Transformer\Insert\InsertTarget::fromStatement() packages/ztd-query-mysql/src/Rewrite/Transformer/Insert/InsertTarget.php:122