classMySqlNativeUpsertProjector
final class MySqlNativeUpsertProjector
Implements the My Sql Native Upsert Projector contract for MySQL.
Methods§
public function __construct()Configure the dependencies used by this operation.
Calls 2
- new MySqlIdentifierQuoter line 27
- static-call MySqlLexerProfile::create() line 28
public function project(
string $incomingSql,
string $tableName,
list<string> $tableColumns,
array<string, array<int, string>> $candidateKeys,
array<string, string> $assignments,
?string $predicate = null,
?string $conflictPredicate = null,
?string $incomingNamespace = null,
): stringParameters
$incomingSql | string | |
$tableName | string | |
$tableColumns | list<string> | |
$candidateKeys | array<string, array<int, string>> | |
$assignments | array<string, string> | |
$predicate | ?string | |
$conflictPredicate | ?string | |
$incomingNamespace | ?string |
Returns
stringTest cases 9
MySqlNativeUpsertProjectorTest::testBindsExplicitIncomingRowAliascallsMySqlNativeUpsertProjectorTest::testBindsPartialConflictPredicateToExistingAndIncomingRowscallsMySqlNativeUpsertProjectorTest::testBindsQualifiedAndQuotedIdentifiersWithoutChangingForeignNamespacescallsMySqlNativeUpsertProjectorTest::testBindsUnqualifiedQuotedIdentifiercallsMySqlNativeUpsertProjectorTest::testKeepsIdentifiersInsideScalarSubqueryInTheirNativeScopecallsMySqlNativeUpsertProjectorTest::testLeavesIncompleteIncomingFunctionSyntaxUnchangedcallsMySqlNativeUpsertProjectorTest::testMatchesColumnsAndIncomingNamespaceCaseInsensitivelycallsMySqlNativeUpsertProjectorTest::testProjectsMySqlFunctionsThroughExistingAndIncomingRowscallsMySqlNativeUpsertProjectorTest::testReturnsIncomingProjectionWhenConflictMetadataIsUnavailablecalls
Called from 1
Calls 11
- method-call IdentifierQuoter::quote() line 50
- class-const ExpressionBinder::INCOMING_ALIAS() line 50
- class-const ExpressionBinder::EXISTING_ALIAS() line 51
- method-call ConflictPredicate::conflictPredicate() line 52
- new ConflictPredicate line 52
- method-call ExpressionBinder::bindExpression() line 54
- new ExpressionBinder line 54
- new MetadataColumns line 76
- function-call
array_pushline 77 - method-call MetadataColumns::render() line 77
- function-call
implodeline 79
Private surface 2§
Implementation details, listed for orientation only.
private IdentifierQuoter $quoterprivate SqlLexerProfile $lexerProfileTest cases 16§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 9
MySqlNativeUpsertProjectorTest::testBindsExplicitIncomingRowAliascallsMySqlNativeUpsertProjectorTest::testBindsPartialConflictPredicateToExistingAndIncomingRowscallsMySqlNativeUpsertProjectorTest::testBindsQualifiedAndQuotedIdentifiersWithoutChangingForeignNamespacescallsMySqlNativeUpsertProjectorTest::testBindsUnqualifiedQuotedIdentifiercallsMySqlNativeUpsertProjectorTest::testKeepsIdentifiersInsideScalarSubqueryInTheirNativeScopecallsMySqlNativeUpsertProjectorTest::testLeavesIncompleteIncomingFunctionSyntaxUnchangedcallsMySqlNativeUpsertProjectorTest::testMatchesColumnsAndIncomingNamespaceCaseInsensitivelycallsMySqlNativeUpsertProjectorTest::testProjectsMySqlFunctionsThroughExistingAndIncomingRowscallsMySqlNativeUpsertProjectorTest::testReturnsIncomingProjectionWhenConflictMetadataIsUnavailablecalls
Other tests reaching this symbol 7
MySqlSessionFactoryTestcallsMySqlRewriterTestcallsStatementRewriterTestcallsInsertTransformerTestcallsMySqlTransformerTestcallsReplaceTransformerTestcallsMySqlMutationResolverTestcalls