classRowMutationResolver
final class RowMutationResolver
Restricted visibility: declared "@visibility ZtdQuery\Platform\MySql". Code outside that scope must not name this declaration.
Resolve MySQL row writes into the core row mutation objects.
Methods§
public function __construct(
private DeleteTransformer $deleteTransformer,
private TableDefinitionRegistry $registry,
private ShadowStore $shadowStore,
private UpdateTransformer $updateTransformer,
)Configure the dependencies used by this operation.
Parameters
$deleteTransformer | DeleteTransformer | |
$registry | TableDefinitionRegistry | |
$shadowStore | ShadowStore | |
$updateTransformer | UpdateTransformer |
public function resolveUpdate(UpdateStatement $statement, string $sql): ShadowMutationResolve Update for the supplied MySQL input.
Parameters
$statement | UpdateStatement | |
$sql | string |
Returns
Test cases 1
Called from 1
Calls 13
- new UnsupportedSqlException line 52
- method-call TableDefinitionRegistry::get() line 60
- method-call ShadowStore::state() line 61
- class-const ShadowTableState::Initialized() line 61
- new UnknownSchemaException line 62
- method-call ShadowStore::ensure() line 65
- method-call ShadowStore::get() line 66
- function-call
array_keysline 67 - method-call UpdateTransformer::buildProjection() line 75
- function-call
countline 78 - new MultiUpdateMutation line 79
- method-call RowMutationResolver::multiTableTargets() line 79
- new UpdateMutation line 84
public function resolveDelete(DeleteStatement $statement, string $sql): ShadowMutationResolve Delete for the supplied MySQL input.
Parameters
$statement | DeleteStatement | |
$sql | string |
Returns
Test cases 1
Called from 1
Calls 14
- method-call ShadowStore::get() line 102
- method-call TableDefinitionRegistry::get() line 103
- function-call
array_keysline 104 - method-call DeleteTransformer::buildProjection() line 107
- new UnsupportedSqlException line 111
- method-call TableDefinitionRegistry::has() line 114
- method-call ShadowStore::state() line 114
- class-const ShadowTableState::Initialized() line 114
- new UnknownSchemaException line 115
- method-call ShadowStore::ensure() line 118
- function-call
countline 121 - new MultiDeleteMutation line 122
- method-call RowMutationResolver::multiTableTargets() line 122
- new DeleteMutation line 128
public function multiTableTargets(
list<string> $tableNames,
string $sql,
): list<MultiTableMutationTarget>Parameters
$tableNames | list<string> | |
$sql | string |
Returns
list<MultiTableMutationTarget>Throws
Test cases 1
Called from 2
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveUpdate() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:79
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:122
Calls 8
- method-call TableDefinitionRegistry::get() line 140
- method-call ShadowStore::state() line 141
- class-const ShadowTableState::Initialized() line 141
- new UnknownSchemaException line 142
- method-call ShadowStore::get() line 148
- function-call
array_keysline 149 - method-call ShadowStore::ensure() line 152
- new MultiTableMutationTarget line 153
public function resolveInsert(InsertStatement $statement, string $sql): ShadowMutationResolve Insert for the supplied MySQL input.
Parameters
$statement | InsertStatement | |
$sql | string |
Returns
Throws
Test cases 1
Called from 1
Calls 12
- static-call TargetName::resolveIntoTableName() line 165
- new UnsupportedSqlException line 167
- new MySqlUpsertAssignmentExtractor line 170
- method-call MySqlUpsertAssignmentExtractor::incomingAlias() line 171
- new MySqlUpsertExpressionParser line 172
- method-call MySqlUpsertAssignmentExtractor::extract() line 173
- method-call TableDefinitionRegistry::get() line 174
- method-call MySqlUpsertExpressionParser::parseIfSupported() line 179
- method-call MySqlUpsertExpressionParser::parse() line 180
- function-call
array_keysline 182 - new UpsertMutation line 189
- new InsertMutation line 202
public function resolveReplace(ReplaceStatement $statement, string $sql): ShadowMutationResolve Replace for the supplied MySQL input.
Parameters
$statement | ReplaceStatement | |
$sql | string |
Returns
Throws
Test cases 1
Called from 1
Calls 4
- static-call TargetName::resolveIntoTableName() line 217
- new UnsupportedSqlException line 219
- method-call TableDefinitionRegistry::get() line 222
- new ReplaceMutation line 224
Private surface 4§
Implementation details, listed for orientation only.
private DeleteTransformer $deleteTransformerprivate TableDefinitionRegistry $registryprivate ShadowStore $shadowStoreprivate UpdateTransformer $updateTransformerTest cases 9§
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 4
MySqlSessionFactoryTestcallsMySqlRewriterTestcallsStatementRewriterTestcallsMySqlMutationResolverTestcalls
Relations§
Instantiated in 4
- new ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:66
- new ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:70
- new ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:74
- new ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:82
Method calls 4
- method-call ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:66
- method-call ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:70
- method-call ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:74
- method-call ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver::resolve() packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:82