classMergeTransformer
final class MergeTransformer
implements SqlTransformer
Merge transformer for PostgreSQL queries.
Methods§
public function __construct(
private PgSqlMergeParser $parser,
private SelectTransformer $selectTransformer,
)Initializes the collaborators and state used by this merge transformer.
Parameters
$parser | PgSqlMergeParser | |
$selectTransformer | SelectTransformer |
public function transform(string $sql, array $tables): string{@inheritDoc}
Parameters
$sql | string | |
$tables | array |
Returns
stringThrows
Test cases 11
MergeTransformerTest::testDefaultIdentityValueIsGeneratedcallsMergeTransformerTest::testExplicitIdentityValueIsNotGeneratedcallsMergeTransformerTest::testPreservesFirstEligibleClauseOrderingAndCtePrefixcallsMergeTransformerTest::testProjectsDefaultsAndGeneratedColumnscallsMergeTransformerTest::testProjectsDefaultValuesAndIdentitycallsMergeTransformerTest::testRejectsChildPartitionTargetBeforeStateCanBeTruncatedcallsMergeTransformerTest::testRejectsNonListColumnMetadatacallsMergeTransformerTest::testRejectsUnknownInsertColumncallsMergeTransformerTest::testRejectsUnknownTargetAndViewTargetcallsMergeTransformerTest::testRejectsUnknownUpdateColumncallsMergeTransformerTest::testTransformsMixedUpdateAndInsertIntoCompleteTargetStatecalls
Called from 1
Calls 13
- method-call PgSqlMergeParser::parse() line 45
- new UnsupportedSqlException line 48
- function-call
array_is_listline 55 - method-call MatchConditions::effectiveConditions() line 69
- new MatchConditions line 69
- method-call RowActions::unchangedRows() line 71
- new RowActions line 71
- function-call
array_mergeline 73 - method-call RowActions::modifiedRows() line 73
- function-call
implodeline 75 - method-call PgSqlGeneratedColumnProjector::project() line 76
- method-call PgSqlCteShadowComposer::carryPrefix() line 77
- method-call SelectTransformer::transform() line 79
Private surface 7§
Implementation details, listed for orientation only.
private PgSqlIdentifierQuoter $quoterprivate InsertRowRenderer $rowRendererprivate PgSqlGeneratedColumnProjector $generatedColumnProjectorprivate PgSqlCteShadowComposer $cteComposerprivate InsertSelectRenderer $insertSelectRendererprivate PgSqlMergeParser $parserprivate SelectTransformer $selectTransformerTest cases 15§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 11
MergeTransformerTest::testDefaultIdentityValueIsGeneratedcallsMergeTransformerTest::testExplicitIdentityValueIsNotGeneratedcallsMergeTransformerTest::testPreservesFirstEligibleClauseOrderingAndCtePrefixcallsMergeTransformerTest::testProjectsDefaultsAndGeneratedColumnscallsMergeTransformerTest::testProjectsDefaultValuesAndIdentitycallsMergeTransformerTest::testRejectsChildPartitionTargetBeforeStateCanBeTruncatedcallsMergeTransformerTest::testRejectsNonListColumnMetadatacallsMergeTransformerTest::testRejectsUnknownInsertColumncallsMergeTransformerTest::testRejectsUnknownTargetAndViewTargetcallsMergeTransformerTest::testRejectsUnknownUpdateColumncallsMergeTransformerTest::testTransformsMixedUpdateAndInsertIntoCompleteTargetStatecalls
Other tests reaching this symbol 4
PgSqlSessionFactoryTestcallsPgSqlRewriterTestcallsStatementRewriterTestcallsPgSqlTransformerTestcalls