classDeleteTransformer
final class DeleteTransformer
implements SqlTransformer
Transforms DELETE statements into SELECT projections with CTE shadowing.
Methods§
public function __construct(MySqlParser $parser, SelectTransformer $selectTransformer)Configure the dependencies used by this operation.
Parameters
$parser | MySqlParser | |
$selectTransformer | SelectTransformer |
Calls 1
public function transform(string $sql, array $tables): string{@inheritDoc}
Parameters
$sql | string | |
$tables | array |
Returns
stringThrows
Test cases 13
DeleteTransformerTest::testTransformDeleteColumnsFromTablesArgcallsDeleteTransformerTest::testTransformDeleteFromSimpleExactSqlcallsDeleteTransformerTest::testTransformDeleteMultiTableFromJoinExactOutputcallsDeleteTransformerTest::testTransformDeleteWithNoColumnsUsesWildcardcallsDeleteTransformerTest::testTransformDeleteWithShadowDataAddsCtecallsDeleteTransformerTest::testTransformDeleteWithShadowDataProducesCteSelectcallsDeleteTransformerTest::testTransformExactOutputWildcardWhenNoTableContextcallsDeleteTransformerTest::testTransformExactOutputWithEmptyRowscallsDeleteTransformerTest::testTransformExactOutputWithShadowDatacallsDeleteTransformerTest::testTransformMultiDeleteProjectsEveryTargetIdentitycallsDeleteTransformerTest::testTransformPreservesCaseWhereExpressioncallsDeleteTransformerTest::testTransformSimpleDeleteReturnsSelectcallsDeleteTransformerTest::testTransformThrowsForNonDeleteStatementcalls
Called from 2
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:78
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:97
Calls 9
- method-call MySqlParser::parse() line 42
- new UnsupportedSqlException line 44
- static-call ExpressionNames::table() line 52
- method-call DeleteTransformer::buildProjection() line 60
- function-call
array_keysline 61 - method-call TargetProjection::targetsFromContexts() line 63
- new TargetProjection line 63
- method-call SelectTransformer::transform() line 67
- method-call MySqlCteShadowComposer::carryPrefix() line 68
public function buildProjection(
DeleteStatement $stmt,
string $originalSql,
array<int, string> $columns,
list<MultiTableMutationTarget> $targets = [],
): array{sql: string, table: string, tables: array<string, array{alias: string}>}Build a result-select SQL and resolve the target table(s).
Parameters
$stmt | DeleteStatement | |
$originalSql | string | |
$columns | array<int, string> | |
$targets | list<MultiTableMutationTarget> |
Returns
array{sql: string, table: string, tables: array<string, array{alias: string}>}Throws
RuntimeExceptionTest cases 47
DeleteTransformerTest::testBuildDeleteFromClauseContainsTableNamecallsDeleteTransformerTest::testBuildDeleteJoinClauseContainsJoinTableNamecallsDeleteTransformerTest::testBuildDeleteLimitClauseContainsActualValuecallsDeleteTransformerTest::testBuildDeleteMultiTargetResolvesFromJoincallsDeleteTransformerTest::testBuildDeleteMultiTargetResolvesFromUsingClausecallsDeleteTransformerTest::testBuildDeleteMultiTargetResolvesSecondAliasFromJoincallsDeleteTransformerTest::testBuildDeleteOrderByExactFormatcallsDeleteTransformerTest::testBuildDeleteOrderByExactValueIncludedcallsDeleteTransformerTest::testBuildDeleteProjectionFromClausecallsDeleteTransformerTest::testBuildDeleteProjectionIncludesJoinClausecallsDeleteTransformerTest::testBuildDeleteProjectionSelectListFormatcallsDeleteTransformerTest::testBuildDeleteResolveAliasFromUsingNotFromOrJoincallsDeleteTransformerTest::testBuildDeleteResolvedTablesContainsAliascallsDeleteTransformerTest::testBuildDeleteSingleTargetAliasMatchesTablecallsDeleteTransformerTest::testBuildDeleteTargetFromJoinAliascallsDeleteTransformerTest::testBuildDeleteTargetFromJoinWhenAliasNotInFromcallsDeleteTransformerTest::testBuildDeleteTargetResolvedFromJoinNotFromcallsDeleteTransformerTest::testBuildDeleteWithFromAliascallsDeleteTransformerTest::testBuildDeleteWithJoinAliascallsDeleteTransformerTest::testBuildDeleteWithJoinAndOrderByLimitClausecallsDeleteTransformerTest::testBuildDeleteWithLowercasePartitionThrowscallsDeleteTransformerTest::testBuildDeleteWithMultipleColumnsSelectFormatcallsDeleteTransformerTest::testBuildDeleteWithMultipleTargetsReturnsAllTablescallsDeleteTransformerTest::testBuildDeleteWithNoColumnsUsesWildcardcallsDeleteTransformerTest::testBuildDeleteWithNoOrderByClausecallsDeleteTransformerTest::testBuildDeleteWithNoWhereClausecallsDeleteTransformerTest::testBuildDeleteWithOrderByAndLimitcallsDeleteTransformerTest::testBuildDeleteWithPartitionIsBlockedcallsDeleteTransformerTest::testBuildDeleteWithSingleTargetReturnsSingleTablecallsDeleteTransformerTest::testBuildDeleteWithUsingClauseOverridesFromcallsDeleteTransformerTest::testBuildDeleteWithUsingSyntaxMultiTablecallsDeleteTransformerTest::testBuildDeleteWithWhereClausecallsDeleteTransformerTest::testBuildMultiDeleteResolvesAliasFromUsingcallsDeleteTransformerTest::testBuildProjectionAliasedFromResolvesAliascallsDeleteTransformerTest::testBuildProjectionEmptyColumnsUsesWildcardcallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithFromAliascallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithJoinAliascallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithNoColumnscallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithOrderByAndLimitcallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithUsingSyntaxcallsDeleteTransformerTest::testBuildProjectionExactSqlForMultiTargetDeletecallsDeleteTransformerTest::testBuildProjectionExactSqlForSimpleDeletecallsDeleteTransformerTest::testBuildProjectionFromClauseResolvesTargetTableNamecallsDeleteTransformerTest::testBuildProjectionMultiDeleteTargetFromUsingResolvesBothTablescallsDeleteTransformerTest::testBuildProjectionPartitionThrowsRuntimeExceptioncallsDeleteTransformerTest::testBuildProjectionWithJoinClausecallsDeleteTransformerTest::testBuildProjectionWithOrderByAndLimitcalls
Called from 3
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\DeleteTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/DeleteTransformer.php:60
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\DeleteTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/DeleteTransformer.php:64
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:107
Calls 2
- method-call ResultSelect::buildProjection() line 85
- new ResultSelect line 85
Private surface 3§
Implementation details, listed for orientation only.
private MySqlParser $parserprivate SelectTransformer $selectTransformerprivate MySqlCteShadowComposer $cteComposerTest cases 301§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 60
DeleteTransformerTest::testBuildDeleteFromClauseContainsTableNamecallsDeleteTransformerTest::testBuildDeleteJoinClauseContainsJoinTableNamecallsDeleteTransformerTest::testBuildDeleteLimitClauseContainsActualValuecallsDeleteTransformerTest::testBuildDeleteMultiTargetResolvesFromJoincallsDeleteTransformerTest::testBuildDeleteMultiTargetResolvesFromUsingClausecallsDeleteTransformerTest::testBuildDeleteMultiTargetResolvesSecondAliasFromJoincallsDeleteTransformerTest::testBuildDeleteOrderByExactFormatcallsDeleteTransformerTest::testBuildDeleteOrderByExactValueIncludedcallsDeleteTransformerTest::testBuildDeleteProjectionFromClausecallsDeleteTransformerTest::testBuildDeleteProjectionIncludesJoinClausecallsDeleteTransformerTest::testBuildDeleteProjectionSelectListFormatcallsDeleteTransformerTest::testBuildDeleteResolveAliasFromUsingNotFromOrJoincallsDeleteTransformerTest::testBuildDeleteResolvedTablesContainsAliascallsDeleteTransformerTest::testBuildDeleteSingleTargetAliasMatchesTablecallsDeleteTransformerTest::testBuildDeleteTargetFromJoinAliascallsDeleteTransformerTest::testBuildDeleteTargetFromJoinWhenAliasNotInFromcallsDeleteTransformerTest::testBuildDeleteTargetResolvedFromJoinNotFromcallsDeleteTransformerTest::testBuildDeleteWithFromAliascallsDeleteTransformerTest::testBuildDeleteWithJoinAliascallsDeleteTransformerTest::testBuildDeleteWithJoinAndOrderByLimitClausecallsDeleteTransformerTest::testBuildDeleteWithLowercasePartitionThrowscallsDeleteTransformerTest::testBuildDeleteWithMultipleColumnsSelectFormatcallsDeleteTransformerTest::testBuildDeleteWithMultipleTargetsReturnsAllTablescallsDeleteTransformerTest::testBuildDeleteWithNoColumnsUsesWildcardcallsDeleteTransformerTest::testBuildDeleteWithNoOrderByClausecallsDeleteTransformerTest::testBuildDeleteWithNoWhereClausecallsDeleteTransformerTest::testBuildDeleteWithOrderByAndLimitcallsDeleteTransformerTest::testBuildDeleteWithPartitionIsBlockedcallsDeleteTransformerTest::testBuildDeleteWithSingleTargetReturnsSingleTablecallsDeleteTransformerTest::testBuildDeleteWithUsingClauseOverridesFromcallsDeleteTransformerTest::testBuildDeleteWithUsingSyntaxMultiTablecallsDeleteTransformerTest::testBuildDeleteWithWhereClausecallsDeleteTransformerTest::testBuildMultiDeleteResolvesAliasFromUsingcallsDeleteTransformerTest::testBuildProjectionAliasedFromResolvesAliascallsDeleteTransformerTest::testBuildProjectionEmptyColumnsUsesWildcardcallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithFromAliascallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithJoinAliascallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithNoColumnscallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithOrderByAndLimitcallsDeleteTransformerTest::testBuildProjectionExactSqlForDeleteWithUsingSyntaxcallsDeleteTransformerTest::testBuildProjectionExactSqlForMultiTargetDeletecallsDeleteTransformerTest::testBuildProjectionExactSqlForSimpleDeletecallsDeleteTransformerTest::testBuildProjectionFromClauseResolvesTargetTableNamecallsDeleteTransformerTest::testBuildProjectionMultiDeleteTargetFromUsingResolvesBothTablescallsDeleteTransformerTest::testBuildProjectionPartitionThrowsRuntimeExceptioncallsDeleteTransformerTest::testBuildProjectionWithJoinClausecallsDeleteTransformerTest::testBuildProjectionWithOrderByAndLimitcallsDeleteTransformerTest::testTransformDeleteColumnsFromTablesArgcallsDeleteTransformerTest::testTransformDeleteFromSimpleExactSqlcallsDeleteTransformerTest::testTransformDeleteMultiTableFromJoinExactOutputcallsDeleteTransformerTest::testTransformDeleteWithNoColumnsUsesWildcardcallsDeleteTransformerTest::testTransformDeleteWithShadowDataAddsCtecallsDeleteTransformerTest::testTransformDeleteWithShadowDataProducesCteSelectcallsDeleteTransformerTest::testTransformExactOutputWildcardWhenNoTableContextcallsDeleteTransformerTest::testTransformExactOutputWithEmptyRowscallsDeleteTransformerTest::testTransformExactOutputWithShadowDatacallsDeleteTransformerTest::testTransformMultiDeleteProjectsEveryTargetIdentitycallsDeleteTransformerTest::testTransformPreservesCaseWhereExpressioncallsDeleteTransformerTest::testTransformSimpleDeleteReturnsSelectcallsDeleteTransformerTest::testTransformThrowsForNonDeleteStatementcalls
Other tests reaching this symbol 241
RewriterBench::setUpcallsRewriteTarget::__invokecallsRobustnessTarget::__invokecallsMySqlSessionFactoryTestcallsMySqlRewriterTest::testAlterNonExistentTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testAlterTableAddColumnModifiesSchemacallsMySqlRewriterTest::testAlterTableChangeColumnRenamesColumncallsMySqlRewriterTest::testAlterTableDropColumnModifiesSchemacallsMySqlRewriterTest::testAlterTableModifyColumnModifiesSchemacallsMySqlRewriterTest::testAlterTableRenameRenamesTablecallsMySqlRewriterTest::testBuildTableContextColumnsFromStoreRowKeyscallsMySqlRewriterTest::testBuildTableContextIncludesRegistryDefinitionsNotInStorecallsMySqlRewriterTest::testBuildTableContextMergesShadowDataAndRegistryDefinitionscallsMySqlRewriterTest::testCommitRewriteStatecallsMySqlRewriterTest::testCompositeReadAllowsTablesWithoutSchemaContextcallsMySqlRewriterTest::testCompositeReadRejectsSelectIntocallsMySqlRewriterTest::testCompositeReadRejectsUnknownTableWithSchemaContextcallsMySqlRewriterTest::testCreateTableAsSelectCreatesTableWithDatacallsMySqlRewriterTest::testCreateTableIfNotExistsSkipsExistingTablecallsMySqlRewriterTest::testCreateTableLikeCopiesSchemacallsMySqlRewriterTest::testCreateTableLikeWithUnknownSourceThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testCreateTableMutationRegistersSchemacallsMySqlRewriterTest::testCreateTableReturnsDdlSimulatedcallsMySqlRewriterTest::testCreateTemporaryTableRegistersSchemacallsMySqlRewriterTest::testCteReferencesAreMatchedCaseInsensitivelyDuringSchemaValidationcallsMySqlRewriterTest::testDatabaseQualifiedSelectUsesShadowCtecallsMySqlRewriterTest::testDeleteReturnsWriteSimulatedWithMutationcallsMySqlRewriterTest::testDerivedTableKeepsNestedPhysicalRelationInShadowScopecallsMySqlRewriterTest::testDescribePassesThroughUnchangedcallsMySqlRewriterTest::testDropNonExistentTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testDropTableIfExistsSkipsNonExistentTablecallsMySqlRewriterTest::testDropTableMutationUnregistersSchemacallsMySqlRewriterTest::testDropTableReturnsDdlSimulatedcallsMySqlRewriterTest::testEmptyInputThrowsExceptioncallsMySqlRewriterTest::testEmptyResultSelectcallsMySqlRewriterTest::testExplainPassesThroughUnchangedcallsMySqlRewriterTest::testGeneratedExpressionIsPresentBeforeTheFirstShadowWritecallsMySqlRewriterTest::testHashCommentDoesNotCreateAPhantomSelectSourcecallsMySqlRewriterTest::testInsertReturnsWriteSimulatedWithMutationcallsMySqlRewriterTest::testInsertRewriteOutputContainsSelectcallsMySqlRewriterTest::testPartitionSelectionUsesDefinitionWithoutMaterializedRowscallsMySqlRewriterTest::testPartitionSelectionUsesRegisteredPartitionMetadatacallsMySqlRewriterTest::testReadPlanHasNoMutationcallsMySqlRewriterTest::testRegisteredViewIsKnownAndMaterializedcallsMySqlRewriterTest::testReplaceMutationInsertsNewRowcallsMySqlRewriterTest::testReplaceMutationReplacesExistingRowcallsMySqlRewriterTest::testReplaceWithEmptyValuesThrowsExceptioncallsMySqlRewriterTest::testReplaceWithMismatchedColumnCountThrowsExceptioncallsMySqlRewriterTest::testRewriteAlterTableAddColumnCreatesMutationcallsMySqlRewriterTest::testRewriteAlterTableAddConstraintThrowscallsMySqlRewriterTest::testRewriteAlterTableAddFulltextIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableAddIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableAddIndexThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableAddKeyThrowscallsMySqlRewriterTest::testRewriteAlterTableAddPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableAddSpatialIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableAnalyzePartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableCheckPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableCoalescePartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableConvertToCharsetThrowscallsMySqlRewriterTest::testRewriteAlterTableConvertToThrowscallsMySqlRewriterTest::testRewriteAlterTableDropConstraintThrowscallsMySqlRewriterTest::testRewriteAlterTableDropIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableDropIndexThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableDropKeyThrowscallsMySqlRewriterTest::testRewriteAlterTableDropPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableEngineThrowscallsMySqlRewriterTest::testRewriteAlterTableOptimizePartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableOrderByThrowscallsMySqlRewriterTest::testRewriteAlterTableOrderByThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableRebuildPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableRenameIndexThrowscallsMySqlRewriterTest::testRewriteAlterTableRenameIndexThrowsUnsupportedcallsMySqlRewriterTest::testRewriteAlterTableRenameKeyThrowscallsMySqlRewriterTest::testRewriteAlterTableRepairPartitionThrowscallsMySqlRewriterTest::testRewriteAlterTableSetDefaultThrowscallsMySqlRewriterTest::testRewriteAlterTableWithDropDefaultThrowscallsMySqlRewriterTest::testRewriteAlterTableWithOrderByThrowscallsMySqlRewriterTest::testRewriteAlterTableWithUnsupportedSetDefaultThrowscallsMySqlRewriterTest::testRewriteBuildTableContextMergesExtraColumnKeysFromRowscallsMySqlRewriterTest::testRewriteBuildTableContextWithDefinitionButNoRowscallsMySqlRewriterTest::testRewriteBuildTableContextWithRowsButNoDefinitioncallsMySqlRewriterTest::testRewriteCreateTableAsSelectCreatesMutationcallsMySqlRewriterTest::testRewriteCreateTableAsSelectTransformsCtecallsMySqlRewriterTest::testRewriteCreateTableAsSelectTransformsSelectPartcallsMySqlRewriterTest::testRewriteCreateTableCreatesMutationcallsMySqlRewriterTest::testRewriteCreateTableLikeCreatesMutationcallsMySqlRewriterTest::testRewriteCreateTableThatAlreadyExistsThrowscallsMySqlRewriterTest::testRewriteCreateTemporaryTableCreatesMutationcallsMySqlRewriterTest::testRewriteDeleteCreatesMutationcallsMySqlRewriterTest::testRewriteDeleteEnsuresDmlTableInShadowStorecallsMySqlRewriterTest::testRewriteDeleteEnsuresDmlTablesArePresentInStorecallsMySqlRewriterTest::testRewriteDropTableCreatesMutationcallsMySqlRewriterTest::testRewriteEmptySqlThrowscallsMySqlRewriterTest::testRewriteEmptyStatementThrowscallsMySqlRewriterTest::testRewriteForbiddenStatementThrowsExceptioncallsMySqlRewriterTest::testRewriteInsertCreatesMutationcallsMySqlRewriterTest::testRewriteInsertIgnoreCreatesInsertMutationWithIgnorecallsMySqlRewriterTest::testRewriteInsertUsesDefaultsFromRegistryWithoutShadowRowscallsMySqlRewriterTest::testRewriteInsertUsesIdentityStrategyFromRegistryWithoutShadowRowscallsMySqlRewriterTest::testRewriteInsertWithOnDuplicateKeyUpdateCreatesUpsertMutationcallsMySqlRewriterTest::testRewriteIsDeterministiccallsMySqlRewriterTest::testRewriteMultipleEmptySqlThrowscallsMySqlRewriterTest::testRewriteMultipleProcessesEachStatementcallsMySqlRewriterTest::testRewriteMultipleStatementscallsMySqlRewriterTest::testRewriteMultipleStatementsThrowsExceptioncallsMySqlRewriterTest::testRewriteMultipleUsesLexicalStatementBoundariescallsMySqlRewriterTest::testRewriteMultipleWithForbiddenStatementThrowsExceptioncallsMySqlRewriterTest::testRewriteOutputIsNonEmptycallsMySqlRewriterTest::testRewriteReadAddsCtecallsMySqlRewriterTest::testRewriteReadWithRegistryButNoShadowStoreDataAddsCtesForKnownTablescallsMySqlRewriterTest::testRewriteReplaceCreatesMutationcallsMySqlRewriterTest::testRewriteReplaceWithColumnsDefinedcallsMySqlRewriterTest::testRewriteReplaceWithColumnsExplicitDoesNotThrowcallsMySqlRewriterTest::testRewriteReplaceWithColumnsSpecifiedDoesNotThrowcallsMySqlRewriterTest::testRewriteReplaceWithColumnsSucceedscallsMySqlRewriterTest::testRewriteReplaceWithNoColumnsAndNoStoreOrRegistryThrowscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsButWithDefinitionSucceedscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsButWithShadowDataSucceedscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsOrContextThrowscallsMySqlRewriterTest::testRewriteReplaceWithoutColumnsThrowsWhenNoContextcallsMySqlRewriterTest::testRewriteReplaceWithStoreContextDoesNotThrowcallsMySqlRewriterTest::testRewriteReplaceWithStoreDataDoesNotThrowcallsMySqlRewriterTest::testRewriteSelectNoSchemaContextDoesNotCheckUnknownTablescallsMySqlRewriterTest::testRewriteSelectNoSchemaContextDoesNotThrowcallsMySqlRewriterTest::testRewriteSelectWithJoinAndUnknownTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testRewriteSelectWithJoinDetectsUnknownJoinTablecallsMySqlRewriterTest::testRewriteSelectWithJoinedUnknownTableThrowscallsMySqlRewriterTest::testRewriteSelectWithNoSchemaContextDoesNotThrowcallsMySqlRewriterTest::testRewriteSelectWithUnknownJoinTableThrowsWhenSchemaContextExistscallsMySqlRewriterTest::testRewriteSelectWithUnknownTableThrowscallsMySqlRewriterTest::testRewriteSelectWithUnknownTableThrowsUnknownSchemaExceptioncallsMySqlRewriterTest::testRewriteSelectWithUnknownTableThrowsWhenSchemaContextExistscallsMySqlRewriterTest::testRewriteSingleStatementStillWorkscallsMySqlRewriterTest::testRewritesSingleSetExpressionsWithoutTreatingThemAsMultipleStatementscallsMySqlRewriterTest::testRewriteTruncateCreatesMutationcallsMySqlRewriterTest::testRewriteTruncateReturnsFalseSelectcallsMySqlRewriterTest::testRewriteUpdateCreatesMutationcallsMySqlRewriterTest::testRewriteUpdateEnsuresDmlTableInShadowStorecallsMySqlRewriterTest::testRewriteUpsertUsesCandidateKeysForStoredTableContextcallsMySqlRewriterTest::testRewriteWithStatementDeleteIgnoresHashCommentsAroundItsCteHeadercallsMySqlRewriterTest::testRewriteWithStatementInsertResolvesItsInnerMutationcallsMySqlRewriterTest::testRewriteWithStatementSelectUsesClassifycallsMySqlRewriterTest::testSelectReturnsReadKindcallsMySqlRewriterTest::testShowCreateTablePassesThroughUnchangedcallsMySqlRewriterTest::testSplitStatementscallsMySqlRewriterTest::testTransactionStatementcallsMySqlRewriterTest::testTruncateMutationClearsTablecallsMySqlRewriterTest::testUnknownTableAfterDeclaredCteIsRejectedcallsMySqlRewriterTest::testUnsupportedSqlThrowsExceptioncallsMySqlRewriterTest::testUpdateDoesNotPromoteMaterializedUnknownTablecallsMySqlRewriterTest::testUpdateReturnsWriteSimulatedWithMutationcallsMySqlRewriterTest::testWritePlanHasNonNullMutationcallsStatementRewriterTest::testMutationStatementcallsStatementRewriterTest::testRewriteStatementcallsMySqlTransformerTest::testCommitRewriteStatecallsMySqlTransformerTest::testTransformDeleteDelegatesToDeleteTransformercallsMySqlTransformerTest::testTransformInsertDelegatesToInsertTransformercallsMySqlTransformerTest::testTransformReplaceDelegatesToReplaceTransformercallsMySqlTransformerTest::testTransformSelectPassthroughcallsMySqlTransformerTest::testTransformSelectWithShadowDatacallsRowMutationResolverTest::testMultiTableTargetscallsRowMutationResolverTest::testResolveDeletecallsRowMutationResolverTest::testResolveInsertcallsRowMutationResolverTest::testResolveReplacecallsRowMutationResolverTest::testResolveUpdatecallsMySqlMutationResolverTest::testCreateTableIfNotExistsWhenExistscallsMySqlMutationResolverTest::testCreateTableLikeThrowsForUnknownSourcecallsMySqlMutationResolverTest::testCreateTableWithoutIfNotExistsThrowsWhenExistscallsMySqlMutationResolverTest::testDeleteEnsuresTableInShadowStorecallsMySqlMutationResolverTest::testDeleteUsesColumnsFromShadowStorecallsMySqlMutationResolverTest::testDropTableIfExistsWhenNotExistscallsMySqlMutationResolverTest::testDropTableWithoutIfExistsThrowsWhenNotExistscallsMySqlMutationResolverTest::testInsertIgnoreReturnsInsertMutationcallsMySqlMutationResolverTest::testInsertOnDuplicateKeyUpdateReturnsUpsertcallsMySqlMutationResolverTest::testInsertOnDuplicateKeyUpdateWithQualifiedColumncallsMySqlMutationResolverTest::testMultiDeleteEnsuresTablesInStorecallsMySqlMutationResolverTest::testMultiTableUpdateEnsuresTablesInStorecallsMySqlMutationResolverTest::testResolveAlterTableReturnsAlterTableMutationcallsMySqlMutationResolverTest::testResolveAlterTableThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsAliasedAndExprColumnscallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsColumnsFromAliasedExprscallsMySqlMutationResolverTest::testResolveCreateTableAsSelectExtractsPlainColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableAsSelectHandlesExpressionWithoutAliascallsMySqlMutationResolverTest::testResolveCreateTableAsSelectReturnsCreateTableAsSelectMutationcallsMySqlMutationResolverTest::testResolveCreateTableAsSelectWithColumnNamescallsMySqlMutationResolverTest::testResolveCreateTableIfNotExistsDoesNotThrowForExistingTablecallsMySqlMutationResolverTest::testResolveCreateTableIfNotExistsSkipsWhenExistscallsMySqlMutationResolverTest::testResolveCreateTableLikecallsMySqlMutationResolverTest::testResolveCreateTableLikeReturnsCreateTableLikeMutationcallsMySqlMutationResolverTest::testResolveCreateTableReturnsCreateTableMutationcallsMySqlMutationResolverTest::testResolveDeleteEnsuresTargetTableInStorecallsMySqlMutationResolverTest::testResolveDeleteMultiTableReturnsMultiDeleteMutationcallsMySqlMutationResolverTest::testResolveDeleteReturnsDeleteMutationcallsMySqlMutationResolverTest::testResolveDeleteThrowsWhenNoSchemaContextExistscallsMySqlMutationResolverTest::testResolveDeleteUsesColumnsFromRegistryWhenStoreEmptycallsMySqlMutationResolverTest::testResolveDeleteUsesColumnsFromShadowStoreFirstcallsMySqlMutationResolverTest::testResolveDeleteWithShadowDataButNoDefinitioncallsMySqlMutationResolverTest::testResolveDeleteWithSingleTargetReturnsPrimaryKeyscallsMySqlMutationResolverTest::testResolveDropTableIfExistsDoesNotThrowcallsMySqlMutationResolverTest::testResolveDropTableReturnsDropTableMutationcallsMySqlMutationResolverTest::testResolveDropTableWithIfExistsDoesNotThrowForMissingTablecallsMySqlMutationResolverTest::testResolveDropTableWithoutIfExistsThrowsForMissingTablecallsMySqlMutationResolverTest::testResolveInsertIgnoreIncludesPrimaryKeyscallsMySqlMutationResolverTest::testResolveInsertIgnoreProducesInsertMutationcallsMySqlMutationResolverTest::testResolveInsertIgnoreReturnsInsertMutationWithIgnorecallsMySqlMutationResolverTest::testResolveInsertIgnoreReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveInsertIgnoreWithoutDefinitionReturnEmptyPkscallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyExtractsQualifiedColumnNamecallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyExtractsUpdateColumnscallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyReturnsUpsertMutationcallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithBacktickedColumncallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithDottedColumncallsMySqlMutationResolverTest::testResolveInsertOnDuplicateKeyWithoutRegisteredSchemacallsMySqlMutationResolverTest::testResolveInsertReturnsInsertMutationcallsMySqlMutationResolverTest::testResolveInsertWithOnDuplicateKeyReturnsUpsertMutationcallsMySqlMutationResolverTest::testResolveInsertWithQualifiedOnDuplicateKeycallsMySqlMutationResolverTest::testResolveMultiDeleteEnsuresAllTablesInStorecallsMySqlMutationResolverTest::testResolveMultiDeleteReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveMultiDeleteThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveMultiUpdateReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveMultiUpdateThrowsForUnknownTablecallsMySqlMutationResolverTest::testResolveReplaceReturnsPrimaryKeysFromRegistrycallsMySqlMutationResolverTest::testResolveReplaceReturnsReplaceMutationcallsMySqlMutationResolverTest::testResolveReplaceWithoutRegisteredSchemacallsMySqlMutationResolverTest::testResolveReturnsNullForUnhandledStatementcallsMySqlMutationResolverTest::testResolveRowAliasUpsertAppliesIncomingColumnscallsMySqlMutationResolverTest::testResolveSelectReturnsNullcallsMySqlMutationResolverTest::testResolveTruncateReturnsTruncateMutationcallsMySqlMutationResolverTest::testResolveUpdateMultiTableReturnsMultiUpdateMutationcallsMySqlMutationResolverTest::testResolveUpdateMultiTableReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testResolveUpdateReturnsUpdateMutationcallsMySqlMutationResolverTest::testResolveUpdateThrowsWhenNoSchemaAvailablecallsMySqlMutationResolverTest::testResolveUpdateUsesColumnsFromRegistryWhenStoreEmptycallsMySqlMutationResolverTest::testResolveUpdateUsesColumnsFromShadowStoreFirstcallsMySqlMutationResolverTest::testResolveUpdateWithShadowDataButNoDefinitioncallsMySqlMutationResolverTest::testResolveUpsertReturnsPrimaryKeysFromDefinitioncallsMySqlMutationResolverTest::testUpdateDoesNotTreatRowsFromUnknownInsertAsSchemacallsMySqlMutationResolverTest::testUpdateEnsuresTableInShadowStorecallsMySqlMutationResolverTest::testUpdateUsesColumnsFromStoreWhenAvailablecalls
Relations§
Instantiated in 1
Method calls 3
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:78
- method-call ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer::transform() packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:97
- method-call ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver::resolveDelete() packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:107
Type declarations 5
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:30
- type ZtdQuery\Platform\MySql\Rewrite\Transformer\MySqlTransformer packages/ztd-query-mysql/src/Rewrite/Transformer/MySqlTransformer.php:42
- type ZtdQuery\Platform\MySql\Shadow\Mutation\Row\RowMutationResolver packages/ztd-query-mysql/src/Shadow/Mutation/Row/RowMutationResolver.php:41
- type ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:38
- type ZtdQuery\Platform\MySql\Shadow\MySqlMutationResolver packages/ztd-query-mysql/src/Shadow/MySqlMutationResolver.php:48