classRowMutationResolver
final class RowMutationResolver
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
Dml resolver operations for PostgreSQL mutation.
Methods§
public function __construct(
PgSqlParser $parser,
TableDefinitionRegistry $registry,
ShadowStore $shadowStore,
)Supplies the dependencies used by this RowMutationResolver.
Parameters
$parser | PgSqlParser | |
$registry | TableDefinitionRegistry | |
$shadowStore | ShadowStore |
public function resolveInsert(string $sql): ShadowMutationResolve insert.
Parameters
$sql | string |
Returns
Throws
Test cases 1
Called from 1
Calls 12
- method-call PgSqlParser::extractInsertTable() line 51
- new UnsupportedSqlException line 53
- method-call TableDefinitionRegistry::get() line 56
- method-call StorageTable::storageTable() line 58
- new StorageTable line 58
- method-call PgSqlParser::hasOnConflict() line 60
- method-call PgSqlParser::extractOnConflictUpdateColumns() line 61
- method-call PgSqlParser::extractOnConflictTarget() line 65
- new PgSqlUpsertExpressionParser line 75
- method-call RowMutationResolver::resolveUpsert() line 78
- new InsertMutation line 81
- method-call PgSqlUpsertExpressionParser::parse() line 87
public function resolveUpdate(string $sql): ShadowMutationResolve update.
Parameters
$sql | string |
Returns
Test cases 1
Called from 1
Calls 10
- method-call PgSqlParser::extractUpdateTable() line 107
- new UnsupportedSqlException line 109
- method-call TableDefinitionRegistry::get() line 112
- method-call ShadowStore::state() line 113
- class-const ShadowTableState::Initialized() line 113
- new UnknownSchemaException line 114
- method-call StorageTable::storageTable() line 117
- new StorageTable line 117
- method-call ShadowStore::ensure() line 118
- new UpdateMutation line 121
public function resolveDelete(string $sql): ShadowMutationResolve delete.
Parameters
$sql | string |
Returns
Test cases 1
Called from 1
Calls 10
- method-call PgSqlParser::extractDeleteTable() line 131
- new UnsupportedSqlException line 133
- method-call TableDefinitionRegistry::get() line 136
- method-call ShadowStore::state() line 137
- class-const ShadowTableState::Initialized() line 137
- new UnknownSchemaException line 138
- method-call StorageTable::storageTable() line 141
- new StorageTable line 141
- method-call ShadowStore::ensure() line 142
- new DeleteMutation line 145
public function resolveMerge(string $sql): ShadowMutationResolve merge.
Parameters
$sql | string |
Returns
Throws
Test cases 1
Called from 1
Calls 9
- method-call PgSqlMergeParser::parse() line 154
- new PgSqlMergeParser line 154
- method-call TableDefinitionRegistry::get() line 155
- method-call ShadowStore::state() line 157
- class-const ShadowTableState::Initialized() line 157
- new UnknownSchemaException line 159
- new SynchronizeMutation line 162
- method-call StorageTable::storageTable() line 163
- new StorageTable line 163
public function resolveTruncate(string $sql): ShadowMutationResolve truncate.
Parameters
$sql | string |
Returns
Throws
Test cases 1
Called from 1
Calls 5
- method-call PgSqlParser::extractTruncateTables() line 175
- new UnsupportedSqlException line 177
- function-call
countline 179 - new MultiTruncateMutation line 180
- new TruncateMutation line 183
public function resolveUpsert(
string $sql,
string $tableName,
string $storageTable,
list<string> $primaryKeys,
array{columns: list<string>, values: array<string, string>} $conflictInfo,
?CandidateKeySet $candidateKeys,
?string $conflictPredicate,
): ShadowMutationResolves update expressions using database evaluation whenever a candidate key permits it.
Parameters
$sql | string | |
$tableName | string | |
$storageTable | string | |
$primaryKeys | list<string> | |
$conflictInfo | array{columns: list<string>, values: array<string, string>} | |
$candidateKeys | ?CandidateKeySet | |
$conflictPredicate | ?string |
Returns
Throws
Test cases 1
Called from 1
Calls 5
Private surface 3§
Implementation details, listed for orientation only.
private PgSqlParser $parserprivate TableDefinitionRegistry $registryprivate ShadowStore $shadowStoreTest cases 10§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 6
RowMutationResolverTest::testResolveDeleteMatchesThePrimaryKeycallsRowMutationResolverTest::testResolveInsertAppliesOnlyReturnedRowscallsRowMutationResolverTest::testResolveMergeSynchronizesTheProjectedTargetcallsRowMutationResolverTest::testResolveTruncateIncludesEveryExplicitTargetcallsRowMutationResolverTest::testResolveUpdatePreservesTheTargetIdentitycallsRowMutationResolverTest::testResolveUpsertEvaluatesAssignmentsWithoutNativeCandidateKeyscalls
Other tests reaching this symbol 4
PgSqlSessionFactoryTestcallsPgSqlRewriterTestcallsStatementRewriterTestcallsPgSqlMutationResolverTestcalls
Relations§
Instantiated in 5
- new ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver::resolve() packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:53
- new ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver::resolve() packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:54
- new ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver::resolve() packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:55
- new ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver::resolve() packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:56
- new ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver::resolve() packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:57
Method calls 5
- method-call ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver::resolve() packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:53
- method-call ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver::resolve() packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:54
- method-call ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver::resolve() packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:55
- method-call ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver::resolve() packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:56
- method-call ZtdQuery\Platform\Postgres\Shadow\PgSqlMutationResolver::resolve() packages/ztd-query-postgres/src/Shadow/PgSqlMutationResolver.php:57